[92004] trunk/dports/lang

takeshi at macports.org takeshi at macports.org
Sun Apr 15 15:06:29 PDT 2012


Revision: 92004
          https://trac.macports.org/changeset/92004
Author:   takeshi at macports.org
Date:     2012-04-15 15:06:29 -0700 (Sun, 15 Apr 2012)
Log Message:
-----------
omnixmp: adding XcalableMP

Added Paths:
-----------
    trunk/dports/lang/omnixmp/
    trunk/dports/lang/omnixmp/Portfile
    trunk/dports/lang/omnixmp/files/
    trunk/dports/lang/omnixmp/files/patch-c-expr.c.diff
    trunk/dports/lang/omnixmp/files/patch-configure.diff
    trunk/dports/lang/omnixmp/files/patch-ompc_thread.c.diff

Added: trunk/dports/lang/omnixmp/Portfile
===================================================================
--- trunk/dports/lang/omnixmp/Portfile	                        (rev 0)
+++ trunk/dports/lang/omnixmp/Portfile	2012-04-15 22:06:29 UTC (rev 92004)
@@ -0,0 +1,68 @@
+# -*- 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
+
+name                omnixmp
+version             0.5.4
+categories          lang devel parallel
+maintainers         takeshi
+description         Omni OpenMP/XcalableMP Compiler
+license             LGPL-2.1
+long_description \
+    Omni OpenMP/XcalableMP Compiler
+homepage            http://www.xcalablemp.org/
+platforms           darwin
+master_sites        ${homepage}/xmp_files/
+
+checksums           rmd160  ba684fab05adccf0fa74eddfe676ca2bcbef3621 \
+                    sha256  234202058c4c214b99eeb0c434c466ddf1d18bbf3fc12e4170bcf764fd19ef18
+
+depends_lib         port:openmpi \
+                    port:flex \
+                    port:gmp \
+                    port:libxml2
+
+worksrcdir          xmp-${version}
+patchfiles          patch-configure.diff \
+                    patch-ompc_thread.c.diff \
+                    patch-c-expr.c.diff
+
+post-patch {
+    if {${build_arch}=="x86_64"} {
+        reinplace "s|CPU=i386|CPU=x86_64|g" ${worksrcpath}/configure
+    }
+}
+
+configure.args      --prefix=${prefix}/lib/${name} \
+                    --disable-xmpgpu \
+                    --with-gmpLibDir=${prefix}/lib \
+                    --with-gmpIncDir=${prefix}/include \
+                    --with-mpicc=${prefix}/lib/openmpi/bin/mpicc \
+                    --with-cflag=${configure.cflags} \
+                    --with-cppflag="${configure.cppflags} -I${prefix}/include/libxml2 -I/usr/include -DSIMPLE_SPIN"
+
+if {![variant_isset g95] && ![variant_isset gcc44]} {
+    default_variants    +gcc45
+}
+
+use_parallel_build  no
+
+variant g95 conflicts gcc44 gcc45 description {use g95 as backend fortran compiler} {
+    depends_lib     port:g95
+    configure.fc    ${prefix}/bin/g95
+}
+
+variant gcc44 conflicts g95 gcc45 description {use gfortran-mp-4.4 as backend fortran compiler} {
+    depends_lib     port:gcc44
+    configure.compiler  macports-gcc-4.4
+}
+
+variant gcc45 conflicts g95 gcc44 description {use gfortran-mp-4.5 as backend fortran compiler} {
+    depends_lib         port:gcc45
+    configure.compiler  macports-gcc-4.5
+}
+
+notes \
+   ${name} is installed in ${prefix}/lib/${name}.\n\
+   Add ${prefix}/lib/${name}/bin to PATH.

Added: trunk/dports/lang/omnixmp/files/patch-c-expr.c.diff
===================================================================
--- trunk/dports/lang/omnixmp/files/patch-c-expr.c.diff	                        (rev 0)
+++ trunk/dports/lang/omnixmp/files/patch-c-expr.c.diff	2012-04-15 22:06:29 UTC (rev 92004)
@@ -0,0 +1,11 @@
+--- C-FrontEnd/src/c-expr.c.orig	2012-04-15 17:44:36.000000000 +0900
++++ C-FrontEnd/src/c-expr.c	2012-04-15 17:46:18.000000000 +0900
+@@ -1309,7 +1309,7 @@
+         int len = strlen(orgToken);
+         char digits[len + 1];
+ 
+-        if(orgToken[0] == '0') {
++        if(orgToken[0] == '0' && len > 2) {
+             char c = orgToken[1];
+             if(c == 'x' || c == 'X' || c == 'b' || c == 'B')
+                 strcpy(digits, orgToken + 2); // hex, bin

Added: trunk/dports/lang/omnixmp/files/patch-configure.diff
===================================================================
--- trunk/dports/lang/omnixmp/files/patch-configure.diff	                        (rev 0)
+++ trunk/dports/lang/omnixmp/files/patch-configure.diff	2012-04-15 22:06:29 UTC (rev 92004)
@@ -0,0 +1,38 @@
+--- configure.orig	2012-04-15 17:49:51.000000000 +0900
++++ configure	2012-04-15 17:52:07.000000000 +0900
+@@ -5051,7 +5051,7 @@
+ 
+ chk=`$BECC --version | head -n1`
+ case $chk in
+-gcc*)
++*gcc* | *clang*)
+     OMC_CONF_LX2X_OPT=""
+     OMC_CONF_NTV_OPT="-std=gnu99 -Wno-implicit"
+     OMC_CONF_LNK_OPT=""
+@@ -5301,7 +5301,7 @@
+     if test "$BEFC" != ""; then
+         chk=`$BEFC --version | head -n1`
+         case $chk in
+-        GNU*)
++        GNU* | G95*)
+             OMF_CONF_LX2X_OPT="-gnu"
+             OMF_CONF_NTV_OPT="-ffree-form"
+             OMF_CONF_LNK_OPT=""
+@@ -9229,7 +9229,7 @@
+     # check size of mp_limb_t
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of GNU-MP mp_limb_t" >&5
+ $as_echo_n "checking size of GNU-MP mp_limb_t... " >&6; }
+-    lSz=`qcCC utils/csMPlimb.c ./csMPlimb`
++    lSz=`qcCC buildutils/csMPlimb.c ./csMPlimb`
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lSz}" >&5
+ $as_echo "${lSz}" >&6; }
+     omniLimbT=""
+@@ -9254,7 +9254,7 @@
+     # check how many mp_limb_t the GNU-MP needed for N bit precision.
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking how many mp_limb_t needed for $omniQPrec bit precision" >&5
+ $as_echo_n "checking how many mp_limb_t needed for $omniQPrec bit precision... " >&6; }
+-    omniQRealPrecInLimb=`qcCC utils/cMPlb.c ./cMPlb '' $omniQPrec`
++    omniQRealPrecInLimb=`qcCC buildutils/cMPlb.c ./cMPlb '' $omniQPrec`
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $omniQRealPrecInLimb" >&5
+ $as_echo "$omniQRealPrecInLimb" >&6; }
+     cat >>confdefs.h <<_ACEOF

Added: trunk/dports/lang/omnixmp/files/patch-ompc_thread.c.diff
===================================================================
--- trunk/dports/lang/omnixmp/files/patch-ompc_thread.c.diff	                        (rev 0)
+++ trunk/dports/lang/omnixmp/files/patch-ompc_thread.c.diff	2012-04-15 22:06:29 UTC (rev 92004)
@@ -0,0 +1,16 @@
+--- libompc/src/ompc_thread.c.orig	2012-04-15 17:29:40.000000000 +0900
++++ libompc/src/ompc_thread.c	2012-04-15 17:30:52.000000000 +0900
+@@ -262,11 +262,11 @@
+      */
+     ompc_max_threads = ompc_num_threads;
+ 
+-#ifdef USE_PTHREAD
++#ifdef USE_PTHREAD_BARRIER
+     pthread_barrier_init(&ompc_thd_bar, 0, ompc_num_threads);
+ #endif
+ 
+-#if defined(OMNI_OS_IRIX) && defined(USE_PTHREAD)
++#if (defined(OMNI_OS_IRIX) || defined(OMNI_OS_DARWIN)) && defined(USE_PTHREAD)
+     pthread_setconcurrency(ompc_max_threads);
+ #endif /* OMNI_OS_IRIX && USE_PTHREAD */
+ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120415/58b09c07/attachment-0001.html>


More information about the macports-changes mailing list