-- This is the configuration file of SmartEiffel, generated by the
-- SmartEiffel installer.
-- If you have any problems or questions, please:
--   - either look at the SmartEiffel site (http://SmartEiffel.loria.fr)
--   - or contact the SmartEiffel team (SmartEiffel@loria.fr)
-- ======================================================================= --
[General]

-- This section contains some general-purpose keys. They describe how is the
-- SmartEiffel distribution arranged, and on which operating system it was
-- installed.

-- The 'bin' key is the path to the directory that contains the SmartEiffel
-- directory. It is used by 'compile' to find 'compile_to_c'.

-- The 'sys' directory is used to find the C and Java files used by the
-- compilers.

-- The 'short' directory is used by the 'short' utility to format the output.

-- The 'os' key tells on which system SmartEiffel is installed on.

-- The 'flavor' key gives additional hints on the system SmartEiffel runs on.

-- At last, 'tag' gives the version of install configuration (used only by the
-- installer)

bin: /usr/libexec/SmartEiffel/
sys: /usr/share/SmartEiffel/sys/
short: /usr/share/SmartEiffel/short/
os: UNIX
flavor: generic
tag: 3

[Environment]

-- This section contains keys that can be used environment variables. They may
-- be used by other sections (typically [Loadpath]) or Ace files.

path_tutorial: /usr/share/SmartEiffel/tutorial/
path_tools: /usr/share/SmartEiffel/tools/
path_lib: /usr/share/SmartEiffel/lib/

[Loadpath]

-- This section contains the default loadpaths used by this SmartEiffel
-- installation.

-- The key is used when naming clusters (SmartEiffel output when a
-- class is not found, or external tools like eiffeldoc)

-- The value of the key is the path to a loadpath file.

-- Note that the loadpath files are read in the order given below.

lib: ${path_lib}loadpath.se
tools: ${path_tools}loadpath.se
tutorial: ${path_tutorial}loadpath.se

[Tools]

-- This section contains the tools used by the `se' command.

-- The key is the name of the command used by `se'

-- The value of the command to launch, which must be in ${bin} (bin
-- is a key defined above in the [General] section).

c: compile
c2c: compile_to_c
clean: clean
java: compile_to_jvm
pretty: pretty
short: short
find: finder
ace_check: ace_check
class_check: class_check
javap: print_jvm_class
doc: eiffeldoc


-- ======================================================================= --

-- Below are the "C mode" sections. Each C mode describes which C compiler must
-- be called, with which options, which linker, and so on. The keys are
-- described below.

-- The first sections (boost, ..., debug_check) are by default used in
-- conjunction with the corresponding SmartEiffel check level. This behaviour
-- may be changed by using the -c_mode flag.

-- The recognized keys in each section are:

-- 'compiler_type', which tells which is the compiler type to use

-- 'compiler_path', which gives the path to the compiler executable

-- 'compiler_options', which gives some options to the compiler

-- 'linker_path', which gives the path to the linker executable (not used in
--  -no_split mode)

-- 'linker_options', which gives some options for the linker (not used in
--  -no_split mode)

-- 'smarteiffel_options', which gives some extra SmartEiffel options to take
--  into account


[boost]
c_compiler_type: gcc
c_compiler_options: -pipe -O2
cpp_compiler_type: g++
cpp_compiler_options: -pipe -O2

[no_check]
c_compiler_type: gcc
c_compiler_options: -pipe -O1
cpp_compiler_type: g++
cpp_compiler_options: -pipe -O1

[require_check]
c_compiler_type: gcc
c_compiler_options: -pipe
cpp_compiler_type: g++
cpp_compiler_options: -pipe

[ensure_check]
c_compiler_type: gcc
c_compiler_options: -pipe
cpp_compiler_type: g++
cpp_compiler_options: -pipe

[invariant_check]
c_compiler_type: gcc
c_compiler_options: -pipe
cpp_compiler_type: g++
cpp_compiler_options: -pipe

[loop_check]
c_compiler_type: gcc
c_compiler_options: -pipe
cpp_compiler_type: g++
cpp_compiler_options: -pipe

[all_check]
c_compiler_type: gcc
c_compiler_options: -pipe
cpp_compiler_type: g++
cpp_compiler_options: -pipe

[debug_check]
c_compiler_type: gcc
c_compiler_options: -pipe -g
cpp_compiler_type: g++
cpp_compiler_options: -pipe -g
smarteiffel_options: -no_strip

[release]
c_compiler_type: gcc
c_compiler_options: -pipe -w -O2 -g -pipe  -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
cpp_compiler_type: g++
cpp_compiler_options: -pipe -w -O2 -g -pipe  -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
smarteiffel_options: -no_split
