Packagers get warning from autotools about using wrong configure opts.
If they decide to ignore it then its their problem.
With this approach we would have to die on all the configure script
changes which is bit annoying.
If not, the build system selects the right flags depending on --enable-debug
etc. , but e.g. packagers may want to do builds with e.g. both -O and -g.
This is also reasonably close to what autotools do, except that there configure
forces -g -O2 if nothing is explicitly given.
Change-Id: I1889569177ad3cbd6decdc7e9986f67ef5d4456a
Using --enable-debug already makes the build a non-product build,
so this whole 'product' notion is rather confusing when reading
the build system code.
Change-Id: I4bb6b879a6bcd8c76c4b48ddaccb433ab8eb4bb2
By default a product (non-developer) build is done. Code is optimized and no debugging
information is included (may be overriden though, see below).
Developers should preferably build with --enable-dbgutil , or at least --enable-debug.
The --enable-symbols switch has been removed. Use explicit CFLAGS/CXXFLAGS/LDFLAGS instead
if needed.
With --enable-debug optimizations are turned off and debugging information is included
(in order to make it possible to examine the code in a debugger). Additionally assertions
and logging is enabled (see SAL_WARN/SAL_INFO documentation for details and better control).
This switch should primarily by used for occassional development (such as when it is needed
to debug one module in a non-debug build, see also 'make DEBUG=true' below).
Using --enable-dbgutil is the recommended developer option. In addition to --enable-debug
it also enables additional checks, such as debugging mode for STL or checking compiler
plugins. This switch may also enable additional logging from obsolete debugging tools
(which should be converted to SAL_WARN/SAL_INFO for better control). Note that this option
makes the build binary incompatible from a --disable-dbgutil build, so it is not possible
to mix them.
When using --enable-debug/--enable-dbgutil , the build is noticeably larger because of the included
debugging information (compiler -g option). When disk space is an issue (or the computer
is not very powerful), the --enable-selective-debuginfo option allow specifying where
the debugging information should or should not be used. The option takes a list of arguments,
where all means everything, - prepended means not to enable, / appended means everything
in the directory; there is no ordering, more specific overrides more general,
and disabling takes precedence). For example, --enable-selective-debuginfo="all -sw/ -Library_sc"
enables debugginfo for everything except for anything in the sw module and the sc library.
Explicitly specified CFLAGS/CXXFLAGS/LDFLAGS override optimization and debugging options
(can be now also passed to configure which will make the build system use them).
If in a non-debug build it is needed to temporary build something as a debug build,
'make DEBUG=true' temporarily works as if --enable-debug was specified. It also temporarily
overrides debuginfo disabled using --enable-selective-debuginfo.
Old code using old logging functionality also has a concept of a debug level, forced using
'make DBGLEVEL=2'. Using a debug level of 2 (or higher) enables additional logging output.
New code should use SAL_WARN/SAL_INFO and use extra areas for additional logging output
that can be selectively enabled/disabled using SAL_LOG variable.
(Some smaller parts of this design will be implemented by separate follow-up commits.)
Change-Id: Ia6420ee3c99c217ead648e8967165eed7f632258
sdremote itself apparently works also over IP (WLAN), so we don't need to
disable it when we just don't want/have bluetooth. And also dbus is also
needed in the bluez case
Change-Id: I55ba07cd715d1e9bd641ef28e2391e4fe85b85e0
gdk-pixbuf, gettext, glib, libcroco, libgsf and pango are only deps of
librsvg, which means they do not have to be configured/built in a build
without librsvg. In effect, this generalizes the previous exception for
Android and iOS.
Change-Id: Ia0bd5e1c2bfa27842d8806886cd5774a420a973f