office-gobmx/writerperfect/Library_wpftwriter.mk
Armin Le Grand (Allotropia) 02140554ee WASM --enable-wasm-strip now skips lots of LO code
... resulting in a stripped-down, Writer-only build to decrease
the resulting WASM bytecode size.

It removes the following code from the build:
* All other major modules: Base, Calc, Chart, Draw, Impress and
  Math and related writerperfect filters
* The premultiply tables
* The (auto-)recovery functionality
* All accessibility (but not the accessibility document checker)
* The LanguageGuess component
* EPUB support
* The start center / BackingWindow
* The TipOfTheDay functionality
* The splash screen communication

Currently crashs with anything different then soffice --writer.
Closing the document also still crashes.

FYI: many of these features are now behind ENABLE_WASM_STRIP_*
defines, but they normally don't work on their own, globally!
That's because we started with stripping the main components.

Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126182
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-20 12:28:54 +01:00

133 lines
3.8 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/.
#
# 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_Library_Library,wpftwriter))
$(eval $(call gb_Library_set_include,wpftwriter,\
-I$(SRCDIR)/writerperfect/inc \
$$(INCLUDE) \
))
$(eval $(call gb_Library_set_componentfile,wpftwriter,writerperfect/source/writer/wpftwriter,services))
$(eval $(call gb_Library_add_componentimpls,wpftwriter, \
$(if $(ENABLE_WASM_STRIP_EPUB),,extended) \
$(if $(ENABLE_WASM_STRIP_SWEXPORTS),,extended2) \
))
$(eval $(call gb_Library_use_sdk_api,wpftwriter))
$(eval $(call gb_Library_use_common_precompiled_header,wpftwriter))
$(eval $(call gb_Library_use_libraries,wpftwriter,\
comphelper \
cppu \
cppuhelper \
i18nlangtag \
vcl \
sal \
sax \
sfx \
sot \
svt \
svx \
tl \
ucbhelper \
utl \
vcl \
writerperfect \
xo \
))
ifneq ($(ENABLE_WASM_STRIP_EPUB),TRUE)
$(eval $(call gb_Library_use_externals,wpftwriter,\
epubgen \
))
endif
$(eval $(call gb_Library_use_externals,wpftwriter,\
abw \
boost_headers \
ebook \
$(if $(ENABLE_WASM_STRIP_SWEXPORTS),,etonyek) \
icu_headers \
icui18n \
icuuc \
liblangtag \
libxml2 \
mwaw \
odfgen \
revenge \
staroffice \
wpd \
wpg \
wps \
zlib \
))
ifneq ($(ENABLE_WASM_STRIP_EPUB),TRUE)
$(eval $(call gb_Library_add_exception_objects,wpftwriter,\
writerperfect/source/writer/EPUBExportDialog \
writerperfect/source/writer/EPUBExportFilter \
writerperfect/source/writer/EPUBExportUIComponent \
writerperfect/source/writer/EPUBPackage \
))
endif
ifneq ($(ENABLE_WASM_STRIP_SWEXPORTS),TRUE)
$(eval $(call gb_Library_add_exception_objects,wpftwriter,\
writerperfect/source/writer/AbiWordImportFilter \
writerperfect/source/writer/EBookImportFilter \
writerperfect/source/writer/MSWorksImportFilter \
writerperfect/source/writer/MWAWImportFilter \
writerperfect/source/writer/PagesImportFilter \
writerperfect/source/writer/WordPerfectImportFilter \
))
endif
$(eval $(call gb_Library_add_exception_objects,wpftwriter,\
writerperfect/source/writer/StarOfficeWriterImportFilter \
writerperfect/source/writer/exp/XMLBase64ImportContext \
writerperfect/source/writer/exp/XMLFootnoteImportContext \
writerperfect/source/writer/exp/XMLSectionContext \
writerperfect/source/writer/exp/XMLTextFrameContext \
writerperfect/source/writer/exp/XMLTextListContext \
writerperfect/source/writer/exp/XMLTextListItemContext \
writerperfect/source/writer/exp/txtparai \
writerperfect/source/writer/exp/txtstyli \
writerperfect/source/writer/exp/xmlfmt \
writerperfect/source/writer/exp/xmlictxt \
writerperfect/source/writer/exp/xmlimp \
writerperfect/source/writer/exp/xmlmetai \
writerperfect/source/writer/exp/xmltbli \
writerperfect/source/writer/exp/xmltext \
))
# On Windows, libepubgen-0.1.lib(EPUBGenerator.obj) references BCryptCloseAlgorithmProvider,
# BCryptGenRandom, and BCryptOpenAlgorithmProvider via
# workdir/UnpackedTarball/boost/boost/winapi/bcrypt.hpp:
ifeq ($(OS),WNT)
ifeq ($(SYSTEM_EPUBGEN)$(SYSTEM_BOOST),)
$(eval $(call gb_Library_add_libs,wpftwriter, \
Bcrypt.lib \
))
endif
endif
# vim: set noet sw=4 ts=4: