PageRenderTime 8ms CodeModel.GetById 2ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/tutorial/ace/template.ace

http://github.com/tybor/Liberty
Unknown | 205 lines | 163 code | 42 blank | 0 comment | 0 complexity | a0752dae4765228b152bf20ed2c3c629 MD5 | raw file
  1-- This file is a template for building an ACE file for your own project.
  2-- Copy this file into your working directory (the directory used to
  3-- run the SmartEiffel compiler) and edit it.
  4system
  5   "SYSTEME_NAME"
  6      -- Replace SYSTEM_NAME with the name of the executable file
  7      -- to be generated for your system. (This is the equivalent of
  8      -- the -o flag in traditional command line mode.)
  9
 10root
 11
 12   ROOT_CLASS: creation_procedure
 13      -- Replace ROOT_CLASS and creation_procedure with the names of the
 14      -- root class and the root creation procedure for your system.
 15
 16default -- section of the system
 17
 18   assertion (require);
 19      -- The default level of assertion checking for the system.
 20      -- Choose the appropriate value: boost, no, require, ensure,
 21      -- invariant, loop, check, all.
 22
 23   assertion_flat_check (no);
 24      -- In flat mode each assertion will be executed in no_check mode.
 25      -- This means that while checking assertion, no other assertion will
 26      -- be checked. This mode has only sense in assertion modes from
 27      -- require to debug.
 28
 29   debug (no);
 30      -- The default debug level for the system.
 31      -- Choose yes, no, or any "key" you wish.
 32
 33   trace (no);
 34      -- The default trace mode for the system. Choose yes or no.
 35
 36   collect (yes);
 37       -- Choose yes here to add garbage collector support to your system.
 38       -- Choose no here to indicate that you don't want the garbage collector
 39       -- to be included in your system; no is the equivalent of the -no_gc
 40       -- flag in traditional command line mode.
 41
 42   no_style_warning (no);
 43       -- My humble opinion is that you should always write no here.
 44       -- Yes is the equivalent of the -no_style_warning flag in traditional
 45       -- command line mode.
 46
 47   no_warning (no);
 48       -- My humble opinion is that you should always write no here.
 49       -- Yes is the equivalent of the -no_warning flag in traditional
 50       -- command line mode.
 51
 52   verbose (no);
 53       -- The equivalent of the -verbose flag. (Also note that the -verbose
 54       -- flag is still accepted in ACE file mode.)
 55
 56   manifest_string_trace (yes);
 57       -- The equivalent of the -manifest_string_trace flag.
 58
 59   high_memory_compiler (no);	
 60       -- The equivalent of the -high_memory_compiler flag.
 61
 62   profile (yes);
 63       -- The equivalent of the -profile flag.
 64
 65   relax (yes);
 66       -- The equivalent of the -relax flag.
 67
 68cluster -- section
 69
 70   -- The cluster section is an ordered list of clusters. Roughly speaking,
 71   -- a cluster can be considered as a directory where Eiffel source files
 72   -- are to be searched for. Thus, the order of this list of clusters is
 73   -- important because clusters are considered sequentially while
 74   -- searching for an Eiffel source file. Each cluster is described
 75   -- as follows:
 76
 77   optional_cluster_name: "cluster_path_using_system_file_notation_here"
 78      default -- at this cluster level
 79         assertion (require)
 80         debug (no);
 81         trace (no);
 82      option -- for this cluster
 83         assertion (loop) : CLASS_NAME1, CLASS_NAME2;
 84         assertion (all)  : CLASS_NAME3, CLASS_NAME4;
 85         -- ...
 86         debug (yes) : CLASS_NAME1, CLASS_NAME2, ...;
 87         debug ("KEY") : CLASS_NAME1, CLASS_NAME2, ...;
 88         -- ...
 89         trace : CLASS_NAME1, CLASS_NAME2;
 90         trace : CLASS_NAME3, CLASS_NAME4;
 91         -- ...
 92      end -- of one cluster
 93
 94   -- Pull in SmartEiffel's standard library. Always put this last so 
 95   -- that you can override options for parts of the library.
 96
 97   standard: "${path_lib}/loadpath.se"
 98
 99external -- section for elements written in another language
100
101   -- Directories where to search for C .h files:
102   -- external_header_path: "/usr/local/expat/include /usr/local/include/mjpegtools"
103
104   -- External object files to be considered; update and uncomment the
105   -- following line:
106   -- external_object_files: "foo.o bar.o"
107
108   -- External C files to be considered; update and uncomment the
109   -- following line:
110   -- external_c_files: "foo.c bar.c"
111
112   -- External C++ files to be considered; update and uncomment the
113   -- following line:
114   -- external_c_plus_plus_files: "foo.cpp bar.cpp"
115
116   -- The equivalent of the -cecil flag of the traditional command line mode.
117   -- To indicate some cecil file to be considered, update and uncomment
118   -- the following lines:
119   -- cecil ("my_cecil_file1.se")
120   -- cecil ("my_cecil_file2.se")
121   -- cecil ("my_cecil_file3.se")
122   -- ...
123
124   -- External libraries directory path to be considered; update and uncomment
125   -- the following line:
126   -- external_lib_path: "-L/usr/local -L/foo/bar"
127
128   -- From release -0.74Beta#20 and later SmartEiffel supports linker
129   -- external_lib_path. Just leave out the -L:
130   -- external_lib_path: "/usr/local /foo/bar"
131   -- In this case external_lib_path will work on Windows too.
132
133   -- External libraries to be considered; update and uncomment the following
134   -- line:
135   -- external_lib: "-lm -lX11"
136
137   -- or linker independent:
138   -- external_lib: "m X11"
139
140generate -- section
141
142   no_strip(no);
143     -- Yes would mean that you don't want to run "strip" on the generated
144     -- executable. This is the equivalent of the -no_strip flag of the
145     -- traditional command line mode. (I.e. to use a C level debugger on your
146     -- system, you should choose yes here).
147
148   no_split(no);
149     -- Yes would mean that you want one big single C file for the complete
150     -- system, pinstead of the many small C files produced by default ("no").
151     -- This may be useful for delivery of the most efficient version. (Some
152     -- C compilers including gcc can then do better inlining.)
153
154   clean(no);
155     -- Yes would mean that you want to remove all generated C files, all
156     -- generated object files as well as other temporary files generated
157     -- during the compilation process. (See also command clean.)
158
159   -- The equivalent of the -cc flag of the traditional command line mode.
160   -- To select a different C compiler from the default, update and uncomment
161   -- the following line:
162   -- cc : "gcc"
163
164   -- To decide which C compiler options are to be passed, you need to use
165   -- this keyword as well as a good understanding of your C compiler.
166   -- Update and uncomment the following line:
167   -- c_compiler_options : "-O3 -pipe -I/usr/include"
168
169   -- Some options are to be passed only to the linker. Update and uncomment
170   -- the following line:
171   -- linker_options : "-foo"
172
173   -- For the equivalent of the -no_main flag of the traditional command line
174   -- mode, uncomment the following line:
175   -- no_main (yes)
176
177   -- For the equivalent of the -gc_info flag of the traditional command line
178   -- mode, uncomment the following line:
179   -- gc_info (yes)
180
181   -- For the equivalent of the -wedit flag of the traditional command line
182   -- mode. To Include support for the Wedit debugger uncomment the following
183   -- line:
184   -- wedit (yes)
185
186
187-- Additional information about system environment variables:
188--    Inside manifest strings, you are allowed to use system
189--    environment variables using the same notation as in the traditional
190--    "loadpath.se" files. Actually, this notation is inspired by the
191--    traditional UNIX bracketed notation as for example: ${FOO} or ${Bar}
192--    or ${SmartEiffel}.
193--
194-- Additional information about the ${SmartEiffelDirectory} variable:
195--    If not explicitely set by the user, the ${SmartEiffelDirectory} variable
196--    is automatically computed using the value of the ${SmartEiffel} variable.
197--    (Keep in mind that the ${SmartEiffel} variable is mandatory for using
198--    SmartEiffel.)  The computed value indicates the SmartEiffel main
199--    directory. For example, if the value of ${SmartEiffel} is
200--    "/usr/local/lib/SmartEiffel/sys/system.se"
201--    the computed value is "/usr/local/lib/SmartEiffel/". This automatically
202--    defined variable ${SmartEiffelDirectory} is useful for indicating the
203--    location of the SmartEiffel standard library.
204--
205end