--- rpl/scripts/mkrplso.in 2010/08/06 15:32:56 1.5 +++ rpl/scripts/mkrplso.in 2013/04/10 09:08:43 1.6 @@ -53,6 +53,7 @@ PRESENCE_OPTION_STRIP=FAUX COMPILATION_SEULE=FAUX DRAPEAU=FAUX P=1 +RPLC_MAIN= for i in $@; do @@ -82,6 +83,16 @@ do if [ $i = "-c" ]; then COMPILATION_SEULE=VRAI fi + + if [ -e "$i" ]; then + if [ $(rplfile -m $(dirname $(which $0))/../share/rplfiles $i | \ + grep "C source" | wc -l) = 1 ]; then + if [ $(grep exportExternalFunctions $i | wc -l) = 1 ]; then + RPLC_MAIN=-D__RPLC_MAIN + fi + fi + fi + done if [ $PRESENCE_FICHIER_SORTIE = FAUX ]; then @@ -119,11 +130,12 @@ if [ $COMPILATION_SEULE = "VRAI" ]; then echo +++Compiler for RPL/2 version @VERSION@ gfortran -x c $ARGUMENTS_G77 -fPIC -Wall -DRPLCONFIG $OPTIONS $CFLAGS\ -I$(which $0 | cut -d '/' -f -$(($P-1)))/include -funsigned-char\ - -D_d_version_rpl=\"@VERSION@\" -std=gnu99 + -D_d_version_rpl=\"@VERSION@\" -std=gnu99 $RPLC_MAIN else echo +++Linker for RPL/2 version @VERSION@ gfortran $ARGUMENTS_G77 -shared -fPIC -Wall -DRPLCONFIG $OPTIONS $CFLAGS\ - -I$(which $0 | cut -d '/' -f -$(($P-1)))/include -funsigned-char + -I$(which $0 | cut -d '/' -f -$(($P-1)))/include -funsigned-char\ + $RPLC_MAIN fi test $PRESENCE_OPTION_STRIP = VRAI && strip -s $FICHIER_SORTIE