From: Augustin Degomme Date: Thu, 14 Mar 2013 12:41:04 +0000 (+0100) Subject: new attempt to stabilize the use of underscores on f90/f77/f2c X-Git-Tag: v3_9_90~412^2~70 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/f58c9bcd23aa191e8071a41450d00dda0d182e34 new attempt to stabilize the use of underscores on f90/f77/f2c --- diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index 85338dd29e..b3cfb99f0b 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -519,7 +519,7 @@ XBT_PUBLIC(void*) smpi_shared_set_call(const char* func, const char* input, void /* Fortran specific stuff */ XBT_PUBLIC(int) __attribute__((weak)) smpi_simulated_main_(int argc, char** argv); -XBT_PUBLIC(int) __attribute__((weak)) MAIN_(void); +XBT_PUBLIC(int) __attribute__((weak)) MAIN__(void); XBT_PUBLIC(int) smpi_main(int (*realmain) (int argc, char *argv[]),int argc, char *argv[]); XBT_PUBLIC(void) __attribute__((weak)) user_main_(void); diff --git a/src/smpi/smpi_global.c b/src/smpi/smpi_global.c index c29b2b630d..ab6e4b21e6 100644 --- a/src/smpi/smpi_global.c +++ b/src/smpi/smpi_global.c @@ -307,7 +307,7 @@ int __attribute__((weak)) main(int argc, char** argv) { return smpi_main(smpi_simulated_main_,argc,argv); } -int __attribute__((weak)) MAIN_(){ +int __attribute__((weak)) MAIN__(){ return smpi_main(smpi_simulated_main_,xargc, xargv); }; #endif diff --git a/src/smpi/smpicc.in b/src/smpi/smpicc.in index 03c26b3404..36ddd2b0fb 100755 --- a/src/smpi/smpicc.in +++ b/src/smpi/smpicc.in @@ -6,7 +6,7 @@ INCLUDEARGS="@includeflag@" CMAKE_LINKARGS="-L@libdir@" if [ "@WIN32@" != "1" ]; then - CFLAGS="-Dmain=smpi_simulated_main__" + CFLAGS="-Dmain=smpi_simulated_main_" LINKARGS="-lsimgrid" else CFLAGS="-include @includedir@/smpi/smpi_main.h" diff --git a/src/smpi/smpif2c.in b/src/smpi/smpif2c.in index 2b77445d46..4b99f2b946 100755 --- a/src/smpi/smpif2c.in +++ b/src/smpi/smpif2c.in @@ -55,6 +55,7 @@ foreach my $fortran (@ARGV) { if(/extern \/\* Subroutine \*\//) { $cutext = 1; } + $_ =~ s/(mpi_[\w]*_)_/$1/g; if($cutext) { if(/;$/) { $cutext = 0; @@ -62,7 +63,7 @@ foreach my $fortran (@ARGV) { next; } if(/\/* Main program alias \*\/\s*int\s+.*\s*\(\s*\)\s*{(.*)}/) { - $_ = "int smpi_simulated_main__(int argc, char** argv) { smpi_process_init(&argc, &argv); $1 }\n"; + $_ = "int smpi_simulated_main_(int argc, char** argv) { smpi_process_init(&argc, &argv); $1 }\n"; } print $tmp "$_\n"; } diff --git a/src/smpi/smpiff.in b/src/smpi/smpiff.in index b86184bd96..a77da10e4e 100644 --- a/src/smpi/smpiff.in +++ b/src/smpi/smpiff.in @@ -32,7 +32,7 @@ then do CFILE="${SRCFILE%.f}.c" #echo "$prefix/bin/smpif2c ${SRCFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE}" - $prefix/bin/smpif2c ${SRCFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} + $prefix/bin/smpif2c ${SRCFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} done else #echo "$prefix/bin/smpicc ${ARGS}"