diff --git a/Makefile.fetch b/Makefile.fetch index c80ddfd004d6..30ab92eba3f6 100644 --- a/Makefile.fetch +++ b/Makefile.fetch @@ -134,6 +134,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_$(gb_Side).mk $(SRCDIR)/download.lst $(S $(call fetch_Optional,GPGMEPP,GPGME_TARBALL) \ $(call fetch_Optional,GRAPHITE,GRAPHITE_TARBALL) \ $(call fetch_Optional,HARFBUZZ,HARFBUZZ_TARBALL) \ + $(call fetch_Optional,HIGHWAY,HIGHWAY_TARBALL) \ $(call fetch_Optional,HSQLDB,HSQLDB_TARBALL) \ $(call fetch_Optional,HUNSPELL,HUNSPELL_TARBALL) \ $(call fetch_Optional,HYPHEN,HYPHEN_TARBALL) \ diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index ef9d1f014afe..3125cae9d9e8 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -514,6 +514,24 @@ else endif +ifneq ($(filter HIGHWAY,$(BUILD_TYPE)),) + +define gb_LinkTarget__use_highway +$(call gb_LinkTarget_set_include,$(1),\ + -I$(gb_UnpackedTarball_workdir)/highway \ + $$(INCLUDE) \ +) +$(call gb_LinkTarget_use_static_libraries,$(1),highway) + +endef + +define gb_ExternalProject__use_highway +$(call gb_ExternalProject_use_static_libraries,$(1),highway) + +endef + +endif # HIGHWAY + ifneq ($(SYSTEM_LIBJPEG),) define gb_LinkTarget__use_libjpeg diff --git a/download.lst b/download.lst index 5d0709a6a556..95264557fec4 100644 --- a/download.lst +++ b/download.lst @@ -292,6 +292,11 @@ HARFBUZZ_TARBALL := harfbuzz-14.3.1.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts +HIGHWAY_SHA256SUM := 36f672ab48ddb3c8555e9e89e16fe400cd7d16c6eb455a1a3d0c146a63ababdc +HIGHWAY_TARBALL := highway-1.4.0.tar.gz +# three static lines +# so that git cherry-pick +# will not run into conflicts HSQLDB_SHA256SUM := d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370 HSQLDB_TARBALL := 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip # three static lines diff --git a/external/Module_external.mk b/external/Module_external.mk index ced11788f3ae..9110f10acf24 100644 --- a/external/Module_external.mk +++ b/external/Module_external.mk @@ -44,6 +44,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\ $(call gb_Helper_optional,GPGMEPP,gpgmepp) \ $(call gb_Helper_optional,GRAPHITE,graphite) \ $(call gb_Helper_optional,HARFBUZZ,harfbuzz) \ + $(call gb_Helper_optional,HIGHWAY,highway) \ $(call gb_Helper_optional,HSQLDB,hsqldb) \ $(call gb_Helper_optional,HUNSPELL,hunspell) \ $(call gb_Helper_optional,HYPHEN,hyphen) \ diff --git a/external/highway/Makefile b/external/highway/Makefile new file mode 100644 index 000000000000..e4968cf85fb6 --- /dev/null +++ b/external/highway/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/external/highway/Module_highway.mk b/external/highway/Module_highway.mk new file mode 100644 index 000000000000..3ba9f73be9c9 --- /dev/null +++ b/external/highway/Module_highway.mk @@ -0,0 +1,17 @@ +# -*- 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_Module_Module,highway)) + +$(eval $(call gb_Module_add_targets,highway,\ + StaticLibrary_highway \ + UnpackedTarball_highway \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/highway/README b/external/highway/README new file mode 100644 index 000000000000..ab1fe14dfd20 --- /dev/null +++ b/external/highway/README @@ -0,0 +1,4 @@ +According to the library's own README: "Highway is a C++ library that provides +portable SIMD/vector intrinsics." + +From [https://github.com/google/highway]. diff --git a/external/highway/StaticLibrary_highway.mk b/external/highway/StaticLibrary_highway.mk new file mode 100644 index 000000000000..5adbde67684d --- /dev/null +++ b/external/highway/StaticLibrary_highway.mk @@ -0,0 +1,29 @@ +# -*- 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,highway)) + +$(eval $(call gb_StaticLibrary_use_unpacked,highway,highway)) + +$(eval $(call gb_StaticLibrary_set_warnings_disabled,highway)) + +$(eval $(call gb_StaticLibrary_set_include,highway,\ + -I$(WORKDIR)/UnpackedTarball/highway \ + $$(INCLUDE) \ +)) + +$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,highway,cc)) + +$(eval $(call gb_StaticLibrary_add_generated_exception_objects,highway,\ + UnpackedTarball/highway/hwy/timer \ + UnpackedTarball/highway/hwy/targets \ + UnpackedTarball/highway/hwy/abort \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/highway/UnpackedTarball_highway.mk b/external/highway/UnpackedTarball_highway.mk new file mode 100644 index 000000000000..99e4cd88030e --- /dev/null +++ b/external/highway/UnpackedTarball_highway.mk @@ -0,0 +1,14 @@ +# -*- 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_UnpackedTarball_UnpackedTarball,highway)) + +$(eval $(call gb_UnpackedTarball_set_tarball,highway,$(HIGHWAY_TARBALL))) + +# vim: set noet sw=4 ts=4: diff --git a/readlicense_oo/license/license.xml b/readlicense_oo/license/license.xml index fa6abbf2c1af..63fce3a777be 100644 --- a/readlicense_oo/license/license.xml +++ b/readlicense_oo/license/license.xml @@ -600,6 +600,41 @@ "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+The following software may be included in this product: highway. highway + is dual-licensed under the Apache License 2.0 or the BSD 3-Clause + License.
+Jump to Apache License Version + 2.0
+Copyright (c) The Highway Project Authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met:
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+The following software may be included in this product: HSQLDB. Use of any of this software is governed by