diff options
-rw-r--r-- | config_host.mk.in | 1 | ||||
-rw-r--r-- | config_host/config_skia.h.in | 2 | ||||
-rw-r--r-- | configure.ac | 11 | ||||
-rw-r--r-- | external/skia/Library_skia.mk | 10 |
4 files changed, 22 insertions, 2 deletions
diff --git a/config_host.mk.in b/config_host.mk.in index 51fc419414e6..7df26713a1dd 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -207,6 +207,7 @@ export ENABLE_SDREMOTE=@ENABLE_SDREMOTE@ export ENABLE_SDREMOTE_BLUETOOTH=@ENABLE_SDREMOTE_BLUETOOTH@ export ENABLE_SILENT_MSI=@ENABLE_SILENT_MSI@ export ENABLE_SKIA=@ENABLE_SKIA@ +export ENABLE_SKIA_DEBUG=@ENABLE_SKIA_DEBUG@ export ENABLE_SYMBOLS_FOR=@ENABLE_SYMBOLS_FOR@ export ENABLE_VALGRIND=@ENABLE_VALGRIND@ export ENABLE_VLC=@ENABLE_VLC@ diff --git a/config_host/config_skia.h.in b/config_host/config_skia.h.in index 2f39dbd13c29..f079e26cab8f 100644 --- a/config_host/config_skia.h.in +++ b/config_host/config_skia.h.in @@ -39,6 +39,8 @@ are the same. #define SK_ASSUME_GL_ES 0 +// Enable Skia's internal checks depending on DBG_UTIL mode. ENABLE_SKIA_DEBUG +// controls whether to build with or without optimizations (set in Makefile). #ifdef DBG_UTIL #define SK_DEBUG diff --git a/configure.ac b/configure.ac index 1c7dff3f5d0d..40a5a2e62ed5 100644 --- a/configure.ac +++ b/configure.ac @@ -1076,7 +1076,7 @@ libo_FUZZ_ARG_ENABLE(pdfium, libo_FUZZ_ARG_ENABLE(skia, AS_HELP_STRING([--disable-skia], - [Disable building Skia.]) + [Disable building Skia. Use --enable-skia=debug to build without optimizations.]) ) ############################################################################### @@ -11119,7 +11119,13 @@ AC_SUBST(POPPLER_LIBS) AC_MSG_CHECKING([whether to build Skia]) ENABLE_SKIA= if test "$enable_skia" != "no" -a "$build_skia" = "yes"; then - AC_MSG_RESULT([yes]) + if test "$enable_skia" = "debug"; then + AC_MSG_RESULT([yes (debug)]) + ENABLE_SKIA_DEBUG=TRUE + else + AC_MSG_RESULT([yes]) + ENABLE_SKIA_DEBUG= + fi ENABLE_SKIA=TRUE AC_DEFINE(HAVE_FEATURE_SKIA) BUILD_TYPE="$BUILD_TYPE SKIA" @@ -11127,6 +11133,7 @@ else AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_SKIA) +AC_SUBST(ENABLE_SKIA_DEBUG) CLANG_CXXFLAGS_INTRINSICS_SSE2= CLANG_CXXFLAGS_INTRINSICS_SSSE3= diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk index 941f92bd9238..6047de0b864b 100644 --- a/external/skia/Library_skia.mk +++ b/external/skia/Library_skia.mk @@ -22,6 +22,16 @@ $(eval $(call gb_Library_add_defs,skia,\ -DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \ )) +# SK_DEBUG controls runtime checks and is controlled by config_skia.h and depends on DBG_UTIL. +# This controls whether to build with compiler optimizations, normally yes, --enable-skia=debug +# allows to build non-optimized. We normally wouldn't debug a 3rd-party library, and Skia +# performance is relatively important (it may be the drawing engine used in software mode). +ifeq ($(ENABLE_SKIA_DEBUG),) +$(eval $(call gb_Library_add_cxxflags,skia, \ + $(gb_COMPILEROPTFLAGS) \ +)) +endif + ifeq ($(OS),WNT) # Skia can be built with or without UNICODE set, in LO sources we explicitly use the *W unicode # variants, so build Skia with UNICODE to make it also use the *W variants. |