From 2e5c116ea4ed6939a1ad463c42faa7920a155c51 Mon Sep 17 00:00:00 2001 From: Christian Heinrich Date: Mon, 11 Apr 2016 15:18:28 +0200 Subject: [PATCH] [SMPIFF] Make call location conditional. This commit introduces the -enable-call-location compile-time switch for smpiff. --- src/smpi/smpiff.in | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/smpi/smpiff.in b/src/smpi/smpiff.in index 8b63bee120..6dceb77106 100644 --- a/src/smpi/smpiff.in +++ b/src/smpi/smpiff.in @@ -16,7 +16,7 @@ CMAKE_LINKARGS="-L@libdir@" @SMPITOOLS_SH@ -list_set FFLAGS "-ff2c" "-fno-second-underscore" "-ffixed-line-length-none" "-cpp" +list_set FFLAGS "-ff2c" "-fno-second-underscore" list_set LINKARGS "-lsimgrid" "-lm" "-lgfortran" list_set TMPFILES main_name=main @@ -30,12 +30,15 @@ trap 'cleanup' EXIT filter_and_compile() { list_add TMPFILES "${TMPFILE}" #replace "program main_name by subroutine user\_main (and the end clause as well)" - echo "#include \"@includedir@/smpi/smpi_extended_traces_fortran.h\"" > ${TMPFILE} + if [ $TRACE_CALL_LOCATION -gt 0 ]; then + echo "#include \"/tmp/local/include/smpi/smpi_extended_traces_fortran.h\"" > ${TMPFILE} echo "#line 1 \"${ARG}\"" >> ${TMPFILE} + fi sed 's/[[:space:]]\{6\}[[:space:]]*\(end \)\{0,1\}program[[:space:]]*\([a-zA-Z0-9\-\_]*\)/ \1subroutine user_main /gI;s/[[:space:]]*use[[:space:]]*mpi/\include \"mpif\.h\" /gI' "${ARG}" >> "${TMPFILE}" SRCFILE="${TMPFILE}" list_add CMDLINE "${SRCFILE}" } +TRACE_CALL_LOCATION=0 NEEDS_OUTPUT=1 list_set CMDLINE "${F77}" @@ -70,6 +73,12 @@ while [ $# -gt 0 ]; do '-compiler-version' | '--compiler-version') ${F77} --version ;; + '-trace-call-location') + TRACE_CALL_LOCATION=1 + # This should be list_add FFLAGS but it's not possible + # anymore: FFLAGS was already moved into CMDLINE above. + list_add_not_empty CMDLINE "-ffixed-line-length-none" "-cpp" + ;; -o) NEEDS_OUTPUT=0 list_add CMDLINE "-o" -- 2.20.1