Fix build with GLM 0.9.9.

This patch is an amalgamation of these upstream commits:

https://github.com/LibreOffice/core/commit/953c4add8fd76d88f49a81ae4c21a1fdcc007e57
https://github.com/LibreOffice/core/commit/5f1bf6598b5725ad1e50ae9f7ec7524cc8a834fa

diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk
index 28bc87b89057..69d4c0552636 100644
--- a/chart2/Library_chartcore.mk
+++ b/chart2/Library_chartcore.mk
@@ -23,6 +23,12 @@ $(eval $(call gb_Library_add_defs,chartcore,\
     -DOOO_DLLIMPLEMENTATION_CHARTVIEW \
 ))
 
+ifeq ($(SYSTEM_GLM),TRUE)
+$(eval $(call gb_Library_add_defs,chartcore,\
+        -DGLM_ENABLE_EXPERIMENTAL \
+))
+endif
+
 $(eval $(call gb_Library_set_precompiled_header,chartcore,$(SRCDIR)/chart2/inc/pch/precompiled_chartcore))
 
 $(eval $(call gb_Library_use_externals,chartcore,\
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index c1f3cc5324e7..0b684c6185a9 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -49,6 +49,12 @@ $(eval $(call gb_Library_add_defs,vcl,\
 	-DENABLE_MERGELIBS=$(if $(MERGELIBS),1,0) \
 ))
 
+ifeq ($(SYSTEM_GLM),TRUE)
+$(eval $(call gb_Library_add_defs,vcl,\
+        -DGLM_ENABLE_EXPERIMENTAL \
+))
+endif
+
 $(eval $(call gb_Library_use_sdk_api,vcl))
 
 $(eval $(call gb_Library_use_custom_headers,vcl,\
diff --git a/vcl/Executable_icontest.mk b/vcl/Executable_icontest.mk
index ce163303f8a4..8c917b71cd0e 100644
--- a/vcl/Executable_icontest.mk
+++ b/vcl/Executable_icontest.mk
@@ -19,6 +19,12 @@ $(eval $(call gb_Executable_use_externals,icontest,\
 ))
 endif
 
+ifeq ($(SYSTEM_GLM),TRUE)
+$(eval $(call gb_Executable_add_defs,icontest,\
+    -DGLM_ENABLE_EXPERIMENTAL \
+))
+endif
+
 $(eval $(call gb_Executable_use_api,icontest,\
     offapi \
     udkapi \