gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

Rust 45TOML 36Markdown 26Shell 7878 Definiciones

⎇ dba9ec47c5b4fa5918abdb35ac9466f1560ccd4f recipes/incoming-clib/shared-libmandoc.patch 92 líneas · 3.3 KB Historia crudo

harkaq: revertir busybox (era runtime base, rompía builds) + coordinar el §3 con Fable 5 d99ed5885 · sergio ·

1This patch links libmandoc dynamically instead of statically, this
2causes the package size to be reduced by roughly 50%.
3
4See also: https://inbox.vuxu.org/mandoc-tech/2L1YC2WD8JUE5.3QGU3CQ10EGCD@8pit.net/T/#u
5
6diff --git a/Makefile b/Makefile
7index 48c4741..252e11e 100644
8--- a/Makefile
9+++ b/Makefile
10@@ -367,9 +367,13 @@ WWW_INCS	 = eqn.h.html \
11 		   tbl_int.h.html \
12 		   tbl_parse.h.html
13 
14+LIBMANDOC	= libmandoc.so
15+MANDOCLIB	= -L. -lmandoc
16+
17 # === USER CONFIGURATION ===============================================
18 
19 include Makefile.local
20+CFLAGS		+= -fPIC
21 
22 # === DEPENDENCY HANDLING ==============================================
23 
24@@ -392,7 +396,7 @@ distclean: clean
25 	rm -f Makefile.local config.h config.h.old config.log config.log.old
26 
27 clean:
28-	rm -f libmandoc.a $(LIBMANDOC_OBJS) $(ALL_COBJS)
29+	rm -f $(LIBMANDOC) $(LIBMANDOC_OBJS) $(ALL_COBJS)
30 	rm -f mandoc man $(MAIN_OBJS)
31 	rm -f man.cgi $(CGI_OBJS)
32 	rm -f mandocd catman catman.o $(MANDOCD_OBJS)
33@@ -432,11 +436,11 @@ base-install: mandoc demandoc soelim
34 	$(INSTALL_MAN) makewhatis.8 \
35 		$(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8
36 
37-lib-install: libmandoc.a
38+lib-install: $(LIBMANDOC)
39 	mkdir -p $(DESTDIR)$(LIBDIR)
40 	mkdir -p $(DESTDIR)$(INCLUDEDIR)
41 	mkdir -p $(DESTDIR)$(MANDIR)/man3
42-	$(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
43+	$(INSTALL_LIB) $(LIBMANDOC) $(DESTDIR)$(LIBDIR)
44 	$(INSTALL_LIB) eqn.h man.h mandoc.h mandoc_aux.h mandoc_parse.h \
45 		mdoc.h roff.h tbl.h $(DESTDIR)$(INCLUDEDIR)
46 	$(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \
47@@ -485,7 +489,7 @@ uninstall:
48 	rm -f $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN)
49 	rm -f $(DESTDIR)$(MANDIR)/man8/mandocd.8
50 	rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8
51-	rm -f $(DESTDIR)$(LIBDIR)/libmandoc.a
52+	rm -f $(DESTDIR)$(LIBDIR)/$(LIBMANDOC)
53 	rm -f $(DESTDIR)$(MANDIR)/man3/mandoc.3
54 	rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_escape.3
55 	rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_malloc.3
56@@ -515,23 +519,26 @@ Makefile.local config.h: configure $(TESTSRCS)
57 libmandoc.a: $(MANDOC_COBJS) $(LIBMANDOC_OBJS)
58 	$(AR) rs $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS)
59 
60-mandoc: $(MAIN_OBJS) libmandoc.a
61-	$(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD)
62+libmandoc.so: $(MANDOC_COBJS) $(LIBMANDOC_OBJS)
63+	$(CC) $(LDFLAGS) -shared -o $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS) $(LDADD)
64+
65+mandoc: $(MAIN_OBJS) $(LIBMANDOC)
66+	$(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) $(MANDOCLIB) $(LDADD)
67 
68 man: mandoc
69 	$(LN) mandoc man
70 
71-man.cgi: $(CGI_OBJS) libmandoc.a
72-	$(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD)
73+man.cgi: $(CGI_OBJS) $(LIBMANDOC)
74+	$(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) $(MANDOCLIB) $(LDADD)
75 
76-mandocd: $(MANDOCD_OBJS) libmandoc.a
77-	$(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) libmandoc.a $(LDADD)
78+mandocd: $(MANDOCD_OBJS) $(LIBMANDOC)
79+	$(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) $(MANDOCLIB) $(LDADD)
80 
81-catman: catman.o libmandoc.a
82-	$(CC) -o $@ $(LDFLAGS) catman.o libmandoc.a $(LDADD)
83+catman: catman.o $(LIBMANDOC)
84+	$(CC) -o $@ $(LDFLAGS) catman.o $(MANDOCLIB) $(LDADD)
85 
86-demandoc: $(DEMANDOC_OBJS) libmandoc.a
87-	$(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD)
88+demandoc: $(DEMANDOC_OBJS) $(LIBMANDOC)
89+	$(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) $(MANDOCLIB) $(LDADD)
90 
91 soelim: $(SOELIM_COBJS) soelim.o
92 	$(CC) -o $@ $(LDFLAGS) $(SOELIM_COBJS) soelim.o