]> mj.ucw.cz Git - moe.git/blobdiff - config
Replaced FREE_PASCAL_RTE by a generic EXIT_CODE_HOOK.
[moe.git] / config
diff --git a/config b/config
index 806bdd9560fc2eec2635aa124bd892ae78a40116..052e9991b16c46cb1cd78c1409e6a9a34d06e28c 100644 (file)
--- a/config
+++ b/config
@@ -33,27 +33,16 @@ 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=
+## Variables which control compilation and execution
+## (see below for values for individual languages)
 
-# Extra compiler flags for Pascal
-EXTRA_PFLAGS=
-
-# 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'
@@ -61,6 +50,31 @@ COMP_SANDBOX_OPTS='-m262144 -w60 -e -i/dev/null'
 # Sandbox initialization commands for compilation
 COMP_SANDBOX_INIT=
 
+# 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=
+
+## 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_C_COMP='/usr/bin/g++ -O2 -g -o $EXE $EXTRA_CXXFLAGS $SRC -lm'
+EXT_cpp_COMP="$EXT_C_COMP"
+EXT_cc_COMP="$EXT_C_COMP"
+EXTRA_CXXFLAGS=
+
+# Pascal
+EXT_p_COMP='/usr/bin/fpc -Ci -Cr -Ct -g -O2 -Sg -o$EXE $EXTRA_PFLAGS $SRC'
+EXT_pas_COMP="$EXT_p_COMP"
+EXTRA_PFLAGS=
+EXT_p_EXIT_CODE_HOOK=fpc-exit-code
+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.
 #COMP_EXTRAS="extras.h"
@@ -132,13 +146,15 @@ 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'
+TEST_SANDBOX_OPTS='-a2 -f -m$MEM_LIMIT -t$TIME_LIMIT $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