X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e52278566439b20cb46f86ccc08e5cf451f651bd..3c072dea92bbf0e4df46b1d8d56cd62e68883b33:/src/smpi/smpicc.in diff --git a/src/smpi/smpicc.in b/src/smpi/smpicc.in index c37cbc2961..c46d1867e3 100755 --- a/src/smpi/smpicc.in +++ b/src/smpi/smpicc.in @@ -1,4 +1,4 @@ -#!/bin/sh +#! /bin/bash #FIXME: .. paths... prefix="@prefix@" exec_prefix="@exec_prefix@" @@ -11,7 +11,9 @@ TMPDIR="$(mktemp -d tmpXXXXXXX)" function modsource { SOURCE="$1" - SOURCEFILE="$(basename ${SOURCE})" + ## basename is not available on MAcOSX : SOURCEFILE="$(basename ${SOURCE})" + SOURCEFILE="`echo ${SOURCE} | egrep -o '[^/]+$'`" + SOURCEDIR="${SOURCE%${SOURCEFILE}}" if [ -n "${SOURCEDIR}" ]; then mkdir -p ${TMPDIR}${SOURCEDIR} @@ -25,6 +27,7 @@ function modsource { #include "xbt/asserts.h" #define sleep(x) smpi_sleep(x) #define gettimeofday(x, y) smpi_gettimeofday(x, y) +int smpi_run_simulation(int *argc, char **argv); HEADER # very simplistic transform, will probably want full parser for next version grep -v "mpi.h" < ${SOURCE} | perl -pe 's/main/smpi_simulated_main/;' >> ${TMPSOURCE} @@ -38,8 +41,8 @@ FOOTER fi } -INCLUDEARGS="" -LINKARGS="-L@libdir@ -lsimgrid -lsmpi " +INCLUDEARGS="-I @top_srcdir@/include " +LINKARGS="-L@top_builddir@/src/.libs -L@libdir@ -lsimgrid -lsmpi " CMDLINE="" while [ -n "$1" ]; do @@ -49,8 +52,12 @@ while [ -n "$1" ]; do LINKARGS="" CMDLINE="${CMDLINE} -c " elif [ "${ARG%.c}" != "${ARG}" ]; then - INCLUDEARGS="-I . -I .. -I ../include -I @includedir@ " - SRCFILE="$(realpath ${ARG})" + INCLUDEARGS="${INCLUDEARGS} -I . -I .. -I ../include -I @includedir@ " +# SRCFILE="$(realpath ${ARG})" + SRCFILE="$(readlink -f ${ARG} 2>/dev/null)" + if [ -z $SRCFILE ] ; then + SRCFILE="$ARG" + fi modsource ${SRCFILE} CMDLINE="${CMDLINE} ${TMPDIR}${SRCFILE} " else @@ -58,7 +65,7 @@ while [ -n "$1" ]; do fi done -CMDLINE="${CC} ${INCLUDEARGS} ${CMDLINE} ${LINKARGS}" +CMDLINE="${CC} ${INCLUDEARGS} ${CFLAGS} ${CMDLINE} ${LINKARGS}" #echo "${CMDLINE}" ${CMDLINE}