| #************************************************************** |
| # |
| # 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 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the 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)" != "" |
| |