You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sys-apps/man/files/man-1.6f-parallel-build.patch

79 lines
2.3 KiB

http://bugs.gentoo.org/207148
patch by Kevin Pyle to fix parallel build issues
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -42,9 +42,12 @@
makemsg:
$(BUILD_CC) -o makemsg makemsg.c
-msg.c gripedefs.h: ../msgs/mess.en makemsg
+gripedefs.h: ../msgs/mess.en makemsg
./makemsg ../msgs/mess.en gripedefs.h msg.c
+# avoid parallel build issues with makemsg
+msg.c: gripedefs.h
+
# glob.c does not have prototypes
glob.o: glob.c ndir.h
$(CC) -c $(CWARNNP) $(CFLAGS) -I. $(DEFS) glob.c
http://bugs.gentoo.org/258916
avoid:
make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -3,7 +3,7 @@
MAN5 = man.conf
MAN8 = makewhatis
ALL = man.1 whatis.1 apropos.1 man.conf.5
-MAYBE8 = makewhatis
+MAYBE8 = $(wildcard makewhatis.man)
.SUFFIXES: .man .1 .5 .8
@@ -21,9 +21,7 @@
# Where to put the manual pages.
mandir = $(DESTDIR)$(PREFIX)@mandir@$(SLANG)
-all: $(ALL)
- for i in $(MAYBE8); \
- do if test -f $$i.man; then make -f ../Makefile $$i.8; fi; done
+all: $(ALL) $(MAYBE8:.man=.8)
install: $(ALL)
mkdir -p $(mandir)/man1 $(mandir)/man5 $(mandir)/man8
@@ -39,18 +37,17 @@
spotless:
-subdirs:
- @for i in @languages@; do if test -d $$i; then echo; \
- echo "==== Making the `cat $$i.txt` man pages. ===="; \
- cd $$i; make -f ../Makefile; cd ..; \
- else echo "==== No $$i man pages found. ===="; fi; done
-
-installsubdirs:
- @for i in @languages@; do if test -d $$i; then echo; \
- echo "==== Installing the `cat $$i.txt` man pages. ===="; \
- cd $$i; SLANG=/$$i; if test $$SLANG = /en; then SLANG= ; fi; \
- export SLANG; make -f ../Makefile install; cd ..; \
- else echo "==== No $$i man pages found. ===="; fi; done
+MAN_LANGS = $(wildcard @languages@)
+subdirs: $(MAN_LANGS:=_lang_subdir)
+%_lang_subdir:
+ @echo "==== Making the `cat $(@:_lang_subdir=).txt` man pages. ===="
+ $(MAKE) -f ../Makefile -C $(@:_lang_subdir=)
+
+installsubdirs: $(MAN_LANGS:=_lang_installsubdir)
+%_lang_installsubdir:
+ @echo "==== Making the `cat $(@:_lang_installsubdir=).txt` man pages. ===="
+ $(MAKE) -f ../Makefile -C $(@:_lang_installsubdir=) install \
+ SLANG=`s=$(@:_lang_installsubdir=); test $$s = en || echo /$$s`
cleansubdirs:
@for i in ??; do cd $$i; make -f ../Makefile clean; cd ..; done