[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Installing man/info pages, attempt III

From: Daniel Stenberg <daniel_at_haxx.se>
Date: 2001-10-24 10:45:51 CEST

Hi

This time, I've taken my attempts one step further, even into the realms of
python scripting in which I am a major cluebie. Please point out my mistakes.
These fixes all seem to work for me.

Highlights:

* ./Makefile.in

  Added install-docs, install-man and install-info targets. This file was
  written so that added man pages (in different sections) or added info files
  should not require any Makefile.in modificatin (only changes to build.conf
  should be necessary to add or remove such files from the install process).

* ./configure.in

  Added install-docs to INSTALL_RULES.

* ./gen-make.py

  Added code to support the new build.conf sections 'manpages' and
  'infopages'. They get added to the MANPAGES and INFOPAGES variables that
  the Makefile will use.

* ./build.conf

  Added the man pages and info pages in the new sections just added.

And here's the magic:

Index: Makefile.in
===================================================================
--- .svn/text-base/Makefile.in Wed Oct 10 10:13:47 2001
+++ Makefile.in Tue Oct 23 16:41:44 2001
@@ -25,6 +25,9 @@
 bindir = @bindir@
 fs_bindir=@bindir@
 includedir = @includedir@
+mandir = @mandir@
+srcdir = @srcdir@
+infodir = @infodir@

 ### should search for these...
 MAKEINFO = makeinfo
@@ -72,6 +75,7 @@
 INSTALL_INCLUDE = $(INSTALL) -m 644
 INSTALL_MOD_SHARED = @APXS@ -i -a
 INSTALL_MOD_STATIC = $(INSTALL) -m 644
+INSTALL_DATA = $(INSTALL) -m 644

 PYTHON = @PYTHON@

@@ -233,3 +237,33 @@

 .dvi.pdf:
         $(DVIPDF) $< $@
+
+install-docs: install-man install-info
+
+install-man: install-man1
+
+manroot = $(mandir)/man
+install-man1: $(man1pages)
+ @list='$(MANPAGES)'; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ $(MKDIR) $(DESTDIR)$(manroot)$$ext
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst`.$$ext; \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst"; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst; \
+ done
+
+install-info: $(INFOPAGES)
+ $(MKDIR) $(DESTDIR)$(infodir)
+ @list='$(INFOPAGES)'; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ inst=`echo $$file | sed -e 's/^.*\///'`; \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$inst"; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$inst; \
+ done
Index: build.conf
===================================================================
--- .svn/text-base/build.conf Mon Oct 8 11:33:05 2001
+++ build.conf Tue Oct 23 16:43:58 2001
@@ -12,6 +12,17 @@
 # than defining build targets.
 #

+[manpages]
+paths = subversion/clients/cmdline/man/svn.1
+
+[infopages]
+paths = doc/user/manual/svn-manual.info
+ doc/user/svn_for_cvs_users/svn_for_cvs_users.info
+ doc/programmer/design/svn-design.info
+ doc/programmer/design/svn-design.info-1
+ doc/programmer/design/svn-design.info-2
+ doc/programmer/design/svn-design.info-3
+
 [includes]
 paths = subversion/include/*.h

Index: configure.in
===================================================================
--- .svn/text-base/configure.in Thu Oct 11 15:45:04 2001
+++ configure.in Wed Oct 24 10:07:56 2001
@@ -166,11 +166,11 @@
                     $SVN_FS_WANT_DB_PATCH)

 # Only add *_APACHE_RULE if we also have db, since mod_dav_svn depends on it.
-INSTALL_RULES="install-lib install-bin install-include"
+INSTALL_RULES="install-lib install-bin install-include install-docs"
 BUILD_RULES="lib bin test"
 if test "$svn_lib_berkeley_db" = "yes"; then
   BUILD_RULES="lib fs-lib bin fs-bin $BUILD_APACHE_RULE test fs-test"
- INSTALL_RULES="install-lib install-fs-lib install-bin install-fs-bin $INSTALL_APACHE_RULE install-include"
+ INSTALL_RULES="install-lib install-fs-lib install-bin install-fs-bin $INSTALL_APACHE_RULE install-include install-docs"
   FS_TEST_DEPS="\$(FS_TEST_DEPS)"
   FS_TEST_PROGRAMS="\$(FS_TEST_PROGRAMS)"
 fi
Index: gen-make.py
===================================================================
--- .svn/text-base/gen-make.py Mon Oct 8 11:33:05 2001
+++ gen-make.py Tue Oct 23 16:39:29 2001
@@ -241,6 +241,10 @@
   errors = errors or s_errors

   fs_scripts, fs_errors = _collect_paths(parser.get('fs-test-scripts', 'paths'))
+
+ manpages, manpages_errors = _collect_paths(parser.get('manpages', 'paths'))
+ infopages, infopages_errors = _collect_paths(parser.get('infopages', 'paths'))
+
   errors = errors or fs_errors

   ofile.write('FS_TEST_DEPS = %s\n\n' % string.join(fs_test_deps + fs_scripts))
@@ -249,6 +253,9 @@
   ofile.write('TEST_DEPS = %s\n\n' % string.join(test_deps + scripts))
   ofile.write('TEST_PROGRAMS = %s\n\n' % string.join(test_progs + scripts))

+ ofile.write('MANPAGES = %s\n\n' % string.join(manpages))
+ ofile.write('INFOPAGES = %s\n\n' % string.join(infopages))
+
   if not skip_depends:
     #
     # Find all the available headers and what they depend upon. the
@@ -329,6 +336,8 @@
   }

 _predef_sections = [
+ 'manpages',
+ 'infopages',
   'includes',
   'static-apache',
   'test-scripts',

-- 
      Daniel Stenberg - http://daniel.haxx.se - +46-705-44 31 77
   ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:45 2006

This is an archived mail posted to the Subversion Dev mailing list.