-##-------------------------------- DEFAULT APPLICATION --------------------------------------
-APPLICATIONTMP="$(mktemp smpitmp-appXXXXXX)"
-#APPLICATIONTMP="app.xml"
-
-cat > ${APPLICATIONTMP} <<APPLICATIONHEAD
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
-<platform version="4.1">
-APPLICATIONHEAD
-
-##---- cache hostnames of hostfile---------------
-if [ -n "${HOSTFILE}" ] && [ -f ${HOSTFILE} ]; then
- hostnames=$(cat ${HOSTFILE} | tr '\n\r' ' ')
-fi
-
-if [ "${EXTOPT}" = "smpi_replay" ]; then
- APP_TRACES=$PROC_ARGS
- if [ -n "${APP_TRACES}" ] && [ -f "${APP_TRACES}" ]; then
- hosttraces=$(cat ${APP_TRACES} | tr '\n\r' ' ' )
- NUMTRACES=$(cat ${APP_TRACES} | wc -l)
- REPLAY=1
- else
- printf "File not found: %s\n" "${APP_TRACES:-\${APP_TRACES\}}" >&2
- exit 1
- fi
-fi
-
-##----------------------------------------------------------
-## generate application.xml with hostnames from hostfile:
-## the name of host_i (1<=i<=p, where -np p) is the line i in hostfile (where -hostfile hostfile), or "host$i" if
-## hostfile has less than i lines.
-##----------------------------------------------------------
-
-HAVE_SEQ="`which seq 2>/dev/null`"
-
-if [ -n "${HAVE_SEQ}" ]; then
- SEQ=`${HAVE_SEQ} 0 $((${NUMPROCS}-1))`
-else
- cnt=0
- while [ $cnt -lt ${NUMPROCS} ] ; do
- SEQ="$SEQ $cnt"
- cnt=$((cnt + 1));
- done
-fi
-
-set -- $hostnames
-
-##---- generate <actor> tags------------------------------
-#prepare arguments at once
-for ARG in $PROC_ARGS; do
- XML_ARGS="${XML_ARGS}""<argument value=\"${ARG}\"/>
-"
-done
-
-for i in ${SEQ}
-do
- j=$(( $i % ${hostfile_procs} + 1 ))
- host=$(eval "echo \${$j}")
-
- ##---- optional display of ranks to actor mapping
- if [ ${MAPOPT} = 1 ]; then
- echo "[rank $i] -> $host"
- fi
-
- echo " <actor host=\"${host}\" function=\"$i\"> <!-- function name used only for logging -->
- <argument value=\"1\"/> <!-- instance -->
- <argument value=\"$i\"/> <!-- rank -->" >> ${APPLICATIONTMP}
- if [ ${REPLAY} = 1 ]; then
- if [ ${NUMTRACES} -gt 1 ]; then
- echo " <argument value=\"$(echo $hosttraces|cut -d' ' -f$j)\"/>" >> ${APPLICATIONTMP}
- else
- echo " <argument value=\"$(echo $hosttraces|cut -d' ' -f1)\"/>" >> ${APPLICATIONTMP}
- fi
- else
- echo ${XML_ARGS} >> ${APPLICATIONTMP}
- fi
- echo " </actor>" >> ${APPLICATIONTMP}
-done
-
-cat >> ${APPLICATIONTMP} <<APPLICATIONFOOT
-</platform>
-APPLICATIONFOOT
-##-------------------------------- end DEFAULT APPLICATION --------------------------------------