c351f920c4
This change is not about speed improvements but diverse preparations to make changes/reading/understanding easier. It does not change speed AFAIK. Added a global static debug-only counter to allow getting an overview over number of all allocated SfxPoolItem's and the still alloated ones at office shutdown. The values are used in Application::~Application to make a short info statement. It allows to be able to quickly detect if an error in future changes may lead to memory losses - these would show in dramaitically higher numbers then (hopefully) immediately. Moved SfxVoidItem to own source/header. Added container library interface support to SfxItemSet, adapted already some methods to use it - not all possible, I will commit & get status from gerrit 1st if all still works and then continue. Changed INVALID_POOL_ITEM from -1 to use a global unique incarnation of an isolated derivation from SfxPoolItem. It allows to avoid the (-1) pointer hack. Since still just pointers are compared it's not worse. NOTE: That way, more 'special' SfxPoolItem's may be used for more States - a candidate is e.g. SfxVoidItem(0) which represents ::DISABLED state -- unfortunately not only, it is also used (mainly for UI stuff) with 'real' WhichIDs - hard to sort out, will have to stay that way for now AFAIK. Changed INVALID_POOL_ITEM stuff to use a static extern incarnated item in combination with a inline method to return it, called GetGlobalStaticInvalidItemInstance(). Isolated create/cleanup of a SfxPoolItem entry in SfxItemSet to further modularize/simplify that. It is currently from constructor & destructor but already shows that PoolDefaults are handled differently - probably an error. Still, for now, do no change in behaviour (yet). Got regular 'killed by the Kill-Wrapper' messages from gerrit, seems to have to do with UITest_sw_findReplace. That python/c++ scripting stuff is hard to debug, but finally I identified the problem has to do with the INVALID_POOL_ITEM change. It was in SfxItemSet::InvalidateAllItems() where still a (-1) was used -> chaos in detecting invalid items. Change-Id: I595e1f25ab660c35c4f2d19c233d1dfadfe25214 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155675 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
197 lines
5.2 KiB
Makefile
197 lines
5.2 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,svl))
|
|
|
|
$(eval $(call gb_Library_use_externals,svl,\
|
|
boost_headers \
|
|
$(if $(filter LINUX MACOSX ANDROID iOS %BSD SOLARIS HAIKU,$(OS)), \
|
|
curl) \
|
|
dtoa \
|
|
icu_headers \
|
|
icuuc \
|
|
mdds_headers \
|
|
libxml2 \
|
|
))
|
|
|
|
$(eval $(call gb_Library_set_componentfile,svl,svl/util/svl,services))
|
|
|
|
$(eval $(call gb_Library_set_include,svl,\
|
|
-I$(SRCDIR)/svl/source/inc \
|
|
$$(INCLUDE) \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_custom_headers,svl,\
|
|
officecfg/registry \
|
|
))
|
|
|
|
$(eval $(call gb_Library_set_precompiled_header,svl,svl/inc/pch/precompiled_svl))
|
|
|
|
$(eval $(call gb_Library_use_sdk_api,svl))
|
|
|
|
$(eval $(call gb_Library_add_defs,svl,\
|
|
-DSVL_DLLIMPLEMENTATION \
|
|
))
|
|
|
|
ifeq ($(TLS),NSS)
|
|
$(eval $(call gb_Library_use_externals,svl,\
|
|
plc4 \
|
|
nss3 \
|
|
))
|
|
else
|
|
ifeq ($(TLS),OPENSSL)
|
|
$(eval $(call gb_Library_use_externals,svl,\
|
|
openssl \
|
|
openssl_headers \
|
|
))
|
|
endif
|
|
endif
|
|
|
|
$(eval $(call gb_Library_use_libraries,svl,\
|
|
basegfx \
|
|
comphelper \
|
|
cppu \
|
|
cppuhelper \
|
|
i18nlangtag \
|
|
i18nutil \
|
|
$(if $(ENABLE_JAVA), \
|
|
jvmfwk) \
|
|
sal \
|
|
salhelper \
|
|
sot \
|
|
tl \
|
|
ucbhelper \
|
|
utl \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_system_win32_libs,svl,\
|
|
advapi32 \
|
|
crypt32 \
|
|
gdi32 \
|
|
gdiplus \
|
|
imm32 \
|
|
mpr \
|
|
ole32 \
|
|
shell32 \
|
|
usp10 \
|
|
uuid \
|
|
version \
|
|
winspool \
|
|
setupapi \
|
|
shlwapi \
|
|
))
|
|
|
|
ifneq (,$(filter CRYPTO_NSS,$(BUILD_TYPE)))
|
|
$(eval $(call gb_Library_use_externals,svl,\
|
|
nss3 \
|
|
plc4 \
|
|
))
|
|
endif
|
|
|
|
$(eval $(call gb_Library_add_exception_objects,svl,\
|
|
svl/source/config/asiancfg \
|
|
svl/source/config/cjkoptions \
|
|
svl/source/config/ctloptions \
|
|
svl/source/config/itemholder2 \
|
|
svl/source/config/languageoptions \
|
|
svl/source/crypto/cryptosign \
|
|
svl/source/filepicker/pickerhistory \
|
|
svl/source/items/cenumitm \
|
|
svl/source/items/cintitem \
|
|
svl/source/items/custritm \
|
|
svl/source/items/flagitem \
|
|
svl/source/items/globalnameitem \
|
|
svl/source/items/grabbagitem \
|
|
svl/source/items/ilstitem \
|
|
svl/source/items/imageitm \
|
|
svl/source/items/intitem \
|
|
svl/source/items/int64item \
|
|
svl/source/items/itemiter \
|
|
svl/source/items/itempool \
|
|
svl/source/items/itemprop \
|
|
svl/source/items/IndexedStyleSheets \
|
|
svl/source/items/itemset \
|
|
svl/source/items/lckbitem \
|
|
svl/source/items/legacyitem \
|
|
svl/source/items/macitem \
|
|
svl/source/items/poolcach \
|
|
svl/source/items/poolitem \
|
|
svl/source/items/ptitem \
|
|
svl/source/items/rectitem \
|
|
svl/source/items/rngitem \
|
|
svl/source/items/sitem \
|
|
svl/source/items/slstitm \
|
|
svl/source/items/srchitem \
|
|
svl/source/items/stringio \
|
|
svl/source/items/stritem \
|
|
svl/source/items/style \
|
|
svl/source/items/stylepool \
|
|
svl/source/items/visitem \
|
|
svl/source/items/voiditem \
|
|
svl/source/items/whiter \
|
|
svl/source/misc/PasswordHelper \
|
|
svl/source/misc/adrparse \
|
|
$(if $(filter DESKTOP,$(BUILD_TYPE)),\
|
|
svl/source/misc/documentlockfile \
|
|
svl/source/misc/msodocumentlockfile) \
|
|
svl/source/misc/filenotation \
|
|
svl/source/misc/fstathelper \
|
|
svl/source/misc/getstringresource \
|
|
svl/source/misc/gridprinter \
|
|
svl/source/misc/inethist \
|
|
svl/source/misc/inettype \
|
|
svl/source/misc/lngmisc \
|
|
svl/source/misc/lockfilecommon \
|
|
svl/source/misc/ownlist \
|
|
svl/source/misc/sharecontrolfile \
|
|
svl/source/misc/sharedstring \
|
|
svl/source/misc/sharedstringpool \
|
|
svl/source/misc/strmadpt \
|
|
svl/source/misc/urihelper \
|
|
svl/source/notify/SfxBroadcaster \
|
|
svl/source/notify/broadcast \
|
|
svl/source/notify/listener \
|
|
svl/source/notify/lstner \
|
|
svl/source/numbers/currencytable \
|
|
svl/source/numbers/numfmuno \
|
|
svl/source/numbers/numuno \
|
|
svl/source/numbers/supservs \
|
|
svl/source/numbers/zforfind \
|
|
svl/source/numbers/zforlist \
|
|
svl/source/numbers/zformat \
|
|
svl/source/numbers/zforscan \
|
|
svl/source/svsql/converter \
|
|
svl/source/undo/undo \
|
|
svl/source/uno/pathservice \
|
|
))
|
|
|
|
ifeq ($(OS),WNT)
|
|
$(eval $(call gb_Library_add_exception_objects,svl,\
|
|
svl/source/svdde/ddecli \
|
|
svl/source/svdde/ddedata \
|
|
svl/source/svdde/ddestrg \
|
|
svl/source/svdde/ddesvr \
|
|
))
|
|
|
|
else
|
|
$(eval $(call gb_Library_add_exception_objects,svl,\
|
|
svl/unx/source/svdde/ddedummy \
|
|
))
|
|
endif
|
|
# vim: set noet sw=4 ts=4:
|