From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- pch/Makefile | 7 +++ pch/Module_pch.mk | 26 ++++++++++ pch/README.md | 5 ++ pch/StaticLibrary_precompiled_system.mk | 28 +++++++++++ pch/inc/clangfix.hxx | 31 ++++++++++++ pch/inc/pch/precompiled_system.cxx | 12 +++++ pch/inc/pch/precompiled_system.hxx | 85 +++++++++++++++++++++++++++++++++ pch/system_empty.cxx | 10 ++++ 8 files changed, 204 insertions(+) create mode 100644 pch/Makefile create mode 100644 pch/Module_pch.mk create mode 100644 pch/README.md create mode 100644 pch/StaticLibrary_precompiled_system.mk create mode 100644 pch/inc/clangfix.hxx create mode 100644 pch/inc/pch/precompiled_system.cxx create mode 100644 pch/inc/pch/precompiled_system.hxx create mode 100644 pch/system_empty.cxx (limited to 'pch') diff --git a/pch/Makefile b/pch/Makefile new file mode 100644 index 000000000..ccb1c85a0 --- /dev/null +++ b/pch/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/pch/Module_pch.mk b/pch/Module_pch.mk new file mode 100644 index 000000000..85bedb503 --- /dev/null +++ b/pch/Module_pch.mk @@ -0,0 +1,26 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +$(eval $(call gb_Module_Module,pch)) + +$(eval $(call gb_Module_add_targets,pch,\ + StaticLibrary_precompiled_system \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/pch/README.md b/pch/README.md new file mode 100644 index 000000000..4aebbc94b --- /dev/null +++ b/pch/README.md @@ -0,0 +1,5 @@ +# Precompiled Headers + +The purpose of this directory is to generate global precompiled headers +that can be used by any other gbuild library / executable. +The libraries themselves are not used. diff --git a/pch/StaticLibrary_precompiled_system.mk b/pch/StaticLibrary_precompiled_system.mk new file mode 100644 index 000000000..1812bc6aa --- /dev/null +++ b/pch/StaticLibrary_precompiled_system.mk @@ -0,0 +1,28 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_StaticLibrary_StaticLibrary,precompiled_system)) + +$(eval $(call gb_StaticLibrary_set_precompiled_header,precompiled_system,pch/inc/pch/precompiled_system)) + +$(eval $(call gb_StaticLibrary_use_external,precompiled_system,boost_headers)) + +$(eval $(call gb_StaticLibrary_add_exception_objects,precompiled_system,\ + pch/system_empty \ +)) + +# We use this to disable a weird "auto-link" feature of boost. +# Define it for the PCH, so that it's set in all cases, +# and gb_LinkTarget_reuse_precompiled_header enforces it for any uses. +$(eval $(call gb_StaticLibrary_add_defs,precompiled_system, \ + -DBOOST_ALL_NO_LIB \ +)) + + +# vim: set noet sw=4 ts=4: diff --git a/pch/inc/clangfix.hxx b/pch/inc/clangfix.hxx new file mode 100644 index 000000000..7280032ba --- /dev/null +++ b/pch/inc/clangfix.hxx @@ -0,0 +1,31 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifdef __clang__ +// This is a bit lame, but when using -DMACRO that wasn't present when the PCH was built, +// Clang suddenly subjects it to the -Wunused-macros check, which isn't the case otherwise. +// And many of these macros are not actually used. So use them here to silence the warnings. +// See gb_PrecompiledHeader_ignore_flags_system in solenv/gbuild/PrecompiledHeaders.mk . + +#ifdef FASTSAX_DLLIMPLEMENTATION +#endif +#ifdef SAX_DLLIMPLEMENTATION +#endif +#ifdef SCQAHELPER_DLLIMPLEMENTATION +#endif +#ifdef SYSTEM_EXPAT +#endif +#ifdef SYSTEM_LIBXML +#endif +#ifdef SYSTEM_ZLIB +#endif + +#endif // __clang__ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/pch/inc/pch/precompiled_system.cxx b/pch/inc/pch/precompiled_system.cxx new file mode 100644 index 000000000..ed382aeac --- /dev/null +++ b/pch/inc/pch/precompiled_system.cxx @@ -0,0 +1,12 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include "precompiled_system.hxx" + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/pch/inc/pch/precompiled_system.hxx b/pch/inc/pch/precompiled_system.hxx new file mode 100644 index 000000000..a7aa9bcf0 --- /dev/null +++ b/pch/inc/pch/precompiled_system.hxx @@ -0,0 +1,85 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +// Unlike other precompiled_* files, this one is (semi-)manually created. +// It is based on the output of +// (for file in */inc/pch/precompiled_*.hxx; do cat "$file" | grep -A 1000 -F "#if PCH_LEVEL >= 1" | grep -B 1000 -F "#endif // PCH_LEVEL >= 1"; done) | grep "#include" | sort -u +// which is then examined and used here. + +#if PCH_LEVEL >= 1 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif // PCH_LEVEL >= 1 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/pch/system_empty.cxx b/pch/system_empty.cxx new file mode 100644 index 000000000..2b7f95335 --- /dev/null +++ b/pch/system_empty.cxx @@ -0,0 +1,10 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3