3 # Copyright (c) 2007-2018. The SimGrid Team.
6 # This program is free software; you can redistribute it and/or modify it
7 # under the terms of the license (GNU LGPL) which comes with this package.
9 SIMGRID_VERSION="@SIMGRID_VERSION_STRING@"
10 SIMGRID_GITHASH="@SIMGRID_GITHASH@"
14 INCLUDEARGS="@includeflag@"
15 CMAKE_LINKARGS="-L@libdir@"
20 list_set LINKARGS "-lm"
21 if [ "x@WIN32@" = "x1" ]; then
22 list_add CFLAGS "-include" "@includedir@/smpi/smpi_main.h"
23 list_add LINKARGS "@libdir@\libsimgrid.dll"
24 elif [ "x@APPLE@" = "x1" ]; then
25 list_add CFLAGS "-include" "@includedir@/smpi/smpi_helpers.h"
26 list_add CFLAGS "-fpic"
27 if [ "x${SMPI_PRETEND_CC}" = "x" ]; then
28 list_add LINKARGS "-shared"
30 echo "Warning: smpicc pretends to be a regular compiler (SMPI_PRETEND_CC is set). Produced binaries will not be usable in SimGrid."
32 list_add LINKARGS "-lsimgrid" "-Wl,-undefined,error"
34 list_add CFLAGS "-include" "@includedir@/smpi/smpi_helpers.h"
35 list_add CFLAGS "-fpic"
36 if [ "x${SMPI_PRETEND_CC}" = "x" ]; then
37 list_add LINKARGS "-shared"
39 echo "Warning: smpicc pretends to be a regular compiler (SMPI_PRETEND_CC is set). Produced binaries will not be usable in SimGrid."
41 list_add LINKARGS "-lsimgrid" "-Wl,-z,defs"
46 while [ $# -gt 0 ]; do
56 SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
57 if [ -z "$SRCFILE" ] ; then
60 list_add CMDARGS "${SRCFILE}"
62 '-version' | '--version')
63 printf '%b\n' "$SIMGRID_VERSION"
66 "-git-version" | "--git-version")
67 printf '%b\n' "$SIMGRID_GITHASH"
70 '-trace-call-location')
71 list_add_not_empty CMDARGS "-DTRACE_CALL_LOCATION"
73 '-compiler-version' | '--compiler-version')
77 list_add CMDARGS "${ARG}"
82 list_set CMDLINE "${CC}"
83 list_add_not_empty CMDLINE "${CFLAGS}"
84 list_add_not_empty CMDLINE ${INCLUDEARGS}
85 list_add_not_empty CMDLINE ${CMAKE_LINKARGS}
86 list_add_not_empty CMDLINE "${CMDARGS}"
87 list_add_not_empty CMDLINE "${LINKARGS}"
89 eval $(list_get CMDLINE)