-# $1: prefix, $2: suffix
-mymktemp () {
- tmp=$(mktemp --suffix="$2" "$1_XXXXXXXXXX" 2> /dev/null)
- if [ -z "$tmp" ]; then
- # mktemp failed (unsupported --suffix ?), try unsafe mode
- tmp=$(mktemp -u "$1_XXXXXXXXXX" 2> /dev/null)
- if [ -z "$tmp" ]; then
- # mktemp failed again (doesn't exist ?), try very unsafe mode
- tmp="$1_$$x$RANDOM"
- fi
- tmp="${tmp}$2"
- # create temp file, and exit if it existed before
- sh -C -c "true > \"${tmp}\"" || exit 1
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the license (GNU LGPL) which comes with this package.
+
+SIMGRID_VERSION="@SIMGRID_VERSION_STRING@"
+SIMGRID_GITHASH="@SIMGRID_GITHASH@"
+
+REAL_FORTRAN_COMPILER=@SMPI_Fortran_COMPILER@
+
+INCLUDEARGS="@includeflag@"
+CMAKE_LINKARGS="-L@libdir@"
+
+@SMPITOOLS_SH@
+
+list_set FFLAGS @SMPI_Fortran_FLAGS@
+list_set LINKARGS "-lsimgrid" @SMPI_Fortran_LIBS@ "-lm"
+if [ "x${SMPI_PRETEND_CC}" = "x" ]; then
+ list_add LINKARGS "-shared"
+else
+ echo "Warning: smpiff pretends to be a regular compiler (SMPI_PRETEND_CC is set). Produced binaries will not be usable in SimGrid."
+fi
+list_set TMPFILES
+main_name=main
+
+cleanup () {
+ eval $(list_get TMPFILES)
+ rm -f "$@"
+}
+trap 'cleanup' EXIT
+
+filter_and_compile_f77() {
+ list_add TMPFILES "${TMPFILE}"
+ #replace "program main_name by subroutine user_main (and the end clause as well)"
+ if [ $TRACE_CALL_LOCATION -gt 0 ]; then
+ echo "#include \"@includedir@/smpi/smpi_extended_traces_fortran.h\"" > ${TMPFILE}
+ echo "#line 1 \"${ARG}\"" >> ${TMPFILE}
+ fi
+ sed 's/[[:space:]]\{6\}[[:space:]]*\([eE][nN][dD] \)\{0,1\}[pP][rR][oO][gG][rR][aA][mM][[:space:]][[:space:]]*\([a-zA-Z0-9_]*\)/ \1subroutine user_main /g' "${ARG}" >> "${TMPFILE}"
+ SRCFILE="${TMPFILE}"
+ list_add CMDLINE "${SRCFILE}"
+}
+filter_and_compile_f90() {
+ list_add TMPFILES "${TMPFILE}"
+ #replace "program main_name by subroutine user_main (and the end clause as well)"
+ if [ $TRACE_CALL_LOCATION -gt 0 ]; then
+ echo "#include \"@includedir@/smpi/smpi_extended_traces_fortran.h\"" > ${TMPFILE}
+ echo "#line 1 \"${ARG}\"" >> ${TMPFILE}