Kaydet (Commit) 814ec764 authored tarafından Michael Stahl's avatar Michael Stahl

cli_ure: copy cli_basetypes to INSTDIR/sdk/bin

The library is already in the URE/bin directory, but that is not
sufficient to be able to run sdk/bin/climaker.exe.

There are apparently 4 ways for a .net/CLR executable to locate
shared libraries:
1) in the same directory as the executable
2) in some mysterious "GAC" thing in C:/Windows
   (which is presumably how it works if you actually install LO)
3) via an application configuration file entry "probing",
   which only works when it's in a sub-directory of the
   one the executable is in
4) via a DEVPATH variable, but that only works with a
   special configuration entry in a system "machine config" file
   of the .net framework

Specifically PATH is apparently ignored.  Since building on Windows is
enough of a PITA already and we don't want developers to have to edit
another config file, put another copy of the library into sdk/bin.

http://tutorials.csharp-online.net/.NET_CLR_Components%E2%80%94Resolving_Names_to_Locations
http://tutorials.csharp-online.net/.NET_CLR_Components%E2%80%94CLR_Loader

Change-Id: I511957ad9a9a918ed0c316126304a1980fb2d289
üst 4ac93494
......@@ -9,6 +9,10 @@
$(eval $(call gb_Executable_Executable,climaker))
$(eval $(call gb_Executable_use_package,climaker,\
cli_basetypes_copy \
))
$(eval $(call gb_Executable_add_cxxflags,climaker,\
-AI $(gb_Helper_OUTDIRLIBDIR) \
-clr \
......
......@@ -24,6 +24,7 @@ $(eval $(call gb_Module_add_targets,cli_ure,\
Library_cli_cppuhelper_native \
Library_cli_uno \
Package_config \
Package_cli_basetypes_copy \
))
endif
......
# -*- 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/.
#
$(eval $(call gb_Package_Package,cli_basetypes_copy,$(WORKDIR)))
$(eval $(call gb_Package_set_outdir,cli_basetypes_copy,$(INSTDIR)))
# duplicate copy to work around CLR DLL finding brain damage
$(eval $(call gb_Package_add_files,cli_basetypes_copy,$(gb_Package_SDKDIRNAME)/bin,\
CliLibraryTarget/cli_basetypes.dll \
))
# vim: set noet sw=4 ts=4:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment