Revert "make skia into static library"

This reverts commit 6517ce70e5.

Reason for revert: 

<_rene__> noelgrandin: ping?
<_rene__> noelgrandin: /usr/bin/ld: /home/rene/LibreOffice/git/master/workdir/LinkTarget/StaticLibrary/libskia.a: error adding symbols: archive has no index; run ranlib to add one
<_rene__> noelgrandin: caused by your skia static library change. I think I pointed that out once already...
<_rene__> $ ld -v
<_rene__> GNU ld (GNU Binutils for Debian) 2.42
<noelgrandin> hmm, it's not an ld version issue, because I have ld 2.41
<_rene__> gcc version 13.2.0 (Debian 13.2.0-24) 
<_rene__> and
<_rene__> Debian clang version 16.0.6 (27)
<_rene__> fwiw, too
<noelgrandin> is that a mergelibs build, or a regular build?
<_rene__> mergelibs
<_rene__> (the "normal" one, not =more)
<_rene__> noelgrandin: ... and LTO
<_rene__> noelgrandin: (saying because googling gives me https://github.com/mesonbuild/meson/issues/8371. and yes, .a is built with clang and the rest with gcc "of course")
<_rene__> noelgrandin: but the Linux release builds _do_ that:
<_rene__> $ grep -E "(lto|merge)" distro-configs/LibreOfficeLinux.conf 
<_rene__> --enable-mergelibs
<_rene__> --enable-lto
<_rene__> $
<loircbot> LibreOffice (core) [libreoffice-7-6-7] lohmaier+LibreOffice · readlicense_oo/license/CREDITS.fodt · update credits
<noelgrandin> oh yeah, good spotting
<noelgrandin> yes, LTO is going to be a problem because skia is built with clang

Change-Id: I96c63109d2856c6e4cb22cf9ac945d4cfa9848c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167227
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: René Engelhard <rene@debian.org>
Tested-by: Jenkins
This commit is contained in:
Noel Grandin 2024-05-07 19:27:43 +02:00 committed by René Engelhard
parent 6b62ff0eaf
commit 8b517dfae3
7 changed files with 51 additions and 69 deletions

View file

@ -135,20 +135,15 @@ $(call gb_LinkTarget_set_include,$(1),\
-I$(SRCDIR)/external/skia/inc/ \
$$(INCLUDE) \
)
$(call gb_LinkTarget_use_static_libraries,$(1),skia)
$(call gb_LinkTarget_use_libraries,$(1),skia)
$(call gb_LinkTarget_add_defs,$(1),\
-DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \
-DSKIA_DLL \
)
endef
define gb_ExternalProject__use_skia
$(call gb_ExternalProject_use_static_libraries,$(1),\
skia \
)
endef
$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
skia \
))
endif
ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))

View file

@ -7,18 +7,19 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,skia))
$(eval $(call gb_Library_Library,skia))
$(eval $(call gb_StaticLibrary_set_warnings_disabled,skia))
$(eval $(call gb_Library_set_warnings_disabled,skia))
$(eval $(call gb_StaticLibrary_use_unpacked,skia,skia))
$(eval $(call gb_Library_use_unpacked,skia,skia))
$(eval $(call gb_StaticLibrary_use_clang,skia))
$(eval $(call gb_Library_use_clang,skia))
#This currently results in all sorts of compile complaints
#$(eval $(call gb_StaticLibrary_set_clang_precompiled_header,skia,external/skia/inc/pch/precompiled_skia))
#$(eval $(call gb_Library_set_clang_precompiled_header,skia,external/skia/inc/pch/precompiled_skia))
$(eval $(call gb_StaticLibrary_add_defs,skia,\
$(eval $(call gb_Library_add_defs,skia,\
-DSKIA_IMPLEMENTATION=1 \
-DSKIA_DLL \
-DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \
$(if $(filter INTEL,$(CPUNAME)),$(if $(filter WNT,$(OS)),-DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE1,-DSK_CPU_SSE_LEVEL=0)) \
$(if $(filter X86_64,$(CPUNAME)),-DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2) \
@ -32,7 +33,7 @@ $(eval $(call gb_StaticLibrary_add_defs,skia,\
# Some code may be always built with optimizations, even with Skia debug enabled (see
# $(gb_COMPILEROPTFLAGS) usage).
ifeq ($(ENABLE_SKIA_DEBUG),)
$(eval $(call gb_StaticLibrary_add_cxxflags,skia, \
$(eval $(call gb_Library_add_cxxflags,skia, \
$(gb_COMPILEROPTFLAGS) \
$(PCH_NO_CODEGEN) \
))
@ -41,11 +42,11 @@ endif
ifeq ($(OS),WNT)
# Skia can be built with or without UNICODE set, in LO sources we explicitly use the *W unicode
# variants, so build Skia with UNICODE to make it also use the *W variants.
$(eval $(call gb_StaticLibrary_add_defs,skia,\
$(eval $(call gb_Library_add_defs,skia,\
-DUNICODE -D_UNICODE \
))
ifneq ($(gb_ENABLE_PCH),)
$(eval $(call gb_StaticLibrary_add_cxxflags,skia, \
$(eval $(call gb_Library_add_cxxflags,skia, \
-FIsrc/utils/win/SkDWriteNTDDI_VERSION.h \
))
endif
@ -53,13 +54,13 @@ endif
# The clang-cl provided with at least VS 2019 16.11.28 is known-broken with -std:c++20:
ifneq ($(filter -std:c++20,$(CXXFLAGS_CXX11)),)
ifeq ($(LO_CLANG_VERSION),120000)
$(eval $(call gb_StaticLibrary_add_cxxflags,skia, \
$(eval $(call gb_Library_add_cxxflags,skia, \
-std:c++17 \
))
endif
endif
$(eval $(call gb_StaticLibrary_use_system_win32_libs,skia,\
$(eval $(call gb_Library_use_system_win32_libs,skia,\
fontsub \
ole32 \
oleaut32 \
@ -80,7 +81,7 @@ endif
else ifeq ($(OS),MACOSX)
$(eval $(call gb_StaticLibrary_use_system_darwin_frameworks,skia,\
$(eval $(call gb_Library_use_system_darwin_frameworks,skia,\
Cocoa \
Metal \
QuartzCore \
@ -88,13 +89,13 @@ $(eval $(call gb_StaticLibrary_use_system_darwin_frameworks,skia,\
ifneq ($(SKIA_DISABLE_VMA_USE_STL_SHARED_MUTEX),)
# Disable std::shared_mutex usage on MacOSX < 10.12.
$(eval $(call gb_StaticLibrary_add_defs,skia,\
$(eval $(call gb_Library_add_defs,skia,\
-DVMA_USE_STL_SHARED_MUTEX=0 \
))
endif
else
$(eval $(call gb_StaticLibrary_use_externals,skia,\
$(eval $(call gb_Library_use_externals,skia,\
expat \
freetype \
fontconfig \
@ -102,14 +103,14 @@ $(eval $(call gb_StaticLibrary_use_externals,skia,\
endif
# we don't enable jpeg for skia, but it has incorrect #ifdef's in places
$(eval $(call gb_StaticLibrary_use_externals,skia,\
$(eval $(call gb_Library_use_externals,skia,\
zlib \
libjpeg \
libpng \
))
ifeq ($(OS),LINUX)
$(eval $(call gb_StaticLibrary_add_libs,skia,\
$(eval $(call gb_Library_add_libs,skia,\
-lm \
-ldl \
-lX11-xcb \
@ -117,11 +118,11 @@ $(eval $(call gb_StaticLibrary_add_libs,skia,\
))
endif
$(eval $(call gb_StaticLibrary_use_libraries,skia,\
$(eval $(call gb_Library_use_libraries,skia,\
sal \
))
$(eval $(call gb_StaticLibrary_set_include,skia,\
$(eval $(call gb_Library_set_include,skia,\
$$(INCLUDE) \
-I$(gb_UnpackedTarball_workdir)/skia \
-I$(gb_UnpackedTarball_workdir)/skia/modules/skcms/ \
@ -130,15 +131,15 @@ $(eval $(call gb_StaticLibrary_set_include,skia,\
-I$(SRCDIR)/external/skia/inc/ \
))
$(eval $(call gb_StaticLibrary_add_exception_objects,skia,\
$(eval $(call gb_Library_add_exception_objects,skia,\
external/skia/source/SkMemory_malloc \
external/skia/source/skia_compiler \
external/skia/source/skia_opts \
))
$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,skia,cpp))
$(eval $(call gb_Library_set_generated_cxx_suffix,skia,cpp))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/base/SkArenaAlloc \
UnpackedTarball/skia/src/base/SkBezierCurves \
UnpackedTarball/skia/src/base/SkBlockAllocator \
@ -621,7 +622,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
))
ifneq ($(SKIA_GPU),)
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkGpuBlurUtils \
UnpackedTarball/skia/src/gpu/AtlasTypes \
UnpackedTarball/skia/src/gpu/Blend \
@ -816,7 +817,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/text/gpu/VertexFiller \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/GrAuditTrail \
UnpackedTarball/skia/src/gpu/ganesh/GrBlurUtils \
UnpackedTarball/skia/src/gpu/ganesh/GrDrawOpTest \
@ -862,7 +863,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
))
ifeq ($(SKIA_GPU),VULKAN)
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkBuffer \
UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkCaps \
UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkCommandBuffer \
@ -900,7 +901,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/vk/VulkanMemory \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/tools/gpu/vk/VkTestUtils \
UnpackedTarball/skia/tools/sk_app/VulkanWindowContext \
UnpackedTarball/skia/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator \
@ -909,42 +910,42 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
endif
endif
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/ports/SkGlobalInitialization_default \
UnpackedTarball/skia/src/ports/SkImageGenerator_none \
UnpackedTarball/skia/src/ports/SkOSFile_stdio \
))
$(eval $(call gb_StaticLibrary_add_exception_objects,skia,\
$(eval $(call gb_Library_add_exception_objects,skia,\
external/skia/source/skia_opts_ssse3, $(CXXFLAGS_INTRINSICS_SSSE3) $(LO_CLANG_CXXFLAGS_INTRINSICS_SSSE3) \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/opts/SkOpts_avx, $(CXXFLAGS_INTRINSICS_AVX) $(LO_CLANG_CXXFLAGS_INTRINSICS_AVX) \
$(LO_SKIA_AVOID_INLINE_COPIES) \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/opts/SkOpts_hsw, \
$(CXXFLAGS_INTRINSICS_AVX2) $(CXXFLAGS_INTRINSICS_F16C) $(CXXFLAGS_INTRINSICS_FMA) \
$(LO_CLANG_CXXFLAGS_INTRINSICS_AVX2) $(LO_CLANG_CXXFLAGS_INTRINSICS_F16C) $(LO_CLANG_CXXFLAGS_INTRINSICS_FMA) \
$(LO_SKIA_AVOID_INLINE_COPIES) \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/opts/SkOpts_ssse3, $(CXXFLAGS_INTRINSICS_SSSE3) $(LO_CLANG_CXXFLAGS_INTRINSICS_SSSE3) \
$(LO_SKIA_AVOID_INLINE_COPIES) \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/opts/SkOpts_skx, $(CXXFLAGS_INTRINSICS_AVX512) $(LO_CLANG_CXXFLAGS_INTRINSICS_AVX512)\
$(LO_SKIA_AVOID_INLINE_COPIES) \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/tools/sk_app/WindowContext \
))
ifeq ($(OS),WNT)
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/ports/SkDebug_win \
UnpackedTarball/skia/src/ports/SkFontHost_win \
UnpackedTarball/skia/src/fonts/SkFontMgr_indirect \
@ -962,18 +963,18 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/utils/win/SkIStream \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/tools/sk_app/win/RasterWindowContext_win \
))
ifeq ($(SKIA_GPU),VULKAN)
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/tools/sk_app/win/VulkanWindowContext_win \
))
endif
else ifeq ($(OS),MACOSX)
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/ports/SkDebug_stdio \
UnpackedTarball/skia/src/ports/SkImageGeneratorCG \
UnpackedTarball/skia/src/ports/SkFontMgr_mac_ct \
@ -987,7 +988,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
))
ifeq ($(SKIA_GPU),METAL)
$(eval $(call gb_StaticLibrary_add_generated_objcxxobjects,skia,\
$(eval $(call gb_Library_add_generated_objcxxobjects,skia,\
UnpackedTarball/skia/tools/sk_app/MetalWindowContext \
UnpackedTarball/skia/tools/sk_app/mac/MetalWindowContext_mac \
UnpackedTarball/skia/tools/sk_app/mac/WindowContextFactory_mac \
@ -995,7 +996,7 @@ $(eval $(call gb_StaticLibrary_add_generated_objcxxobjects,skia,\
# Not used, uses OpenGL - UnpackedTarball/skia/tools/sk_app/mac/RasterWindowContext_mac
$(eval $(call gb_StaticLibrary_add_generated_objcxxobjects,skia,\
$(eval $(call gb_Library_add_generated_objcxxobjects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlAttachment \
UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlBuffer \
UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlCaps \
@ -1025,7 +1026,7 @@ $(eval $(call gb_StaticLibrary_add_generated_objcxxobjects,skia,\
endif
else
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/ports/SkDebug_stdio \
UnpackedTarball/skia/src/ports/SkFontConfigInterface \
UnpackedTarball/skia/src/ports/SkFontConfigInterface_direct \
@ -1039,11 +1040,11 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/ports/SkOSLibrary_posix \
))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/tools/sk_app/unix/RasterWindowContext_unix \
))
ifeq ($(SKIA_GPU),VULKAN)
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/tools/sk_app/unix/VulkanWindowContext_unix \
))
endif
@ -1053,7 +1054,7 @@ endif
# Skcms code is used by png writer, which is used by SkiaHelper::dump(). Building
# this without optimizations would mean having each pixel of saved images be
# processed by unoptimized code.
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,skia,\
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/modules/skcms/skcms, $(gb_COMPILEROPTFLAGS) \
))

View file

@ -11,7 +11,7 @@ $(eval $(call gb_Module_Module,skia))
$(eval $(call gb_Module_add_targets,skia,\
UnpackedTarball_skia \
StaticLibrary_skia \
Library_skia \
))

View file

@ -151,6 +151,7 @@ gb_PrecompiledHeader_ignore_flags_system := \
-DCPPUNIT_PLUGIN_EXPORT='extern "C" SAL_DLLPUBLIC_EXPORT' \
-DOOO_DLLIMPLEMENTATION_TEST \
-DSK_USER_CONFIG_HEADER=% \
-DSKIA_DLL \
-DGLM_FORCE_CTOR_INIT \
-DVCL_INTERNALS \
-DZLIB_CONST \

View file

@ -63,7 +63,6 @@ $(eval $(call gb_Library_use_externals,vclplug_gen,\
Xrender \
$(if $(filter SKIA,$(BUILD_TYPE)), \
skia \
libpng \
fontconfig \
) \
))
@ -73,9 +72,6 @@ $(eval $(call gb_Library_add_libs,vclplug_gen,\
-lXext \
-lSM \
-lICE \
$(if $(filter SKIA,$(BUILD_TYPE)), \
-lX11-xcb \
) \
))
$(eval $(call gb_Library_add_exception_objects,vclplug_gen,\

View file

@ -65,7 +65,6 @@ $(eval $(call gb_Library_use_externals,vclplug_osx,\
harfbuzz \
$(if $(filter SKIA,$(BUILD_TYPE)), \
skia \
libpng \
) \
))
@ -155,10 +154,6 @@ $(eval $(call gb_Library_use_system_darwin_frameworks,vclplug_osx,\
Cocoa \
Carbon \
CoreFoundation \
$(if $(filter SKIA,$(BUILD_TYPE)), \
QuartzCore \
Metal \
) \
))
ifneq ($(ENABLE_MACOSX_SANDBOX),TRUE)

View file

@ -61,10 +61,7 @@ $(eval $(call gb_Library_use_externals,vclplug_win,\
boost_headers \
epoxy \
harfbuzz \
$(if $(filter SKIA,$(BUILD_TYPE)), \
skia \
libpng \
) \
$(if $(filter SKIA,$(BUILD_TYPE)),skia) \
))
$(eval $(call gb_Library_add_exception_objects,vclplug_win,\
@ -118,9 +115,6 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_win,\
))
$(eval $(call gb_Library_use_system_win32_libs,vclplug_win,\
$(if $(filter SKIA,$(BUILD_TYPE)), \
usp10 \
) \
advapi32 \
d2d1 \
dwmapi \