bfd/docs building on Cygwin
Jan Beulich
jbeulich@suse.com
Mon Feb 8 12:20:12 GMT 2021
In bba33ab1e0f7 ("Fix build without makeinfo from release
binutils tar") uses of "cp -p" were introduced, to work
around a build problem (which arguably was easy enough to
work around by passing MAKEINFO=true on the make command
line, as I've been doing under Cygwin for a long time).
The previous Cygwin version I had been using was quite old,
so I've noticed the new issue only after recently having
installed an up-to-date one.
The problem is with "cp -p" trying to preserve ownership:
With the sources living on a Samba share I observe this
failing with "Permission denied". Looking at the purpose of
the copying I wonder why copies are being made in the first
place. Would the change below (suitably propagated to
Makefile.in of course) be an acceptable alternative?
(Seeing the not insignificant amount of redundancy here:
Isn't the binutils build system implying GNU make anyway,
for vpath support? If so, is there a reason all these
individual rules couldn't be consolidated into a few
pattern rules?)
Thanks, Jan
--- 2.36/bfd/doc/Makefile.am
+++ 2.36/bfd/doc/Makefile.am
@@ -97,21 +97,21 @@ protos: libbfd.h libcoff.h bfd.h
aoutx.texi: aoutx.stamp ; @true
aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../aoutx.h >aoutx.tmp
- test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || cp -p $(srcdir)/aoutx.texi .
+ test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || $(LN_S) $(srcdir)/aoutx.texi .
$(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
touch $@
archive.texi: archive.stamp ; @true
archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archive.c >archive.tmp
- test -e archive.texi || test ! -f $(srcdir)/archive.texi || cp -p $(srcdir)/archive.texi .
+ test -e archive.texi || test ! -f $(srcdir)/archive.texi || $(LN_S) $(srcdir)/archive.texi .
$(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
touch $@
archures.texi: archures.stamp ; @true
archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
- test -e archures.texi || test ! -f $(srcdir)/archures.texi || cp -p $(srcdir)/archures.texi .
+ test -e archures.texi || test ! -f $(srcdir)/archures.texi || $(LN_S) $(srcdir)/archures.texi .
$(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
touch $@
@@ -120,133 +120,133 @@ archures.stamp: $(srcdir)/../archures.c
bfdt.texi: bfdt.stamp ; @true
bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
- test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || cp -p $(srcdir)/bfdt.texi .
+ test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || $(LN_S) $(srcdir)/bfdt.texi .
$(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
touch $@
cache.texi: cache.stamp ; @true
cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
- test -e cache.texi || test ! -f $(srcdir)/cache.texi || cp -p $(srcdir)/cache.texi .
+ test -e cache.texi || test ! -f $(srcdir)/cache.texi || $(LN_S) $(srcdir)/cache.texi .
$(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
touch $@
coffcode.texi: coffcode.stamp ; @true
coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../coffcode.h >coffcode.tmp
- test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || cp -p $(srcdir)/coffcode.texi .
+ test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || $(LN_S) $(srcdir)/coffcode.texi .
$(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
touch $@
core.texi: core.stamp ; @true
core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../corefile.c >core.tmp
- test -e core.texi || test ! -f $(srcdir)/core.texi || cp -p $(srcdir)/core.texi .
+ test -e core.texi || test ! -f $(srcdir)/core.texi || $(LN_S) $(srcdir)/core.texi .
$(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
touch $@
elf.texi: elf.stamp ; @true
elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elf.c >elf.tmp
- test -e elf.texi || test ! -f $(srcdir)/elf.texi || cp -p $(srcdir)/elf.texi .
+ test -e elf.texi || test ! -f $(srcdir)/elf.texi || $(LN_S) $(srcdir)/elf.texi .
$(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
touch $@
elfcode.texi: elfcode.stamp ; @true
elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elfcode.h >elfcode.tmp
- test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || cp -p $(srcdir)/elfcode.texi .
+ test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || $(LN_S) $(srcdir)/elfcode.texi .
$(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
touch $@
mmo.texi: mmo.stamp ; @true
mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../mmo.c >mmo.tmp
- test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || cp -p $(srcdir)/mmo.texi .
+ test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || $(LN_S) $(srcdir)/mmo.texi .
$(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
touch $@
format.texi: format.stamp ; @true
format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../format.c >format.tmp
- test -e format.texi || test ! -f $(srcdir)/format.texi || cp -p $(srcdir)/format.texi .
+ test -e format.texi || test ! -f $(srcdir)/format.texi || $(LN_S) $(srcdir)/format.texi .
$(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
touch $@
libbfd.texi: libbfd.stamp ; @true
libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
- test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || cp -p $(srcdir)/libbfd.texi .
+ test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || $(LN_S) $(srcdir)/libbfd.texi .
$(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
touch $@
bfdio.texi: bfdio.stamp ; @true
bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
- test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || cp -p $(srcdir)/bfdio.texi .
+ test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || $(LN_S) $(srcdir)/bfdio.texi .
$(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
touch $@
bfdwin.texi: bfdwin.stamp ; @true
bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
- test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || cp -p $(srcdir)/bfdwin.texi .
+ test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || $(LN_S) $(srcdir)/bfdwin.texi .
$(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
touch $@
opncls.texi: opncls.stamp ; @true
opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../opncls.c >opncls.tmp
- test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || cp -p $(srcdir)/opncls.texi .
+ test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || $(LN_S) $(srcdir)/opncls.texi .
$(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
touch $@
reloc.texi: reloc.stamp ; @true
reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../reloc.c >reloc.tmp
- test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || cp -p $(srcdir)/reloc.texi .
+ test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || $(LN_S) $(srcdir)/reloc.texi .
$(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
touch $@
section.texi: section.stamp ; @true
section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../section.c >section.tmp
- test -e section.texi || test ! -f $(srcdir)/section.texi || cp -p $(srcdir)/section.texi .
+ test -e section.texi || test ! -f $(srcdir)/section.texi || $(LN_S) $(srcdir)/section.texi .
$(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
touch $@
syms.texi: syms.stamp ; @true
syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../syms.c >syms.tmp
- test -e syms.texi || test ! -f $(srcdir)/syms.texi || cp -p $(srcdir)/syms.texi .
+ test -e syms.texi || test ! -f $(srcdir)/syms.texi || $(LN_S) $(srcdir)/syms.texi .
$(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
touch $@
targets.texi: targets.stamp ; @true
targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../targets.c >targets.tmp
- test -e targets.texi || test ! -f $(srcdir)/targets.texi || cp -p $(srcdir)/targets.texi .
+ test -e targets.texi || test ! -f $(srcdir)/targets.texi || $(LN_S) $(srcdir)/targets.texi .
$(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
touch $@
init.texi: init.stamp ; @true
init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../init.c >init.tmp
- test -e init.texi || test ! -f $(srcdir)/init.texi || cp -p $(srcdir)/init.texi .
+ test -e init.texi || test ! -f $(srcdir)/init.texi || $(LN_S) $(srcdir)/init.texi .
$(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
touch $@
hash.texi: hash.stamp ; @true
hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../hash.c >hash.tmp
- test -e hash.texi || test ! -f $(srcdir)/hash.texi || cp -p $(srcdir)/hash.texi .
+ test -e hash.texi || test ! -f $(srcdir)/hash.texi || $(LN_S) $(srcdir)/hash.texi .
$(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
touch $@
linker.texi: linker.stamp ; @true
linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../linker.c >linker.tmp
- test -e linker.texi || test ! -f $(srcdir)/linker.texi || cp -p $(srcdir)/linker.texi .
+ test -e linker.texi || test ! -f $(srcdir)/linker.texi || $(LN_S) $(srcdir)/linker.texi .
$(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
touch $@
More information about the Binutils
mailing list