summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.cz>2013-04-16 16:59:04 +0200
committerPetr Mladek <pmladek@suse.cz>2013-04-30 12:05:24 +0200
commitdbdc6cdd0460f99d382100ed0d305e22f748efc9 (patch)
tree718c74a4dadd858caedc79ec6892aa497fe83d23 /solenv
parent3a4c033343d084301f003ddf5803dc0739e14953 (diff)
[mono] workaround for mono limitation where "al -link" does not accept path
Needed with mono-devel-2.6.7-0.9.1 on SLED11. Change-Id: I6869a92949f4c3eb6b9a74aa86cd580a062368d3
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/CliAssembly.mk8
1 files changed, 7 insertions, 1 deletions
diff --git a/solenv/gbuild/CliAssembly.mk b/solenv/gbuild/CliAssembly.mk
index f8c6fdb8a729..260d70f7253c 100644
--- a/solenv/gbuild/CliAssembly.mk
+++ b/solenv/gbuild/CliAssembly.mk
@@ -52,15 +52,21 @@ endef
gb_CliAssemblyTarget_KEYFILE_DEFAULT := $(SRCDIR)/cli_ure/source/cliuno.snk
+
+# FIXME: The mono linker does not allow to define the config file defined by path
+# The only solution is to define the name and have the file copied in the output directory
+# Note that the file can't be removed after the "al" call because there might be race condition with other targets using the same config file
+# Tested with mono-devel-2.6.7-0.9.1 on SLED11
define gb_CliAssemblyTarget__command
$(call gb_Output_announce,$(2),$(true),AL ,2)
$(call gb_Helper_abbreviate_dirs,\
+ $(if $(filter YES,$(ENABLE_MONO_CLIMAKER)),cp $(CLI_ASSEMBLY_CONFIGFILE) $(dir $(CLI_ASSEMBLY_OUTFILE)) && ) \
al \
-nologo \
-out:$(CLI_ASSEMBLY_OUTFILE) \
-version:$(CLI_ASSEMBLY_VERSION) \
-keyfile:$(call gb_Helper_windows_path,$(CLI_ASSEMBLY_KEYFILE)) \
- -link:$(CLI_ASSEMBLY_CONFIGFILE) \
+ $(if $(filter YES,$(ENABLE_MONO_CLIMAKER)),-link:$(notdir $(CLI_ASSEMBLY_CONFIGFILE)),-link:$(CLI_ASSEMBLY_CONFIGFILE) ) \
$(if $(CLI_ASSEMBLY_PLATFORM),-platform:$(CLI_ASSEMBLY_PLATFORM)) && \
touch $(1) \
)