-CMDLINE=""
-while [ -n "$1" ]; do
- ARG="$1"
- shift
- if [ "${ARG}" = "-c" ]; then
- LINKARGS=""
- CMDLINE="${CMDLINE} -c "
- elif [ "${ARG%.c}" != "${ARG}" ]; then
- INCLUDEARGS="${INCLUDEARGS} -I . -I .. -I ../include -I @includedir@ "
-# SRCFILE="$(realpath ${ARG})"
- SRCFILE="$(readlink -f ${ARG})"
- modsource ${SRCFILE}
- CMDLINE="${CMDLINE} ${TMPDIR}${SRCFILE} "
- else
- CMDLINE="${CMDLINE} ${ARG} "
- fi
+list_set CFLAGS
+list_set LINKARGS
+if [ "x@WIN32@" = "x1" ]; then
+ list_add CFLAGS "-include" "@includedir@/smpi/smpi_main.h"
+ list_add LINKARGS "@libdir@\libsimgrid.dll"
+elif [ "x@APPLE@" = "x1" ]; then
+ list_add CFLAGS "-fpic"
+ list_add LINKARGS "-shared" "-lsimgrid" "-Wl,-undefined,error"
+else
+ list_add CFLAGS "-fpic"
+ list_add LINKARGS "-shared" "-lsimgrid" "-Wl,-z,defs"
+fi
+
+
+list_set CMDARGS
+while [ $# -gt 0 ]; do
+ ARG="$1"
+ shift
+ case "${ARG}" in
+ -c)
+ CMAKE_LINKARGS=""
+ LINKARGS=""
+ list_add CMDARGS "-c"
+ ;;
+ *.c)
+ SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
+ if [ -z "$SRCFILE" ] ; then
+ SRCFILE="$ARG"
+ fi
+ list_add CMDARGS "${SRCFILE}"
+ ;;
+ '-version' | '--version')
+ printf '%b\n' "$SIMGRID_VERSION"
+ exit 0
+ ;;
+ "-git-version" | "--git-version")
+ printf '%b\n' "$SIMGRID_GITHASH"
+ exit 0
+ ;;
+ '-trace-call-location')
+ list_add_not_empty CMDARGS "-DTRACE_CALL_LOCATION"
+ ;;
+ '-compiler-version' | '--compiler-version')
+ ${CC} --version
+ ;;
+ *)
+ list_add CMDARGS "${ARG}"
+ ;;
+ esac