summaryrefslogtreecommitdiff
path: root/gui-wm/tinywl/files/tinywl-0.17.4-improve-makefile.patch
blob: 2537955f7b12f4a5efe0684b50fcc69f3b32221f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4710
From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?=
 <leohdz172@proton.me>
Date: Wed, 12 Jun 2024 10:01:52 -0600
Subject: [PATCH 1/2] tinywl: split compilation into two steps
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

While we are at it also respect LDFLAGS and optimize pkg-config usage

Signed-off-by: Leonardo Hernández Hernández <leohdz172@proton.me>
--- a/tinywl/Makefile
+++ b/tinywl/Makefile
@@ -1,9 +1,9 @@
 WAYLAND_PROTOCOLS=$(shell pkg-config --variable=pkgdatadir wayland-protocols)
 WAYLAND_SCANNER=$(shell pkg-config --variable=wayland_scanner wayland-scanner)
-LIBS=\
-	 $(shell pkg-config --cflags --libs "wlroots >= 0.17.0") \
-	 $(shell pkg-config --cflags --libs wayland-server) \
-	 $(shell pkg-config --cflags --libs xkbcommon)
+
+PKGS="wlroots" wayland-server xkbcommon
+CFLAGS+=$(shell pkg-config --cflags $(PKGS))
+LIBS=$(shell pkg-config --libs $(PKGS))
 
 # wayland-scanner is a tool which generates C headers and rigging for Wayland
 # protocols, which are specified in XML. wlroots requires you to rig these up
@@ -12,15 +12,13 @@ xdg-shell-protocol.h:
 	$(WAYLAND_SCANNER) server-header \
 		$(WAYLAND_PROTOCOLS)/stable/xdg-shell/xdg-shell.xml $@
 
-tinywl: tinywl.c xdg-shell-protocol.h
-	$(CC) $(CFLAGS) \
-		-g -Werror -I. \
-		-DWLR_USE_UNSTABLE \
-		-o $@ $< \
-		$(LIBS)
+tinywl.o: tinywl.c xdg-shell-protocol.h
+	$(CC) -g -Werror $(CFLAGS) -I. -DWLR_USE_UNSTABLE -o $@ -c $<
+tinywl: tinywl.o
+	$(CC) $< -g -Werror $(CFLAGS) $(LDFLAGS) $(LIBS) -o $@
 
 clean:
-	rm -f tinywl xdg-shell-protocol.h xdg-shell-protocol.c
+	rm -f tinywl tinywl.o xdg-shell-protocol.h
 
 .DEFAULT_GOAL=tinywl
 .PHONY: clean
-- 
2.45.2


From 29451c3dd28ffd52eb3dcf20e47399a26ecafb3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?=
 <leohdz172@proton.me>
Date: Wed, 12 Jun 2024 17:58:54 -0600
Subject: [PATCH 2/2] tinywl: allow specify pkg-config binary
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Leonardo Hernández Hernández <leohdz172@proton.me>
--- a/tinywl/Makefile
+++ b/tinywl/Makefile
@@ -1,9 +1,10 @@
-WAYLAND_PROTOCOLS=$(shell pkg-config --variable=pkgdatadir wayland-protocols)
-WAYLAND_SCANNER=$(shell pkg-config --variable=wayland_scanner wayland-scanner)
+PKG_CONFIG?=pkg-config
+WAYLAND_PROTOCOLS=$(shell $(PKG_CONFIG) --variable=pkgdatadir wayland-protocols)
+WAYLAND_SCANNER=$(shell $(PKG_CONFIG) --variable=wayland_scanner wayland-scanner)
 
-PKGS="wlroots" wayland-server xkbcommon
-CFLAGS+=$(shell pkg-config --cflags $(PKGS))
-LIBS=$(shell pkg-config --libs $(PKGS))
+PKGS=wlroots wayland-server xkbcommon
+CFLAGS+=$(shell $(PKG_CONFIG) --cflags $(PKGS))
+LIBS=$(shell $(PKG_CONFIG) --libs $(PKGS))
 
 # wayland-scanner is a tool which generates C headers and rigging for Wayland
 # protocols, which are specified in XML. wlroots requires you to rig these up
-- 
2.45.2