-
-
Building the Documentation
-
- Building the PostgreSQL documentation in HTML format requires several tools
- and files. Create a root directory for all these files, and store them
- in the subdirectories in the list below.
-
-
- OpenJade 1.3.1-2
- Download from
- and uncompress in the subdirectory openjade-1.3.1.
-
-
-
-
- DocBook DTD 4.2
- Download from
- and uncompress in the subdirectory docbook.
-
-
-
-
- ISO character entities
- Download from
- uncompress in the subdirectory docbook.
-
-
-
- Edit the buildenv.pl file, and add a variable for the
- location of the root directory, for example:
-$ENV{DOCROOT}='c:\docbook';
-
- To build the documentation, run the command
- builddoc.bat. Note that this will actually run the
- build twice, in order to generate the indexes. The generated HTML files
- will be in doc\src\sgml.
-
-
-
+++ /dev/null
-# -*-perl-*- hey - emacs - this is a perl file
-
-# Adjust path for your docbook installation in buildenv.pl
-
-# src/tools/msvc/builddoc.pl
-# translated from an earlier .bat file
-
-use strict;
-use File::Copy;
-use Cwd qw(abs_path getcwd);
-
-my $startdir = getcwd();
-
-my $openjade = 'openjade-1.3.1';
-my $dsssl = 'docbook-dsssl-1.79';
-
-chdir '../../..' if (-d '../msvc' && -d '../../../src');
-
-noversion() unless -e 'doc/src/sgml/version.sgml';
-
-do 'src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl';
-
-my $docroot = $ENV{DOCROOT};
-die "bad DOCROOT '$docroot'" unless ($docroot && -d $docroot);
-
-my @notfound;
-foreach my $dir ('docbook', $openjade, $dsssl)
-{
- push(@notfound, $dir) unless -d "$docroot/$dir";
-}
-missing() if @notfound;
-
-my $arg = shift;
-renamefiles();
-
-chdir 'doc/src/sgml';
-
-$ENV{SGML_CATALOG_FILES} =
- "$docroot/$openjade/dsssl/catalog;" . "$docroot/docbook/docbook.cat";
-
-my $cmd;
-
-# openjade exits below with a harmless non-zero status, so we
-# can't die on "failure"
-
-$cmd =
- "perl mk_feature_tables.pl YES "
- . "../../../src/backend/catalog/sql_feature_packages.txt "
- . "../../../src/backend/catalog/sql_features.txt "
- . "> features-supported.sgml";
-system($cmd);
-die "features_supported" if $?;
-$cmd =
- "perl mk_feature_tables.pl NO "
- . "\"../../../src/backend/catalog/sql_feature_packages.txt\" "
- . "\"../../../src/backend/catalog/sql_features.txt\" "
- . "> features-unsupported.sgml";
-system($cmd);
-die "features_unsupported" if $?;
-$cmd =
- "perl generate-errcodes-table.pl \"../../../src/backend/utils/errcodes.txt\" "
- . "> errcodes-table.sgml";
-system($cmd);
-die "errcodes-table" if $?;
-
-print "Running first build...\n";
-$cmd =
- "\"$docroot/$openjade/bin/openjade\" -V html-index -wall "
- . "-wno-unused-param -wno-empty -D . -c \"$docroot/$dsssl/catalog\" "
- . "-d stylesheet.dsl -i output-html -t sgml postgres.sgml 2>&1 "
- . "| findstr /V \"DTDDECL catalog entries are not supported\" ";
-system($cmd); # die "openjade" if $?;
-print "Running collateindex...\n";
-$cmd = "perl \"$docroot/$dsssl/bin/collateindex.pl\" -f -g -i bookindex "
- . "-o bookindex.sgml HTML.index";
-system($cmd);
-die "collateindex" if $?;
-mkdir "html";
-print "Running second build...\n";
-$cmd =
- "\"$docroot/$openjade/bin/openjade\" -wall -wno-unused-param -wno-empty "
- . "-D . -c \"$docroot/$dsssl/catalog\" -d stylesheet.dsl -t sgml "
- . "-i output-html -i include-index postgres.sgml 2>&1 "
- . "| findstr /V \"DTDDECL catalog entries are not supported\" ";
-
-system($cmd); # die "openjade" if $?;
-
-copy "stylesheet.css", "html/stylesheet.css";
-
-print "Docs build complete.\n";
-
-exit;
-
-########################################################
-
-sub renamefiles
-{
-
- # Rename ISO entity files
- my $savedir = getcwd();
- chdir "$docroot/docbook";
- foreach my $f (glob('ISO*'))
- {
- next if $f =~ /\.gml$/i;
- my $nf = $f;
- $nf =~ s/ISO(.*)/ISO-$1.gml/;
- move $f, $nf;
- }
- chdir $savedir;
- return;
-}
-
-sub missing
-{
- print STDERR "could not find $docroot/$_\n" foreach (@notfound);
- exit 1;
-}
-
-sub noversion
-{
- print STDERR "Could not find version.sgml. ",
- "Please run mkvcbuild.pl first!\n";
- exit 1;
-}