X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=config;h=0c56c5b260f9381124c22c83dfce91dcf812a5df;hb=65517c0cd75d3c846d8e8304c414e9d63d155ecc;hp=57a679047a2da9a278dc3bc988c4b06d5413d0f7;hpb=cdc07e8f1faeef4f3f3527482f98e9a3f5034b11;p=moe.git diff --git a/config b/config index 57a6790..0c56c5b 100644 --- a/config +++ b/config @@ -33,33 +33,54 @@ REMOTE_SUBMIT=1 REMOTE_SUBMIT_USER=mo-submit REMOTE_SUBMIT_GROUP=mo-submit -### Per-task configuration variables (default values, override in per-task config) - -## Compiler settings: +### Programming language settings # Known source file extensions EXTENSIONS="c cc C cpp p pas" -# Extra compiler flags for C (null, but can be overriden) -EXTRA_CFLAGS= +# Some of the extensions can be aliases for other extensions +ALIAS_EXT_cc=cpp +ALIAS_EXT_C=cpp +ALIAS_EXT_p=pas -# Extra compiler flags for Pascal -EXTRA_PFLAGS= +## Variables which control compilation and execution +## (see below for values for individual languages) -# For each source extension, we must give compiler command +# Command used to run the compiler COMP=false -EXT_c_COMP='/usr/bin/gcc -std=gnu99 -O2 -g -o $EXE $EXTRA_CFLAGS $SRC -lm' -EXT_C_COMP='/usr/bin/g++ -O2 -g -o $EXE $EXTRA_CFLAGS $SRC -lm' -EXT_cpp_COMP="$EXT_C_COMP" -EXT_cc_COMP="$EXT_C_COMP" -EXT_p_COMP='/usr/bin/fpc -Ci -Cr -Ct -g -O2 -Sg -o$EXE $EXTRA_PFLAGS $SRC' -EXT_pas_COMP="$EXT_p_COMP" # Sandbox options used when compiling COMP_SANDBOX_OPTS='-m262144 -w60 -e -i/dev/null' -# Sandbox initialization commands for compilation -COMP_SANDBOX_INIT= +# Extra per-language sandbox options used when testing +LANG_SANDBOX_OPTS= + +# Translation of runtime errors: a function, which receives the exit code as an argument and +# if it is recognized as a runtime error code, it prints its name to the standard output. +EXIT_CODE_HOOK= + +# Hooks which can alter the contents of the sandbox in $BOXDIR before/after compilation/running +PRE_COMPILE_HOOK= +POST_COMPILE_HOOK= +PRE_RUN_HOOK= +POST_RUN_HOOK= + +## Settings for individual languages + +# C +EXT_c_COMP='/usr/bin/gcc -std=gnu99 -O2 -g -o $EXE $EXTRA_CFLAGS $SRC -lm' +EXTRA_CFLAGS= + +# C++ +EXT_cpp_COMP='/usr/bin/g++ -O2 -g -o $EXE $EXTRA_CXXFLAGS $SRC -lm' +EXTRA_CXXFLAGS= + +# Pascal +EXT_pas_COMP='/usr/bin/fpc -Ci -Cr -Ct -g -O2 -Sg -o$EXE $EXTRA_PFLAGS $SRC' +EXTRA_PFLAGS= +EXT_pas_EXIT_CODE_HOOK=fpc-exit-code + +### Per-task configuration variables (default values, override in per-task config) # List of extra files needed for compilation. They are copied to the compiler # sandbox from the problem's directory. @@ -132,16 +153,12 @@ OUTPUT_CHECK='diff -bBu $TDIR/$TEST.ok $TDIR/$TEST.out' #IC_CHECK='$PDIR/checker $PDIR/$TEST.in $PDIR/$TEST.chk' # Sandbox options used when testing -TEST_SANDBOX_OPTS='-a2 -f -m$MEM_LIMIT -t$TIME_LIMIT $BOX_EXTRAS' +TEST_SANDBOX_OPTS='-a2 -f -m$MEM_LIMIT -t$TIME_LIMIT $LANG_SANDBOX_OPTS $BOX_EXTRAS' # Extra options to be overridden in task configuration BOX_EXTRAS= -# Sandbox initialization commands -SANDBOX_INIT= - -# Translate FreePascal exit codes to names of well-known runtime errors -FREE_PASCAL_RTE=1 +### Debugging and testing # DEBUG: Let `ev' run sample tests, too. #EV_SAMPLE=1