aboutsummaryrefslogtreecommitdiffhomepage
path: root/scintilla.am
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2016-02-11 14:40:27 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2016-02-11 14:40:27 +0100
commit39fce8d0a5a6d91923e532a62ad2e6e4e26bdae7 (patch)
treef7ab38bcd4eccbd4eae15dc1f935e03e281edd98 /scintilla.am
parentb259cb68aa3f76d1e23b47be67d3fbeb6f6b62df (diff)
downloadsciteco-39fce8d0a5a6d91923e532a62ad2e6e4e26bdae7.tar.gz
pass user/maintainer provided CXXFLAGS to the Scintilla build process
* Usually, Scintilla will now be built with -O2 * this can improve performance significantly over the standard Scintilla -Os (up to 10%). * this also allows link-time-optimizing both Scintilla and SciTECO (which are linked statically) by adding -flto to CFLAGS, CXXFLAGS and LDFLAGS. Link-time-optimization will both reduce the total binary size and improve performance slightly since scintilla_send_message() can be inlined. An -O3 optimized Scintilla when linked with LTO results in an only 300kb larger SciTECO binary. * the highest possible optimization thus requires the following maintainer flags on the ./configure command line: CFLAGS="-O3 -mtune=native -march=native -flto" CXXFLAGS="-O3 -mtune=native -march=native -flto" LDFLAGS="-flto" * Windows and Debian builds use link-time-optimization now. On Windows - where we link in everything statically - building the dependant libraries with -flto could improve performance even more. * Debian builds respect the default hardening flags of the build server now. This should ensure that SciTECO is built for the correct architecture at the recommended optimization level etc.
Diffstat (limited to 'scintilla.am')
-rw-r--r--scintilla.am7
1 files changed, 5 insertions, 2 deletions
diff --git a/scintilla.am b/scintilla.am
index df340bf..c9cf4c6 100644
--- a/scintilla.am
+++ b/scintilla.am
@@ -4,10 +4,13 @@
if INTERFACE_GTK
MAKE_SCINTILLA = $(MAKE) -C @SCINTILLA_PATH@/gtk \
- GTK3=yes CONFIGFLAGS='@LIBGTK_CFLAGS@'
+ GTK3=yes CONFIGFLAGS='@LIBGTK_CFLAGS@' \
+ CXXFLAGS='@SCINTILLA_CXXFLAGS@'
else
+# FIXME: There is currently no way to override the standard optimization
+# flags of Scinterm, so we pass them in CURSES_FLAGS.
MAKE_SCINTILLA = $(MAKE) -C @SCINTERM_PATH@ \
- CURSES_FLAGS='@PDCURSES_CFLAGS@ @XCURSES_CFLAGS@ @NCURSES_CFLAGS@'
+ CURSES_FLAGS='@PDCURSES_CFLAGS@ @XCURSES_CFLAGS@ @NCURSES_CFLAGS@ @SCINTILLA_CXXFLAGS@'
endif
# Pass toolchain configuration to Scintilla.