# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 PortGroup mpi 1.0 name omnicompiler version 1.0.2 categories lang devel parallel maintainers takeshi openmaintainer description code transformation compilers for C, Fortran and OpenACC license LGPL-2.1 long_description \ Omni compiler is a collection of programs and libraries \ that allow users to build code transformation compilers. \ Omni Compiler is to translate C and Fortran programs \ with XcalableMP and/or OpenACC directives into parallel code \ suitable for compiling with a native compiler \ linked with the Omni Compiler runtime library. homepage http://omni-compiler.org platforms darwin # Following error occurs on i386 systems # In file included from ompc_thread.c:31:0: # ompclib.h:209:14: error: size of array '_padding' is too large # char _padding[CACHE_LINE_SIZE-sizeof(int)-sizeof(any_type)]; # ^ supported_archs x86_64 master_sites ${homepage}/download/stable/ checksums rmd160 5a0fe2b1f74c8692a13665e7d00a2ef770b3f96c \ sha256 12d479a30c99deb341a9b773d5a5dcb9340bd1504640d87375441df49b7af4fb use_bzip2 yes compilers.choose cc fc mpi.setup require -clang -dragonegg -g95 -gfortran -llvm if {[variant_isset coarray]} { mpi.enforce_variant GASNet } depends_build port:apache-ant \ port:bison \ port:flex \ port:coreutils \ bin:base64:base64 depends_lib port:gmp \ port:libxml2 \ port:vecLibFort patchfiles patch-C-BackEnd-Makefile.in.diff \ patch-C-FrontEnd-src-Makefile.in.diff \ patch-Driver-atool-Makefile.in.diff \ patch-Driver-src-Makefile.in.diff \ patch-F-BackEnd-Makefile.in.diff \ patch-F-FrontEnd-gnu_module-Makefile.in.diff \ patch-F-FrontEnd-src-Makefile.in.diff \ patch-XcodeML-Common-Makefile.in.diff \ patch-XcodeML-Exc-Tools-Makefile.in.diff \ patch-libacc-include-Makefile.in.diff \ patch-libacc-src-Makefile.in.diff \ patch-libompc-src-Makefile.in.diff \ patch-libompf-src-Makefile.in.diff \ patch-libtlog-src_mpi-Makefile.in.diff \ patch-libtlog-src_threads-Makefile.in.diff \ patch-libxmp-include-Makefile.in.diff \ patch-libxmp-src-Makefile.in.diff \ patch-libxmp-src_threads-Makefile.in.diff \ patch-libxmpf-include-Makefile.in.diff \ patch-libxmpf-src-Makefile.in.diff use_parallel_build no if {![gcc_variant_isset]} { default_variants-append +gcc6 } set mpi [mpi_variant_name] set cmp [gcc_variant_name] if {${cmp} == ""} { set cmp mp } pre-configure { configure.env MPI_CC=${configure.cc} \ MPI_FC=${configure.fc} } configure.args-append \ --prefix=${prefix}/lib/${name} \ --disable-dependency-tracking \ --disable-xmpgpu \ --with-libblas=${prefix}/lib/libvecLibFort.dylib \ --with-cppflag=${configure.cppflags} \ --with-backend-cc=${prefix}/bin/mpicc-${mpi}-${cmp} \ --with-backend-cflag=${configure.cflags} \ --with-backend-fc=${prefix}/bin/mpif90-${mpi}-${cmp} \ --with-gmp-lib=${prefix}/lib \ --with-gmp-include=${prefix}/include \ --with-libxml=${prefix} variant coarray description {enable support for Coarray} { depends_build-append port:GASNet configure.args-append --with-gasnet=${prefix} \ --with-gasnet-conduit=mpi } #variant openacc description {enable support for OpenACC (requires CUDA installation at /usr/local/cuda)} { # configure.args-append --enable-openacc \ # --with-gpucc=/usr/local/cuda/bin/nvcc \ # --with-cuda=/usr/local/cuda #} notes \ "${name} is installed in ${prefix}/lib/${name}."