patch 9.1.1485: missing Wayland clipboard support
Problem: missing Wayland clipboard support
Solution: make it work (Foxe Chen)
fixes: #5157
closes: #17097
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/Makefile b/src/Makefile
index 9a1a1cc..3f30575 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1404,6 +1404,7 @@
$(GUI_LIBS2) \
$(X_PRE_LIBS) \
$(X_LIBS) \
+ $(WAYLAND_LIBS) \
$(X_EXTRA_LIBS) \
$(MZSCHEME_LIBS) \
$(LIBS) \
@@ -1614,13 +1615,23 @@
$(PERL_SRC) \
$(PYTHON_SRC) $(PYTHON3_SRC) \
$(TCL_SRC) \
- $(RUBY_SRC)
+ $(RUBY_SRC) \
+ $(WAYLAND_SRC)
EXTRA_SRC = if_lua.c if_mzsch.c auto/if_perl.c if_perlsfio.c \
if_python.c if_python3.c if_tcl.c if_ruby.c \
gui_beval.c netbeans.c job.c channel.c \
$(GRESOURCE_SRC)
+$(WAYLAND_SRC):
+ cd auto/wayland; $(MAKE)
+
+# Needed for parallel jobs to work
+auto/wayland/ext-data-control-v1.h: auto/wayland/ext-data-control-v1.c
+auto/wayland/wlr-data-control-unstable-v1.h: auto/wayland/wlr-data-control-unstable-v1.c
+auto/wayland/primary-selection-unstable-v1.h: auto/wayland/primary-selection-unstable-v1.c
+auto/wayland/xdg-shell.h: auto/wayland/xdg-shell.c
+
# Unittest files
JSON_TEST_SRC = json_test.c
JSON_TEST_TARGET = json_test$(EXEEXT)
@@ -1636,7 +1647,8 @@
RUN_UNITTESTS = run_json_test run_kword_test run_memfile_test run_message_test
# All sources, also the ones that are not configured
-ALL_LOCAL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) $(EXTRA_SRC)
+ALL_LOCAL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) $(EXTRA_SRC) \
+ $(WAYLAND_SRC)
ALL_SRC = $(ALL_LOCAL_SRC) $(TERM_SRC) $(XDIFF_SRC)
# Which files to check with lint. Select one of these three lines. ALL_SRC
@@ -1777,7 +1789,8 @@
$(OS_EXTRA_OBJ) \
$(NETBEANS_OBJ) \
$(CHANNEL_OBJ) \
- $(XDIFF_OBJS_USED)
+ $(XDIFF_OBJS_USED) \
+ $(WAYLAND_OBJ)
# The files included by tests are not in OBJ_COMMON.
OBJ_MAIN = \
@@ -2954,6 +2967,7 @@
cd $(PODIR); $(MAKE) prefix=$(DESTDIR)$(prefix) clean; \
fi
cd xxd; $(MAKE) clean
+ cd auto/wayland; $(MAKE) clean
# Make a shadow directory for compilation on another system or with different
# features:
@@ -2982,6 +2996,8 @@
$(MKDIR_P) $(SHADOWDIR)
cd $(SHADOWDIR); ln -s $(LINKEDFILES) .
mkdir $(SHADOWDIR)/auto
+ mkdir $(SHADOWDIR)/auto/wayland
+ cd $(SHADOWDIR)/auto/wayland; ln -s ../../../auto/wayland/* .
cd $(SHADOWDIR)/auto; ln -s ../../auto/configure .
$(MKDIR_P) $(SHADOWDIR)/po
cd $(SHADOWDIR)/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/*.in ../../po/Makefile ../../po/*.c .
@@ -3628,6 +3644,21 @@
objects/window.o: window.c
$(CCC) -o $@ window.c
+objects/wayland.o: wayland.c
+ $(CCC) -o $@ wayland.c
+
+objects/wlr-data-control-unstable-v1.o: auto/wayland/wlr-data-control-unstable-v1.c
+ $(CCC) -o $@ auto/wayland/wlr-data-control-unstable-v1.c
+
+objects/ext-data-control-v1.o: auto/wayland/ext-data-control-v1.c
+ $(CCC) -o $@ auto/wayland/ext-data-control-v1.c
+
+objects/xdg-shell.o: auto/wayland/xdg-shell.c
+ $(CCC) -o $@ auto/wayland/xdg-shell.c
+
+objects/primary-selection-unstable-v1.o: auto/wayland/primary-selection-unstable-v1.c
+ $(CCC) -o $@ auto/wayland/primary-selection-unstable-v1.c
+
objects/netbeans.o: netbeans.c
$(CCC) -o $@ netbeans.c
@@ -4500,6 +4531,20 @@
proto/gui_beval.pro structs.h regexp.h gui.h libvterm/include/vterm.h \
libvterm/include/vterm_keycodes.h alloc.h ex_cmds.h spell.h proto.h \
globals.h errors.h
+objects/wlr-data-control-unstable-v1.o: \
+ auto/wayland/wlr-data-control-unstable-v1.c
+objects/ext-data-control-v1.o: auto/wayland/ext-data-control-v1.c
+objects/xdg-shell.o: auto/wayland/xdg-shell.c
+objects/primary-selection-unstable-v1.o: \
+ auto/wayland/primary-selection-unstable-v1.c
+objects/wayland.o: wayland.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h termdefs.h macros.h option.h beval.h \
+ structs.h regexp.h gui.h libvterm/include/vterm.h \
+ libvterm/include/vterm_keycodes.h xdiff/xdiff.h xdiff/../vim.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h errors.h \
+ auto/wayland/wlr-data-control-unstable-v1.h \
+ auto/wayland/ext-data-control-v1.h auto/wayland/xdg-shell.h \
+ auto/wayland/primary-selection-unstable-v1.h
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
objects/vterm_encoding.o: libvterm/src/encoding.c libvterm/src/vterm_internal.h \
libvterm/include/vterm.h libvterm/include/vterm_keycodes.h \