How to compile final binary without debug statements

17 views
Skip to first unread message

Berend de Boer

unread,
Nov 27, 2018, 4:34:47 PM11/27/18
to Eiffel Users
Hi All,

What's the trick to compile a final binary without any debug statements?

I thought "-finalize" would do that trick but it doesn't.

Both "ec" and "eiffel" have the same behaviour, they leave any enabled
debug options in .ecf on.

--
All the best,

Berend de Boer

Larry Rix

unread,
Nov 27, 2018, 6:07:55 PM11/27/18
to eiffel...@googlegroups.com

Jocelyn Fiat

unread,
Dec 3, 2018, 11:58:37 AM12/3/18
to eiffel...@googlegroups.com
So far, I don't see any simple solution.

Usually, people use the "debug" during development, and when releasing a library or product, the debug are not enabled anymore.
So this is not a frequent need.

However, I could also see the benefit of having a way to enable (or disable debug) clauses at compilation during using a simple command-line switch.
But currently this is not available.

-- Jocelyn




On Wed, Nov 28, 2018 at 12:07 AM Larry Rix <lar...@moonshotsoftware.com> wrote:

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/eiffel-users.
For more options, visit https://groups.google.com/d/optout.


--
Jocelyn
------------------------------------------------------------------------
Eiffel Software
https://www.eiffel.com
Customer support: https://support.eiffel.com
User group: https://groups.google.com/forum/#!forum/eiffel-users
------------------------------------------------------------------------

Eric Bezault

unread,
Dec 3, 2018, 12:22:54 PM12/3/18
to eiffel...@googlegroups.com, Jocelyn Fiat
On the command-line we have the option -config_option. But despite its
name, it does not allow to override ECF options, only ECF settings and
capabilities.

Currently options can be set at the target level, and overridden at
the cluster level or class level. They cannot be set (or overridden
at the system level). It makes sense for some options such as
`is_obsolete_routine_type` or `is_attached_by_default`. In these
cases, overriding these options at the system level is likely to
lead to compilation errors. On the other hand, for some options,
it could be useful to be able to set them at the system level. For
example `trace`, `profile`, `full_class_checking`. But also assertions,
debugs and warnings.

Ideally, for these options that we might need to override from the
command-line we should have a `setting` equivalent. And this is this
setting which would be overridden from the command-line. We already
have such example in ECF with `manifest_array_type` for which we
have an option at the target/cluster/class/library level, and a
setting to be able to override this option at the system level.

--
Eric Bezault
mailto:er...@gobosoft.com
http://www.gobosoft.com
Reply all
Reply to author
Forward
0 new messages