diff options
Diffstat (limited to 'cli_ure/source/native/makefile.mk')
-rw-r--r-- | cli_ure/source/native/makefile.mk | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/cli_ure/source/native/makefile.mk b/cli_ure/source/native/makefile.mk new file mode 100644 index 000000000000..2c8be1a9b5b9 --- /dev/null +++ b/cli_ure/source/native/makefile.mk @@ -0,0 +1,184 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +# ************************************************************************/ + + +PRJ = ..$/.. +PRJNAME = cli_ure + +TARGET = cli_cppuhelper +NO_BSYMBOLIC = TRUE +ENABLE_EXCEPTIONS = TRUE +LIBTARGET = NO +USE_DEFFILE = TRUE + +# disable caching to avoid stale objects +# on version changes +CCACHE_DISABLE=TRUE +.EXPORT : CCACHE_DISABLE + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +use_shl_versions= + +.IF "$(BUILD_FOR_CLI)" == "" +#do not even build the cxx files because they contain cli cpp +all: +.ELSE + +.INCLUDE : $(BIN)$/cliureversion.mk + +ASSEMBLY_KEY="$(BIN)$/cliuno.snk" + +ASSEMBLY_ATTRIBUTES = $(MISC)$/assembly_cppuhelper.cxx + +POLICY_ASSEMBLY_FILE=$(BIN)$/$(CLI_CPPUHELPER_POLICY_ASSEMBLY).dll + +ASSEMBLY_KEY_X=$(subst,\,\\ $(ASSEMBLY_KEY)) + + +LINKFLAGS += /delayload:cppuhelper3MSC.dll \ + /delayload:cppu3.dll \ + /delayload:sal3.dll + +UWINAPILIB= + +NO_OFFUH=TRUE +CPPUMAKERFLAGS = +UNOTYPES = \ + com.sun.star.lang.XSingleComponentFactory \ + com.sun.star.loader.CannotActivateFactoryException \ + com.sun.star.container.XHierarchicalNameAccess \ + com.sun.star.registry.CannotRegisterImplementationException \ + com.sun.star.registry.XRegistryKey \ + com.sun.star.registry.XSimpleRegistry + +#loader lock was solved as of VS 2005 (CCNUMVER = 0014..) +# When compiling for CLR, disable "warning C4339: use of undefined type detected +# in CLR meta-data - use of this type may lead to a runtime exception": +.IF "$(CCNUMVER)" >= "001399999999" +CFLAGSCXX += -clr:oldSyntax -AI $(BIN) -wd4339 +.ELSE +CFLAGSCXX += -clr -AI $(BIN) -wd4339 +#see Microsoft Knowledge Base Article - 814472 +LINKFLAGS += -NOENTRY -NODEFAULTLIB:nochkclr.obj -INCLUDE:__DllMainCRTStartup@12 +.ENDIF + +SLOFILES = \ + $(SLO)$/native_bootstrap.obj \ + $(SLO)$/path.obj \ + $(SLO)$/assembly_cppuhelper.obj + + +SHL1OBJS = $(SLOFILES) + +SHL1TARGET = $(TARGET) + +SHL1STDLIBS = \ + $(CPPUHELPERLIB) \ + $(CPPULIB) \ + $(SALLIB) \ + delayimp.lib \ + advapi32.lib \ + mscoree.lib \ + Advapi32.lib + +.IF "$(CCNUMVER)" >= "001399999999" +SHL1STDLIBS += \ + msvcmrt.lib +.ENDIF + +SHL1VERSIONMAP = msvc.map + +SHL1DEF = $(MISC)$/$(SHL1TARGET).def +DEF1NAME = $(SHL1TARGET) + + +.INCLUDE : $(PRJ)$/util$/target.pmk +.INCLUDE : target.mk + +SIGN= $(MISC)$/cppuhelper_is_signed_flag + +ALLTAR: \ + $(POLICY_ASSEMBLY_FILE) \ + $(SIGN) + + + +.IF "$(CCNUMVER)" >= "001399999999" +CFLAGSCXX += -clr:oldSyntax +.ENDIF + +$(ASSEMBLY_ATTRIBUTES) : assembly.cxx $(BIN)$/cliuno.snk $(BIN)$/cliureversion.mk + @echo $(ASSEMBLY_KEY_X) + $(GNUCOPY) -p assembly.cxx $@ + echo \ + '[assembly:System::Reflection::AssemblyVersion( "$(CLI_CPPUHELPER_NEW_VERSION)" )];' \ + >> $(OUT)$/misc$/assembly_cppuhelper.cxx + echo \ + '[assembly:System::Reflection::AssemblyKeyFile($(ASSEMBLY_KEY_X))];' \ + >> $(OUT)$/misc$/assembly_cppuhelper.cxx + + + +#make sure we build cli_cppuhelper after the version changed +$(SHL1OBJS) : $(BIN)$/cli_cppuhelper.config + + + +$(SIGN): $(SHL1TARGETN) + $(WRAPCMD) sn.exe -R $(BIN)$/$(TARGET).dll $(BIN)$/cliuno.snk && $(TOUCH) $@ + +#do not forget to deliver cli_cppuhelper.config. It is NOT embedded in the policy file. +.IF "$(CCNUMVER)" >= "001399999999" +#.NET 2 and higher +# If the x86 switch is ommitted then the system assumes the assembly to be MSIL. +# The policy file is still found when an application tries to load an older +# cli_cppuhelper.dll but the system cannot locate it. It possibly assumes that the +# assembly is also 'MSIL' like its policy file. +$(POLICY_ASSEMBLY_FILE) : $(BIN)$/cli_cppuhelper.config + $(WRAPCMD) AL.exe -out:$@ \ + -version:$(CLI_CPPUHELPER_POLICY_VERSION) \ + -keyfile:$(BIN)$/cliuno.snk \ + -link:$(BIN)$/cli_cppuhelper.config \ + -platform:x86 +.ELSE +#.NET 1.1: platform flag not needed +$(POLICY_ASSEMBLY_FILE) : $(BIN)$/cli_cppuhelper.config + $(WRAPCMD) AL.exe -out:$@ \ + -version:$(CLI_CPPUHELPER_POLICY_VERSION) \ + -keyfile:$(BIN)$/cliuno.snk \ + -link:$(BIN)$/cli_cppuhelper.config +.ENDIF + +#Create the config file that is used with the policy assembly +$(BIN)$/cli_cppuhelper.config: cli_cppuhelper_config $(BIN)$/cliureversion.mk + $(PERL) $(SOLARENV)$/bin$/clipatchconfig.pl \ + $< $@ + +.ENDIF # "$(BUILD_FOR_CLI)" != "" + |