external: add highway

highway is a C++ library that provides portable SIMD/vector intrinsics

Downloaded from https://github.com/google/highway/releases/download/1.4.0/highway-1.4.0.tar.gz

Change-Id: I0e8f0b9a649680e318a0ed7f127ace74310c87bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207706
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
This commit is contained in:
Jesus Solis
2026-08-21 15:13:36 +02:00
committed by Xisco Fauli
parent 377968ba5f
commit 20716b38c8
10 changed files with 131 additions and 0 deletions
+1
View File
@@ -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) \
+18
View File
@@ -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
+5
View File
@@ -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
+1
View File
@@ -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) \
+7
View File
@@ -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:
+17
View File
@@ -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:
+4
View File
@@ -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].
+29
View File
@@ -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:
+14
View File
@@ -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:
+35
View File
@@ -600,6 +600,41 @@
"AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
ENHANCEMENTS, OR MODIFICATIONS.</p>
</div>
<div class="HIGHWAY">
<h2>highway</h2>
<p>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.</p>
<p><a href="#a__Apache_License_version_2_0">Jump to Apache License Version
2.0</a></p>
<h3>BSD 3-Clause License</h3>
<p>Copyright (c) The Highway Project Authors. All rights reserved.</p>
<p>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:</p>
<ol>
<li>Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.</li>
<li>Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.</li>
<li>Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.</li>
</ol>
<p>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.</p>
</div>
<div class="HSQLDB">
<h2>HSQLDB</h2>
<p>The following software may be included in this product: HSQLDB. Use of any of this software is governed by