From fd5a147a6366d828edb97dd7c6731a14794611ab Mon Sep 17 00:00:00 2001 From: David Tardon Date: Thu, 14 Apr 2011 12:35:11 +0200 Subject: gbuildize writerfilter --- writerfilter/Library_ooxml.mk | 287 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 287 insertions(+) create mode 100644 writerfilter/Library_ooxml.mk (limited to 'writerfilter/Library_ooxml.mk') diff --git a/writerfilter/Library_ooxml.mk b/writerfilter/Library_ooxml.mk new file mode 100644 index 000000000000..b4208362963f --- /dev/null +++ b/writerfilter/Library_ooxml.mk @@ -0,0 +1,287 @@ +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Initial Developer of the Original Code is +# David Tardon, Red Hat Inc. +# Portions created by the Initial Developer are Copyright (C) 2010 the +# Initial Developer. All Rights Reserved. +# +# Major Contributor(s): +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_Library_Library,ooxml)) + +$(eval $(call gb_Library_set_include,ooxml,\ + $$(INCLUDE) \ + -I$(realpath $(SRCDIR)/writerfilter/inc) \ + -I$(realpath $(SRCDIR)/writerfilter/source/ooxml) \ + -I$(WORKDIR)/writerfilter/inc \ + -I$(WORKDIR)/writerfilter/inc/ooxml \ + $(if $(filter YES,$(SYSTEM_LIBXML)),$(filter -I%,$(LIBXML_CFLAGS))) \ + -I$(OUTDIR)/inc \ + -I$(OUTDIR)/inc/offuh \ +)) + +include debug_setup.mk + +$(eval $(call gb_Library_set_defs,ooxml,\ + $$(DEFS) \ + -DWRITERFILTER_DLLIMPLEMENTATION \ + $(writerfilter_debug_flags) \ + $(if $(filter YES,$(SYSTEM_LIBXML)),$(filter-out -I%,$(LIBXML_CFLAGS))) \ +)) + +$(eval $(call gb_Library_add_linked_libs,ooxml,\ + comphelper \ + cppu \ + cppuhelper \ + i18nisolang1 \ + i18npaper \ + resourcemodel \ + sal \ + tl \ + $(gb_STDLIBS) \ +)) + +$(eval $(call gb_Library_add_exception_objects,ooxml,\ + writerfilter/source/dmapper/BorderHandler \ + writerfilter/source/dmapper/CellColorHandler \ + writerfilter/source/dmapper/CellMarginHandler \ + writerfilter/source/dmapper/ConversionHelper \ + writerfilter/source/dmapper/DomainMapper \ + writerfilter/source/dmapper/DomainMapper_Impl \ + writerfilter/source/dmapper/DomainMapperTableHandler \ + writerfilter/source/dmapper/DomainMapperTableManager \ + writerfilter/source/dmapper/FFDataHandler \ + writerfilter/source/dmapper/FontTable \ + writerfilter/source/dmapper/FormControlHelper \ + writerfilter/source/dmapper/GraphicHelpers \ + writerfilter/source/dmapper/GraphicImport \ + writerfilter/source/dmapper/MeasureHandler \ + writerfilter/source/dmapper/ModelEventListener \ + writerfilter/source/dmapper/NumberingManager \ + writerfilter/source/dmapper/OLEHandler \ + writerfilter/source/dmapper/PageBordersHandler \ + writerfilter/source/dmapper/PropertyIds \ + writerfilter/source/dmapper/PropertyMap \ + writerfilter/source/dmapper/PropertyMapHelper \ + writerfilter/source/dmapper/SectionColumnHandler \ + writerfilter/source/dmapper/SettingsTable \ + writerfilter/source/dmapper/StyleSheetTable \ + writerfilter/source/dmapper/TablePropertiesHandler \ + writerfilter/source/dmapper/TblStylePrHandler \ + writerfilter/source/dmapper/TDefTableHandler \ + writerfilter/source/dmapper/ThemeTable \ + writerfilter/source/dmapper/WrapPolygonHandler \ + writerfilter/source/ooxml/Handler \ + writerfilter/source/ooxml/OOXMLBinaryObjectReference \ + writerfilter/source/ooxml/OOXMLDocumentImpl \ + writerfilter/source/ooxml/OOXMLFactory \ + writerfilter/source/ooxml/OOXMLFastContextHandler \ + writerfilter/source/ooxml/OOXMLFastDocumentHandler \ + writerfilter/source/ooxml/OOXMLFastTokenHandler \ + writerfilter/source/ooxml/OOXMLParserState \ + writerfilter/source/ooxml/OOXMLPropertySetImpl \ + writerfilter/source/ooxml/OOXMLStreamImpl \ +)) + +ooxml_NAMESPACES := \ + dml-baseStylesheet \ + dml-baseTypes \ + dml-chartDrawing \ + dml-documentProperties \ + dml-graphicalObject \ + dml-shape3DCamera \ + dml-shape3DLighting \ + dml-shape3DScene \ + dml-shape3DStyles \ + dml-shapeEffects \ + dml-shapeGeometry \ + dml-shapeLineProperties \ + dml-shapeProperties \ + dml-styleDefaults \ + dml-stylesheet \ + dml-textCharacter \ + dml-wordprocessingDrawing \ + shared-math \ + shared-relationshipReference \ + sml-customXmlMappings \ + vml-main \ + vml-officeDrawing \ + vml-wordprocessingDrawing \ + wml + +ooxml_factory_source_stem = writerfilter/source/ooxml/OOXMLFactory_$(1) + +define ooxml_factory_source +$(call gb_GenCxxObject_get_source,$(call ooxml_factory_source_stem,$(1))) +endef + +define ooxml_namespace_sources +$(foreach namespace,$(ooxml_NAMESPACES),$(call ooxml_factory_source,$(namespace))) +endef + +$(eval $(call gb_Library_add_generated_exception_objects,ooxml,\ + writerfilter/source/ooxml/OOXMLFactory_generated \ + writerfilter/source/ooxml/OOXMLFactory_values \ + $(foreach namespace,$(ooxml_NAMESPACES),$(call ooxml_factory_source_stem,$(namespace))) \ +)) + +SLOFACTORIESNAMESPACES= \ + $(SLO)/ooxml_Factory_{$(NAMESPACES)}.obj + +ooxml_HXXOUTDIR := $(WORKDIR)/writerfilter/inc/ooxml +ooxml_CXXOUTDIR := $(dir $(call ooxml_factory_source,generated)) +ooxml_MISCDIR := $(WORKDIR)/writerfilter/ooxml + +ooxml_HXXOUTDIRCREATED := $(ooxml_HXXOUTDIR)/created + +define ooxml_factory_header +$(ooxml_HXXOUTDIR)/OOXMLFactory_$(1).hxx +endef + +define ooxml_namespace_headers +$(foreach namespace,$(ooxml_NAMESPACES),$(call ooxml_factory_header,$(namespace))) +endef + +ooxml_MODEL := $(SRCDIR)/writerfilter/source/ooxml/model.xml + +ooxml_FACTORYIMPLNSXSL := $(SRCDIR)/writerfilter/source/ooxml/factoryimpl_ns.xsl +ooxml_FACTORYIMPLXSL := $(SRCDIR)/writerfilter/source/ooxml/factoryimpl.xsl +ooxml_FACTORYINCXSL := $(SRCDIR)/writerfilter/source/ooxml/factoryinc.xsl +ooxml_FACTORYNSXSL := $(SRCDIR)/writerfilter/source/ooxml/factory_ns.xsl +ooxml_FACTORYTOOLSXSL := $(SRCDIR)/writerfilter/source/ooxml/factorytools.xsl +ooxml_FACTORYVALUESIMPLXSL := $(SRCDIR)/writerfilter/source/ooxml/factoryimpl_values.xsl +ooxml_FACTORYVALUESXSL := $(SRCDIR)/writerfilter/source/ooxml/factory_values.xsl +ooxml_FASTTOKENSXSL := $(SRCDIR)/writerfilter/source/ooxml/fasttokens.xsl +ooxml_GPERFFASTTOKENXSL := $(SRCDIR)/writerfilter/source/ooxml/gperffasttokenhandler.xsl +ooxml_NAMESPACEIDSXSL := $(SRCDIR)/writerfilter/source/ooxml/namespaceids.xsl +ooxml_PREPROCESSXSL := $(SRCDIR)/writerfilter/source/ooxml/modelpreprocess.xsl +ooxml_QNAMETOSTRXSL := $(SRCDIR)/writerfilter/source/ooxml/qnametostr.xsl +ooxml_RESORUCETOKENSXSL := $(SRCDIR)/writerfilter/source/ooxml/resourcestokens.xsl +ooxml_RESOURCEIDSXSL := $(SRCDIR)/writerfilter/source/ooxml/resourceids.xsl +ooxml_RESOURCESIMPLXSL := $(SRCDIR)/writerfilter/source/ooxml/resourcesimpl.xsl + +ooxml_NSPROCESS := $(SRCDIR)/writerfilter/source/resourcemodel/namespace_preprocess.pl + +ooxml_RESOURCEIDSHXX := $(ooxml_HXXOUTDIR)/resourceids.hxx + +ooxml_TOKENXML := $(ooxml_MISCDIR)/token.xml +ooxml_TOKENXMLTMP := $(ooxml_MISCDIR)/token.tmp + +ooxml_FACTORYGENERATEDHXX := $(call ooxml_factory_header,generated) +ooxml_FACTORYGENERATEDCXX := $(call ooxml_factory_source,generated) +ooxml_FASTTOKENSHXX := $(ooxml_HXXOUTDIR)/OOXMLFastTokens.hxx +ooxml_NAMESPACEIDSHXX := $(ooxml_HXXOUTDIR)/OOXMLnamespaceids.hxx +ooxml_FACTORYVALUESHXX := $(call ooxml_factory_header,values) +ooxml_FACTORYVALUESCXX := $(call ooxml_factory_source,values) +ooxml_GPERFFASTTOKENHXX := $(ooxml_HXXOUTDIR)/gperffasttoken.hxx +ooxml_GPERFFASTTOKENTMP := $(ooxml_MISCDIR)/gperffasttoken.tmp +ooxml_QNAMETOSTRTMP := $(WORKDIR)/writerfilter/ooxml_qnameToStr.tmp + +ooxml_MODELPROCESSED := $(ooxml_MISCDIR)/model_preprocessed.xml +ooxml_NSXSL := $(ooxml_MISCDIR)/namespacesmap.xsl +ooxml_PREPROCESSXSLCOPIED := $(ooxml_MISCDIR)/modelpreprocess.xsl + +ooxml_NAMESPACESTXT := $(SOLARVER)/$(INPATH)/inc$(UPDMINOREXT)/oox/namespaces.txt + +ooxml_GENHEADERS = \ + $(ooxml_FACTORYGENERATEDHXX) \ + $(ooxml_FASTTOKENSHXX) \ + $(ooxml_FACTORYVALUESHXX) \ + $(ooxml_GPERFFASTTOKENHXX) \ + $(ooxml_RESOURCEIDSHXX) \ + $(ooxml_NAMESPACEIDSHXX) \ + $(ooxml_namespace_headers) + +ooxml_GENERATEDFILES = \ + $(ooxml_GENHEADERS) \ + $(ooxml_GPERFFASTTOKENTMP) \ + $(ooxml_FACTORYGENERATEDCXX) \ + $(ooxml_MODELPROCESSED) \ + $(ooxml_namespace_sources) \ + $(ooxml_NSXSL) \ + $(ooxml_FACTORYVALUESCXX) \ + $(ooxml_PREPROCESSXSLCOPIED) \ + $(ooxml_QNAMETOSTRTMP) \ + $(ooxml_TOKENXMLTMP) \ + $(ooxml_TOKENXML) + +$(ooxml_TOKENXMLTMP) : $(OUTDIR)/inc/oox/tokens.txt + mkdir -p $(dir $@) && sed -e 's#.*#&#' $< > $@ + +$(ooxml_TOKENXML) : $(SRCDIR)/writerfilter/source/ooxml/tokenxmlheader $(ooxml_TOKENXMLTMP) $(SRCDIR)/writerfilter/source/ooxml/tokenxmlfooter + mkdir -p $(dir $@) && cat $(SRCDIR)/writerfilter/source/ooxml/tokenxmlheader $(ooxml_TOKENXMLTMP) $(SRCDIR)/writerfilter/source/ooxml/tokenxmlfooter > $@ + +$(ooxml_HXXOUTDIRCREATED) : + mkdir -p $(dir $@) && touch $@ + +$(ooxml_GENHEADERS) : $(ooxml_HXXOUTDIRCREATED) + +$(call ooxml_factory_source,%) :| $(call ooxml_factory_header,%) + +$(call ooxml_factory_source,%) : $(ooxml_FACTORYIMPLNSXSL) $(ooxml_MODELPROCESSED) + mkdir -p $(dir $@) && $(gb_XSLTPROC) --nonet --stringparam file $@ $(ooxml_FACTORYIMPLNSXSL) $(ooxml_MODELPROCESSED) > $@ + +$(call ooxml_factory_header,%) : $(ooxml_FACTORYNSXSL) $(ooxml_MODELPROCESSED) + mkdir -p $(dir $@) && $(gb_XSLTPROC) --nonet --stringparam file $@ $(ooxml_FACTORYNSXSL) $(ooxml_MODELPROCESSED) > $@ + +define ooxml_xsl_process +$(1) : $(2) $(3) + mkdir -p $(dir $(1)) && $(gb_XSLTPROC) --nonet $(2) $(3) > $(1) +endef + +define ooxml_xsl_process_model +$(call ooxml_xsl_process,$(1),$(2),$(ooxml_MODELPROCESSED)) +endef + +$(eval $(call ooxml_xsl_process,$(ooxml_MODELPROCESSED),$(ooxml_NSXSL),$(ooxml_MODEL))) +$(eval $(call ooxml_xsl_process,$(ooxml_FASTTOKENSHXX),$(ooxml_FASTTOKENSXSL),$(ooxml_TOKENXML))) + +$(eval $(call ooxml_xsl_process_model,$(ooxml_FACTORYGENERATEDHXX),$(ooxml_FACTORYINCXSL))) +$(eval $(call ooxml_xsl_process_model,$(ooxml_FACTORYGENERATEDCXX),$(ooxml_FACTORYIMPLXSL))) +$(eval $(call ooxml_xsl_process_model,$(ooxml_FACTORYVALUESHXX),$(ooxml_FACTORYVALUESXSL))) +$(eval $(call ooxml_xsl_process_model,$(ooxml_FACTORYVALUESCXX),$(ooxml_FACTORYVALUESIMPLXSL))) +$(eval $(call ooxml_xsl_process_model,$(ooxml_QNAMETOSTRTMP),$(ooxml_QNAMETOSTRXSL))) +$(eval $(call ooxml_xsl_process_model,$(ooxml_RESOURCEIDSHXX),$(ooxml_RESOURCEIDSXSL))) +$(eval $(call ooxml_xsl_process_model,$(ooxml_NAMESPACEIDSHXX),$(ooxml_NAMESPACEIDSXSL))) +$(eval $(call ooxml_xsl_process_model,$(ooxml_GPERFFASTTOKENTMP),$(ooxml_GPERFFASTTOKENXSL))) + +$(ooxml_NSXSL) : $(ooxml_NAMESPACESTXT) $(ooxml_NSPROCESS) $(ooxml_PREPROCESSXSLCOPIED) + mkdir -p $(dir $@) && perl $(ooxml_NSPROCESS) $(ooxml_NAMESPACESTXT) > $@ + +# this is included by relative path from $(ooxml_NSXSL) +$(ooxml_PREPROCESSXSLCOPIED) : $(ooxml_PREPROCESSXSL) + mkdir -p $(dir $@) && cp $< $@ + +$(ooxml_GPERFFASTTOKENHXX) : $(ooxml_GPERFFASTTOKENTMP) $(ooxml_HXXOUTDIRCREATED) + tr -d '\r' < $< | gperf -I -t -E -S1 -c -G -LC++ > $@ + +$(ooxml_GENERATEDFILES) : $(ooxml_FACTORYTOOLSXSL) + +$(ooxml_FACTORYVALUESCXX) :| $(ooxml_FACTORYVALUESHXX) +$(ooxml_FACTORYGENERATEDCXX) :| $(ooxml_FACTORYGENERATEDHXX) $(ooxml_GENHEADERS) + +ooxml_clean : + rm -rf $(ooxml_GENERATEDFILES) $(ooxml_HXXOUTDIR) +.PHONY : ooxml_clean + +$(call gb_Library_get_clean_target,ooxml) : ooxml_clean + +# vim: set noet ts=4 sw=4: -- cgit v1.2.3