diff options
author | Toyohisa Kameyama <fj5358cc@fujitsu.com> | 2022-02-05 04:54:39 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-04 11:54:39 -0800 |
commit | 797c061743a33d21af3748eb824f950c193042e0 (patch) | |
tree | 44cfab4fa1cba27304ac898f4271046574f42cdd | |
parent | c29e6dbd20a9fc5806a2af2f822d925411739463 (diff) | |
download | spack-797c061743a33d21af3748eb824f950c193042e0.tar.gz spack-797c061743a33d21af3748eb824f950c193042e0.tar.bz2 spack-797c061743a33d21af3748eb824f950c193042e0.tar.xz spack-797c061743a33d21af3748eb824f950c193042e0.zip |
openfdtd: add version 2.6.3, 2.7.1, 2.7.3 and support Fujitsu Compiler. (#28472)
-rw-r--r-- | var/spack/repos/builtin/packages/openfdtd/package.py | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/openfdtd/package.py b/var/spack/repos/builtin/packages/openfdtd/package.py index 33a957bd79..15e7d3e675 100644 --- a/var/spack/repos/builtin/packages/openfdtd/package.py +++ b/var/spack/repos/builtin/packages/openfdtd/package.py @@ -16,18 +16,35 @@ class Openfdtd(MakefilePackage): homepage = "http://www.e-em.co.jp/OpenFDTD/" url = "http://www.e-em.co.jp/OpenFDTD/OpenFDTD.zip" + version('2.7.3', sha256='22171d1dd74b4e48299b0d0c69ca933aac89d4eb77c59f579af35861eaca0faa') + version('2.7.1', sha256='3fb5fbeca3dc63243a6dc116d0f3ce3d1a854b4813f3928812ae99e07575ab1a') + version('2.6.3', sha256='1551cce7f96c1c53ad5d5e676bce2b26fd1593dd5f492a801e976a8a65a42a00') version('2.6.0', sha256='92f7b92dc55ff6d8fc8c31eda77ca10fe25a5f54b002f2523a3d67f485d77e9f') - version('2.3.0', sha256='10ac70f2ed7160da87dd9222a5a17ca7b72365ee886235359afc48c4fb7b4be4', - url='http://www.e-em.co.jp/OpenFDTD/old/OpenFDTD_230.zip') + version('2.3.0', sha256='10ac70f2ed7160da87dd9222a5a17ca7b72365ee886235359afc48c4fb7b4be4') variant('mpi', default=False, description='Build with MPI Support') depends_on('mpi', when='+mpi') + def url_for_version(self, version): + url = self.url + if version < Version('2.7.3'): + url = 'http://www.e-em.co.jp/OpenFDTD/old/OpenFDTD_{0}.zip' + return url.format(version.joined) + def edit(self, spec, prefix): - filter_file('gcc', spack_cc, './src/Makefile_gcc') - if '+mpi' in self.spec: - filter_file('mpicc', spec['mpi'].mpicc, './mpi/Makefile_gcc') + makefiles = [join_path('src', 'Makefile_gcc')] + if spec.satisfies('+mpi'): + makefiles.append(join_path('mpi', 'Makefile_gcc')) + for makefile in makefiles: + m = FileFilter(makefile) + m.filter('gcc', spack_cc) + m.filter('-fopenmp', self.compiler.openmp_flag) + if spec.satisfies('+mpi'): + m.filter('mpicc', spec['mpi'].mpicc) + if spec.satisfies('%fj'): + m.filter('-Ofast', '-Kfast,ocl -D_VECTOR') + m.filter('-O2', '-Kfast,ocl -D_VECTOR') # Openfdtd has "Makefile" and "Makefile_gcc". # "Makefile" is used only in Windows development environment. |