This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.15-859-g6a4888f


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  6a4888ffd67163b589e602d62ca6330a608d8b89 (commit)
      from  b8caea2cb90092ba8ecd3274898f227bbe2d305d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=6a4888ffd67163b589e602d62ca6330a608d8b89

commit 6a4888ffd67163b589e602d62ca6330a608d8b89
Author: Andreas Jaeger <aj@suse.de>
Date:   Mon May 14 21:45:48 2012 +0200

    Do not build manual in source dir
    
    [BZ #13750]
    Do not build manual anymore in the source dir. Also clean up the
    Makefile and remove rules that have been used previously
    when we had a stand-alone Makefile which was obsoleted recently.

diff --git a/ChangeLog b/ChangeLog
index 3554d9e..88ccac4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,58 @@
 2012-05-14  Andreas Jaeger  <aj@suse.de>
 
+	* manual/Makefile (subdir): Remove export of subdir.
+	(all): Remove target.
+	(.PHONY): Remove all from list.
+	(mkinstalldirs): Remove.
+	(.PHONY): Remove installdirs from list.
+	($(inst_infodir)/libc.info): Use make-target-directory.
+	(installdirs): Remove.
+	(subdir_%): Remove.
+	(glibc-targets): Remove.
+	(lib): Remove.
+	(stubs): Remove.
+	($(objpfx)stubs ../po/manual.pot): Remove.
+	($(objpfx)stamp%): Remove.
+	(make-target-directory): Remove.
+	(subdir_install): Remove.
+	(routines): Remove.
+	(aux): Remove.
+	(sources): Remove.
+	(objects): Remove.
+	(headers): Remove.
+
+	[BZ #13750]
+	* manual/.gitignore: Remove, it's not needed anymore.
+	* manual/libc-texinfo.sh: Pass OUTDIR as extra argument, create
+	all files in it.
+	* manual/Makefile (dvi, pdf, info, html): Depend on files in build
+	directory.
+	(texis): Renamed to $(objpfx)texis.
+	(texis-path): New, contains path to generated files.
+	(chapters.%): Use texis-path for complete path, add extra argument
+	libc-texinfo.sh.
+	(libc.dvi, libc.pdf, libc.info, libc.pdf): Add $(objfpx) as prefix.
+	(libc/index.html, summary.texi): Add $(objpfx) as prefix.
+	(summary,texi, stamp-summary): Use complete path of
+	files. Generate files in build dir.
+	(dir-add.texi): Build in build dir.
+	(libm-err.texi,stamp-libm-err): Likewise.
+	(version.texi, stamp-version): Likewise.
+	(.%c.texi): Likewise.
+	(%.info,%.dvi,%.pdf): Add $(objpfx) as prefix, build in build dir.
+	(mostlyclean): Remove target.
+	(realclean): Remove target.
+	(generated): Add new variable with contents from mostlyclean and
+	realclean, remove entries duplicated in	common-mostlyclean, add
+	stamp-libm-err and stamp-version.
+	(generated-dirs): Add libc directory.
+	($(inst_infodir)/libc.info): Install files from build dir.
+
+	* manual/install.texi (Configuring and compiling): Adjust since
+	the info files are not part of the tar ball anymore.
+
+2012-05-14  Andreas Jaeger  <aj@suse.de>
+
 	* sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Remove unused
 	variable.
 
diff --git a/NEWS b/NEWS
index 5e48976..b9fe3b4 100644
--- a/NEWS
+++ b/NEWS
@@ -18,14 +18,14 @@ Version 2.16
   11494, 11521, 11837, 11959, 12047, 12340, 13058, 13525, 13526, 13527,
   13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553,
   13555, 13559, 13563, 13566, 13583, 13592, 13618, 13637, 13656, 13658,
-  13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13739, 13758,
-  13760, 13761, 13775, 13786, 13787, 13792, 13806, 13824, 13840, 13841,
-  13844, 13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13883,
-  13884, 13885, 13886, 13892, 13895, 13908, 13910, 13911, 13912, 13913,
-  13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13922, 13923,
-  13924, 13926, 13927, 13928, 13938, 13941, 13942, 13954, 13955, 13956,
-  13963, 13967, 13970, 13973, 13979, 13983, 14012, 14027, 14033, 14034,
-  14040, 14049, 14053, 14055, 14064, 14080, 14083
+  13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13739, 13750,
+  13758, 13760, 13761, 13775, 13786, 13787, 13792, 13806, 13824, 13840,
+  13841, 13844, 13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879,
+  13883, 13884, 13885, 13886, 13892, 13895, 13908, 13910, 13911, 13912,
+  13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13922,
+  13923, 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13954, 13955,
+  13956, 13963, 13967, 13970, 13973, 13979, 13983, 14012, 14027, 14033,
+  14034, 14040, 14049, 14053, 14055, 14064, 14080, 14083
 
 * ISO C11 support:
 
diff --git a/manual/.gitignore b/manual/.gitignore
deleted file mode 100644
index 55c49c9..0000000
--- a/manual/.gitignore
+++ /dev/null
@@ -1,30 +0,0 @@
-*.aux
-*.c.texi
-*.cp
-*.cps
-*.dvi*
-*.fn
-*.fns
-*.info*
-*.ky
-*.kys
-*.log
-*.pdf
-*.pg
-*.pgs
-*.ps
-*.tmp
-*.toc
-*.tp
-*.tps
-*.vr
-*.vrs
-chapters.texi
-dir-add.texi
-dir-add.texinfo
-libm-err.texi
-stamp-*
-summary.texi
-texis
-top-menu.texi
-version.texi
diff --git a/manual/Makefile b/manual/Makefile
index 29e36c2..f02f144 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -19,29 +19,25 @@
 # Makefile for the GNU C Library manual.
 
 subdir := manual
-export subdir := $(subdir)
 
 # Allow override
 INSTALL_INFO = install-info
 
-.PHONY: all dvi pdf info html
-all: dvi
-dvi: libc.dvi
-pdf: libc.pdf
+.PHONY: dvi pdf info html
 
 # Get glibc's configuration info.
 include ../Makeconfig
 
+dvi: $(objpfx)libc.dvi
+pdf: $(objpfx)libc.pdf
+
 TEXI2DVI = texi2dvi
 TEXI2PDF = texi2dvi --pdf
 
 ifneq ($(strip $(MAKEINFO)),:)
-all: info
-info: libc.info
+info: $(objpfx)libc.info
 endif
 
-mkinstalldirs = $(..)scripts/mkinstalldirs
-
 chapters = $(addsuffix .texi, \
 		       intro errno memory ctype string charset locale	\
 		       message search pattern io stdio llio filesys	\
@@ -52,8 +48,8 @@ add-chapters = $(wildcard $(foreach d, $(add-ons), ../$d/$d.texi))
 appendices = lang.texi header.texi install.texi maint.texi contrib.texi
 licenses = freemanuals.texi lgpl-2.1.texi fdl-1.3.texi
 
--include texis
-texis: texis.awk $(chapters) $(add-chapters) $(appendices) $(licenses)
+-include $(objpfx)texis
+$(objpfx)texis: texis.awk $(chapters) $(add-chapters) $(appendices) $(licenses)
 	$(AWK) -f $^ > $@.T
 	mv -f $@.T $@
 
@@ -61,34 +57,45 @@ nonexamples = $(filter-out $(add-chapters) %.c.texi, $(texis))
 examples = $(filter-out $(foreach d, $(add-ons), ../$d/%.c.texi), \
 			$(filter %.c.texi, $(texis)))
 
+# Generated files directly included from libc.texinfo.
+libc-texi-generated = chapters.texi top-menu.texi dir-add.texi \
+		      libm-err.texi version.texi
+
+# Add path to build dir for generated files
+texis-path := $(filter-out $(libc-texi-generated) summary.texi $(examples), \
+				$(texis)) 				    \
+	 $(addprefix $(objpfx),$(filter $(libc-texi-generated) summary.texi \
+					$(examples), $(texis)))
+
 # Kludge: implicit rule so Make knows the one command does it all.
-chapters.% top-menu.%: libc-texinfo.sh $(texis) Makefile
-	AWK=$(AWK) $(SHELL) $< '$(chapters)' \
+chapters.% top-menu.%: libc-texinfo.sh $(texis-path) Makefile
+	AWK=$(AWK) $(SHELL) $< $(objpfx) \
+				'$(chapters)' \
 			       '$(add-chapters)' \
 			       '$(appendices) $(licenses)'
 
-# Generated files directly included from libc.texinfo.
-libc-texi-generated = chapters.texi top-menu.texi dir-add.texi \
-		      libm-err.texi version.texi
 
-libc.dvi libc.pdf libc.info: $(libc-texi-generated)
-libc.dvi libc.pdf: texinfo.tex
+$(objpfx)libc.dvi $(objpfx)libc.pdf $(objpfx)libc.info: \
+	$(addprefix $(objpfx),$(libc-texi-generated))
+$(objpfx)libc.dvi $(objpfx)libc.pdf: texinfo.tex
 
-html: libc/index.html
-libc/index.html: $(libc-texi-generated)
-	$(MAKEINFO) --html libc.texinfo
+html: $(objpfx)libc/index.html
+$(objpfx)libc/index.html: $(addprefix $(objpfx),$(libc-texi-generated))
+	$(MAKEINFO) -P $(objpfx) -o $(objpfx)libc --html libc.texinfo
 
 # Generate the summary from the Texinfo source files for each chapter.
-summary.texi: stamp-summary ;
-stamp-summary: summary.awk $(filter-out summary.texi, $(texis))
-	$(AWK) -f $^ | sort -t'' -df -k 1,1 | tr '\014' '\012' > summary-tmp
-	$(move-if-change) summary-tmp summary.texi
+$(objpfx)summary.texi: $(objpfx)stamp-summary ;
+$(objpfx)stamp-summary: summary.awk $(filter-out $(objpfx)summary.texi, \
+					$(texis-path))
+	$(AWK) -f $^ | sort -t'' -df -k 1,1 | tr '\014' '\012' \
+		> $(objpfx)summary-tmp
+	$(move-if-change) $(objpfx)summary-tmp $(objpfx)summary.texi
 	touch $@
 
 # Generate a file which can be added to the `dir' content to provide direct
 # access to the documentation of the function, variables, and other
 # definitions.
-dir-add.texi: xtract-typefun.awk $(texis)
+$(objpfx)dir-add.texi: xtract-typefun.awk $(texis-path)
 	(echo "@dircategory GNU C library functions and macros";	\
 	 echo "@direntry";						\
 	 $(AWK) -f $^ | sort;						\
@@ -96,23 +103,23 @@ dir-add.texi: xtract-typefun.awk $(texis)
 	mv -f $@.new $@
 
 # The table with the math errors is generated.
-libm-err.texi: stamp-libm-err
-stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
+$(objpfx)libm-err.texi: $(objpfx)stamp-libm-err
+$(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
 						     $(dir)/libm-test-ulps))
 	pwd=`pwd`; \
-	$(PERL) $< $$pwd/.. > libm-err-tmp
-	$(move-if-change) libm-err-tmp libm-err.texi
+	$(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp
+	$(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
 	touch $@
 
 # Generate a file with the version number.
-version.texi: stamp-version ;
-stamp-version: $(common-objpfx)config.make
-	echo "@set VERSION $(version)" > version-tmp
-	$(move-if-change) version-tmp version.texi
+$(objpfx)version.texi: $(objpfx)stamp-version ;
+$(objpfx)stamp-version: $(common-objpfx)config.make
+	echo "@set VERSION $(version)" > $(objpfx)version-tmp
+	$(move-if-change) $(objpfx)version-tmp $(objpfx)version.texi
 	touch $@
 
 # Generate Texinfo files from the C source for the example programs.
-%.c.texi: examples/%.c
+$(objpfx)%.c.texi: examples/%.c
 	sed -e '1,/^\*\/$$/d'				\
 	    -e 's,[{}],@&,g'				\
 	    -e 's,/\*\(@.*\)\*/,\1,g'			\
@@ -121,14 +128,17 @@ stamp-version: $(common-objpfx)config.make
 	    $< | expand > $@.new
 	mv -f $@.new $@
 
-%.info: %.texinfo
-	LANGUAGE=C LC_ALL=C $(MAKEINFO) $<
+$(objpfx)%.info: %.texinfo
+	LANGUAGE=C LC_ALL=C $(MAKEINFO) -P $(objpfx) --output=$@ $<
 
-%.dvi: %.texinfo
-	$(TEXI2DVI) $<
+$(objpfx)%.dvi: %.texinfo
+	cd $(objpfx);$(TEXI2DVI) -I $(shell cd $(<D) && pwd) --output=$@ \
+				$(shell cd $(<D) && pwd)/$<
+
+$(objpfx)%.pdf: %.texinfo
+	cd $(objpfx);$(TEXI2PDF) -I $(shell cd $(<D) && pwd) --output=$@ \
+				$(shell cd $(<D) && pwd)/$<
 
-%.pdf: %.texinfo
-	$(TEXI2PDF) $<
 
 # Distribution.
 minimal-dist = summary.awk texis.awk tsort.awk libc-texinfo.sh libc.texinfo \
@@ -136,21 +146,19 @@ minimal-dist = summary.awk texis.awk tsort.awk libc-texinfo.sh libc.texinfo \
 	       $(filter-out summary.texi, $(nonexamples))		    \
 	       $(patsubst %.c.texi,examples/%.c, $(examples))
 
-.PHONY: mostlyclean distclean realclean clean
-mostlyclean:
-	-rm -f libc.dvi libc.pdf libc.tmp libc.info*
-	-rm -f $(objpfx)stubs
-	-rm -f $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o)
-clean: mostlyclean
-distclean: clean
 indices = cp fn pg tp vr ky
-realclean: distclean
-	-rm -f texis summary.texi stamp-summary *.c.texi
-	-rm -f $(foreach index,$(indices),libc.$(index) libc.$(index)s)
-	-rm -f libc.log libc.aux libc.toc
-	-rm -f $(libc-texi-generated)
-
-.PHONY: install subdir_install installdirs install-data
+generated-dirs := libc
+generated = libc.dvi libc.pdf libc.tmp libc.info*			    \
+	stubs								    \
+	texis summary.texi stamp-summary *.c.texi			    \
+	$(foreach index,$(indices),libc.$(index) libc.$(index)s)	    \
+	libc.log libc.aux libc.toc					    \
+	$(libc-texi-generated)						    \
+	stamp-libm-err stamp-version
+
+include ../Rules
+
+.PHONY: install subdir_install install-data
 install-data subdir_install: install
 ifneq ($(strip $(MAKEINFO)),:)
 install: $(inst_infodir)/libc.info
@@ -162,58 +170,11 @@ endif
 # Catchall implicit rule for other installation targets from the parent.
 install-%: ;
 
-$(inst_infodir)/libc.info: libc.info installdirs
+$(inst_infodir)/libc.info: $(objpfx)libc.info
+	$(make-target-directory)
 	for file in $<*; do \
-	  $(INSTALL_DATA) $$file $(@D)/$$file; \
+	  $(INSTALL_DATA) $$file $(@D)/; \
 	done
 
-installdirs:
-	$(mkinstalldirs) $(inst_infodir)
-
 TAGS: $(minimal-dist)
 	$(ETAGS) -o $@ $^
-
-# The parent makefile sometimes invokes us with targets `subdir_REAL-TARGET'.
-subdir_%: % ;
-# For targets we don't define, do nothing.
-subdir_%: ;
-
-# These are targets that each glibc subdirectory is expected to understand.
-# ../Rules defines them for code subdirectories; for us, they are no-ops.
-# None of these should be `subdir_TARGET'; those targets are transformed
-# by the implicit rule above into `TARGET' deps.
-glibc-targets	:= lib objects objs others tests xtests lint.out echo-headers
-.PHONY: $(glibc-targets)
-$(glibc-targets):
-
-# Create stamp files if they don't exist, so the parent makefile's rules for
-# updating the library archives are happy with us, and never think we have
-# changed the library.
-lib: $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o)
-ifdef objpfx
-.PHONY: stubs
-stubs: $(objpfx)stubs
-endif
-$(objpfx)stubs ../po/manual.pot:
-	$(make-target-directory)
-	touch $@
-$(objpfx)stamp%:
-	$(make-target-directory)
-	touch $@
-
-# Make the target directory if it doesn't exist, using the `mkinstalldirs'
-# script that does `mkdir -p' even if `mkdir' doesn't support that flag.
-define make-target-directory
-$(addprefix $(mkinstalldirs) ,\
-	    $(filter-out $(wildcard $(@D:%/=%)),$(@D:%/=%)))
-endef
-
-# The top-level glibc Makefile expects subdir_install to update the stubs file.
-subdir_install: stubs
-
-# Get rid of these variables if they came from the parent.
-routines =
-aux =
-sources =
-objects =
-headers =
diff --git a/manual/install.texi b/manual/install.texi
index d2663f3..9918425 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -203,10 +203,10 @@ system such as @file{/etc/passwd}, @file{/etc/nsswitch.conf} and others.
 These files must all contain correct and sensible content.
 
 To format the @cite{GNU C Library Reference Manual} for printing, type
-@w{@code{make dvi}}.  You need a working @TeX{} installation to do this.
-The distribution already includes the on-line formatted version of the
-manual, as Info files.  You can regenerate those with @w{@code{make
-info}}, but it shouldn't be necessary.
+@w{@code{make dvi}}.  You need a working @TeX{} installation to do
+this.  The distribution builds the on-line formatted version of the
+manual, as Info files, as part of the build process.  You can build
+them manually with @w{@code{make info}}.
 
 The library has a number of special-purpose configuration parameters
 which you can find in @file{Makeconfig}.  These can be overwritten with
diff --git a/manual/libc-texinfo.sh b/manual/libc-texinfo.sh
index 79ac977..60e224b 100644
--- a/manual/libc-texinfo.sh
+++ b/manual/libc-texinfo.sh
@@ -1,10 +1,13 @@
 #! /bin/sh
 
+OUTDIR=$1
+shift
+
 # Create libc.texinfo from the chapter files.
 
-trap "rm -f *.$$; exit 1" 1 2 15
+trap "rm -f ${OUTDIR}*.$$; exit 1" 1 2 15
 
-exec 3>incl.$$ 4>smenu.$$ 5>lmenu.$$
+exec 3>${OUTDIR}incl.$$ 4>${OUTDIR}smenu.$$ 5>${OUTDIR}lmenu.$$
 
 build_menu () {
   while IFS=: read file node; do
@@ -51,7 +54,7 @@ collect_nodes $3 | build_menu
 
 exec 3>&- 4>&- 5>&-
 
-mv -f incl.$$ chapters.texi
+mv -f ${OUTDIR}incl.$$ ${OUTDIR}chapters.texi
 
 {
  echo '@menu'
@@ -72,7 +75,7 @@ mv -f incl.$$ chapters.texi
   }
 
   !/^\*/ { print; }
- ' smenu.$$
+ ' ${OUTDIR}smenu.$$
  cat <<EOF
 * Free Manuals::		 Free Software Needs Free Documentation.
 * Copying::                      The GNU Lesser General Public License says
@@ -90,8 +93,8 @@ Indices
 
  --- The Detailed Node Listing ---
 EOF
- cat lmenu.$$
- echo '@end menu'; } >top-menu.texi.$$
-mv -f top-menu.texi.$$ top-menu.texi
+ cat ${OUTDIR}lmenu.$$
+ echo '@end menu'; } >${OUTDIR}top-menu.texi.$$
+mv -f ${OUTDIR}top-menu.texi.$$ ${OUTDIR}top-menu.texi
 
-rm -f *.$$
+rm -f ${OUTDIR}*.$$

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog              |   53 +++++++++++++++
 NEWS                   |   16 ++--
 manual/.gitignore      |   30 ---------
 manual/Makefile        |  171 ++++++++++++++++++-----------------------------
 manual/install.texi    |    8 +-
 manual/libc-texinfo.sh |   19 +++--
 6 files changed, 142 insertions(+), 155 deletions(-)
 delete mode 100644 manual/.gitignore


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]