@@ -22,13 +22,20 @@ BASE_OPTS=-Xcc -I$(PYTHON_INCLUDE) \
22
22
-Xlinker -undefined -Xlinker dynamic_lookup \
23
23
-Xlinker -all_load
24
24
25
+
26
+
27
+ # Build namespaced versions of Vim and VimAsync libs.
28
+ # The modules have a prefix of the plugin name, to avoid conflicts
29
+ # when the code is linked into the Vim process.
30
+ # The module is imported as "import $(PLUGIN_NAME)Vim"
31
+ # FIXME: Consider other ways to do this that work transitively and
32
+ # doesn't trigger rebuilds
33
+
25
34
.PHONY: vim_lib, renamed_vim_lib
26
35
vim_lib: SWIFT_OPTS=--product Vim \
27
36
-Xswiftc -module-name=$(PLUGIN_NAME)Vim \
28
37
-Xswiftc -module-link-name=$(PLUGIN_NAME)Vim \
29
38
$(BASE_OPTS)
30
-
31
- # FIXME: this triggers rebuilds.
32
39
renamed_vim_lib: vim_lib
33
40
@ditto $(BUILD_DIR)/Vim.swiftmodule \
34
41
$(BUILD_DIR)/$(PLUGIN_NAME)Vim.swiftmodule
@@ -37,7 +44,6 @@ renamed_vim_lib: vim_lib
37
44
@ditto $(BUILD_DIR)/libVim.a \
38
45
$(BUILD_DIR)/lib$(PLUGIN_NAME)Vim.a
39
46
40
- # FIXME: this triggers rebuilds.
41
47
.PHONY: vim_async_lib, renamed_vim_lib_async
42
48
vim_async_lib: SWIFT_OPTS=--product VimAsync \
43
49
-Xswiftc -module-name=$(PLUGIN_NAME)VimAsync \
@@ -49,7 +55,7 @@ renamed_vim_async_lib: vim_async_lib
49
55
ditto $(BUILD_DIR)/VimAsync.swiftdoc \
50
56
$(BUILD_DIR)/$(PLUGIN_NAME)VimAsync.swiftdoc
51
57
@ditto $(BUILD_DIR)/libVimAsync.a \
52
- $(BUILD_DIR)/lib$(PLUGIN_NAME)libVimAsync .a
58
+ $(BUILD_DIR)/lib$(PLUGIN_NAME)VimAsync .a
53
59
54
60
# Main plugin lib
55
61
.PHONY: plugin_lib
0 commit comments