On 9/09/2011 10:01 PM, Marcin Zielinski wrote:
Ok, giving -DGMX_ACCELERATE=Power6 results with:

src/config.h
/* Define to a macro mangling the given C identifier (in lower and upper
case), which must not contain underscores, for linking with Fortran. */
#define F77_FUNC(name,NAME)      name ##

/* As F77_FUNC, but for C identifiers containing underscores. */
#define F77_FUNC_(name,NAME)     name ##

which, after issuing make, results with an error message at the very beginning: "/home/grmcs454/gromacsdir/test-build/src/config.h", line 45.39: 1506-210 (S) The ## operator requires two operands. "/home/grmcs454/gromacsdir/test-build/src/config.h", line 48.39: 1506-210 (S) The ## operator requires two operands.

I checked cmake/CMakeLists.txt and '##' are put explicitly therefor they will be present with _ afterwards or without it, thus giving this error every time You put Power6 or Fortran option on.
As far as I understand.

They make sense if $suffix is non-empty, but it can be empty, so it looks like someone didn't code this right. If the patch below works, let me know and I'll fix the source version.

Mark

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f26734d..a59a1de 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -636,13 +636,24 @@ if(GMX_FORTRAN OR GMX_POWER6)
     if(prefix)
       set(prefix "${prefix} ##")
     endif(prefix)
+    if(suffix)
+      set(suffix "## ${suffix}")
+      if(extrasuffix)
+       set(extrasuffix "${suffix}${extrasuffix}")
+      endif(extrasuffix)
+    else(suffix)
+      if(extrasuffix)
+       # Don't know if this is needed, but it can't hurt
+       set(extrasuffix "## ${extrasuffix}")
+      endif(extrasuffix)
+    endif(suffix)

     if(isupper)
-        set(F77_FUNCDEF   "${prefix} NAME ## ${suffix}")
-        set(F77_FUNCDEF_  "${prefix} NAME ## ${suffix}${extrasuffix}")
+        set(F77_FUNCDEF   "${prefix} NAME ${suffix}")
+        set(F77_FUNCDEF_  "${prefix} NAME ${extrasuffix}")
     else(isupper)
-        set(F77_FUNCDEF   "${prefix} name ## ${suffix}")
-        set(F77_FUNCDEF_  "${prefix} name ## ${suffix}${extrasuffix}")
+        set(F77_FUNCDEF   "${prefix} name ${suffix}")
+        set(F77_FUNCDEF_  "${prefix} name ${extrasuffix}")
     endif(isupper)
 else(GMX_FORTRAN OR GMX_POWER6)
         set(F77_FUNCDEF   "name ## _")

--
gmx-users mailing list    gmx-users@gromacs.org
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at 
http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org.
Can't post? Read http://www.gromacs.org/Support/Mailing_Lists

Reply via email to