Files
loongoffice/cli_ure/Executable_climaker.mk
Michael Stahl 814ec7640f 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
2013-09-22 11:08:32 +02:00

55 lines
1.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/.
#
$(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 \
-LN \
-wd4339 \
-wd4715 \
))
$(eval $(call gb_Executable_add_ldflags,climaker,\
-ignore:4248 \
))
$(eval $(call gb_Executable_use_internal_bootstrap_api,climaker,\
udkapi \
))
$(eval $(call gb_Executable_use_libraries,climaker,\
cppu \
cppuhelper \
sal \
salhelper \
unoidl \
$(gb_UWINAPI) \
))
$(eval $(call gb_Executable_use_system_win32_libs,climaker,\
mscoree \
msvcmrt \
))
$(eval $(call gb_Executable_add_exception_objects,climaker,\
cli_ure/source/climaker/climaker_app \
cli_ure/source/climaker/climaker_emit \
))
$(call gb_Executable_get_headers_target,climaker) : \
$(call gb_CliLibrary_get_target,cli_basetypes)
# vim: set noet sw=4 ts=4: