forked from amazingfate/loongoffice
Emscripten and WASM do have some support for SSSE3, so let's try to use it, with -msimd128. See https://emscripten.org/docs/porting/simd.html. WASM is not x86, though, so avoid use of inline x86 assembly, like the CPUID instruction. Emscripten does not have <mmintrin.h> but does have <xmmintrin.h>, <emmintrin.h>, and <tmmintrin.h>. Change-Id: Ic3a47291f6c6dee6843e93ccecc92a643b269cb1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146691 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
37 lines
1.3 KiB
Makefile
37 lines
1.3 KiB
Makefile
# -*- 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_ExternalProject_ExternalProject,pixman))
|
|
|
|
$(eval $(call gb_ExternalProject_register_targets,pixman,\
|
|
build \
|
|
))
|
|
|
|
# ANDROID:
|
|
# The pixman-cpu.c code wants to read /proc/<pid>/auxv, but
|
|
# the Android headers don't define Elf32_auxv_t.
|
|
#
|
|
# Maybe we should instead just patch the arm_has_* booleans in
|
|
# pixman-cpu.c to be hardcoded as TRUE and patch out the run-time
|
|
# check?
|
|
$(call gb_ExternalProject_get_state_target,pixman,build) :
|
|
$(call gb_Trace_StartRange,pixman,EXTERNAL)
|
|
$(call gb_ExternalProject_run,build,\
|
|
$(gb_RUN_CONFIGURE) ./configure \
|
|
$(if $(filter TRUE,$(DISABLE_DYNLOADING)),--disable-shared,--disable-static) \
|
|
$(if $(filter ANDROID,$(OS)),--disable-arm-simd --disable-arm-neon --disable-arm-a64-neon --disable-arm-iwmmxt) \
|
|
$(gb_CONFIGURE_PLATFORMS) \
|
|
$(if $(CROSS_COMPILING),$(if $(filter INTEL ARM,$(CPUNAME)),ac_cv_c_bigendian=no)) \
|
|
$(if $(filter EMSCRIPTEN,$(OS)),CFLAGS="-O3 -pthread -msimd128") \
|
|
&& $(MAKE) \
|
|
)
|
|
$(call gb_Trace_EndRange,pixman,EXTERNAL)
|
|
|
|
# vim: set noet sw=4 ts=4:
|