build: add --disable-optimizations option
We are in a state where redrawing the console can take a significant amount of time on slower machines. Therefore, we definitely need gcc code optimizations which help here a _lot_. However, they are currently bundled to the debug flags. This splits this into two options. We still need this flag to get getter backtraces. Otherwise, those inlined functions are horrible to track done. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
This commit is contained in:
parent
d057ecadae
commit
a7f703f8c1
13
Makefile.am
13
Makefile.am
@ -49,8 +49,9 @@ lib_LTLIBRARIES = \
|
|||||||
# Also make the linker discard all unused symbols as we are not building a
|
# Also make the linker discard all unused symbols as we are not building a
|
||||||
# shared library.
|
# shared library.
|
||||||
#
|
#
|
||||||
# When compiling in debug mode, we disable optimization and enable debug symbols
|
# When compiling in debug mode, we enable debug symbols so debugging with gdb
|
||||||
# so debugging with gdb is easier.
|
# is easier. If optimizations are disabled, we pass -O0 to the compiler.
|
||||||
|
# Otherwise, we use standard optimizations -O2.
|
||||||
#
|
#
|
||||||
|
|
||||||
AM_CFLAGS = \
|
AM_CFLAGS = \
|
||||||
@ -63,9 +64,13 @@ AM_LDFLAGS = \
|
|||||||
-Wl,--as-needed
|
-Wl,--as-needed
|
||||||
|
|
||||||
if DEBUG
|
if DEBUG
|
||||||
AM_CFLAGS += -O0 -g
|
AM_CFLAGS += -g
|
||||||
else
|
endif
|
||||||
|
|
||||||
|
if OPTIMIZATIONS
|
||||||
AM_CFLAGS += -O2
|
AM_CFLAGS += -O2
|
||||||
|
else
|
||||||
|
AM_CFLAGS += -O0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#
|
#
|
||||||
|
19
configure.ac
19
configure.ac
@ -154,10 +154,16 @@ AC_ARG_ENABLE([debug],
|
|||||||
[whether to build with debugging on])])
|
[whether to build with debugging on])])
|
||||||
AC_MSG_RESULT([ok])
|
AC_MSG_RESULT([ok])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether to disable code optimizations])
|
||||||
|
AC_ARG_ENABLE([optimizations],
|
||||||
|
[AS_HELP_STRING([--disable-optimizations],
|
||||||
|
[whether to disable code optimizations])])
|
||||||
|
AC_MSG_RESULT([ok])
|
||||||
|
|
||||||
#
|
#
|
||||||
# Debug mode
|
# Debug mode and code optimizations
|
||||||
# In debug mode we use -g -O0 for compilation and set several flags so verbose
|
# In debug mode we compile with -g and enable several debug-messages and flags.
|
||||||
# logging is possible.
|
# With optimizations (default), we add -O2 to compile-flags.
|
||||||
#
|
#
|
||||||
|
|
||||||
debug_enabled=no
|
debug_enabled=no
|
||||||
@ -165,6 +171,11 @@ if test x$enable_debug = xyes ; then
|
|||||||
debug_enabled=yes
|
debug_enabled=yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
optimizations_enabled=no
|
||||||
|
if test ! x$enable_optimizations = xno ; then
|
||||||
|
optimizations_enabled=yes
|
||||||
|
fi
|
||||||
|
|
||||||
if test x$debug_enabled = xyes ; then
|
if test x$debug_enabled = xyes ; then
|
||||||
AC_DEFINE([KMSCON_ENABLE_DEBUG], [1],
|
AC_DEFINE([KMSCON_ENABLE_DEBUG], [1],
|
||||||
[Enable debug for kmscon])
|
[Enable debug for kmscon])
|
||||||
@ -177,6 +188,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CONDITIONAL([DEBUG], [test x$debug_enabled = xyes])
|
AM_CONDITIONAL([DEBUG], [test x$debug_enabled = xyes])
|
||||||
|
AM_CONDITIONAL([OPTIMIZATIONS], [test x$optimizations_enabled = xyes])
|
||||||
|
|
||||||
#
|
#
|
||||||
# Main dependencies
|
# Main dependencies
|
||||||
@ -464,6 +476,7 @@ AC_OUTPUT([src/genshader.c])
|
|||||||
AC_MSG_NOTICE([Build configuration:
|
AC_MSG_NOTICE([Build configuration:
|
||||||
|
|
||||||
debug: $debug_enabled
|
debug: $debug_enabled
|
||||||
|
optimizations: $optimizations_enabled
|
||||||
|
|
||||||
systemd: $systemd_enabled
|
systemd: $systemd_enabled
|
||||||
udev: $udev_enabled
|
udev: $udev_enabled
|
||||||
|
Loading…
x
Reference in New Issue
Block a user