#!/usr/bin/perl # perl script 'mkbuilddoc' # Aug 24 2001 / Armin.Theissen@sun.com # Mar 25 2005 / Volker Quetschke (vq@openoffice.org) # # creates the build documentation webpages for platforms # linux, solaris and windows out of the template file. # # The optional -OOo1.1.x parameter creates OOo 1.1.x build # instructions, i.e. the filename with "_1.1.x". # # name of template: build_template[_1.1.x].html # name of resulting linux build doc. file: build_linux[_1.1.x].html # solaris build_solaris[_1.1.x].html # windows with 4NT build_windows[_1.1.x].html # windows with tcsh build_windows_tcsh[_1.1.x].html # # usage: ./mkbuildoc [-OOo1.1.x] linux # ./mkbuildoc [-OOo1.1.x] solaris # ./mkbuildoc [-OOo1.1.x] windows # ./mkbuildoc [-OOo1.1.x] windows_tcsh #use strict; # pragma ### global vars ### $platform = ""; $doc_ver = ""; ### main ### # get the platform from the argument # get_options(); if ( ! $platform ) { usage(); print STDERR "\nNo or invalid platform given, please choose one."; exit 1; } $platform =~ tr/A-Z/a-z/; $outfile = "build_".$platform.$doc_ver.".html"; print "outfile will be $outfile\n"; # read in template file as one long string # $infile = "build_template".$doc_ver.".html"; open(IN, $infile) or die "Input file [$infile] missing!"; undef $/; $text = ; close(IN); $/ = "\n"; #remove the tags for the specified platform out of the text: # if ($platform eq "linux") { $text =~ s/|<\/Linux>//g; $text =~ s/|<\/LinuxSolaris>//g; $text =~ s/|<\/LinuxSolarisWin_tcsh>//g; } elsif ($platform eq "solaris") { $text =~ s/|<\/Solaris>//g; $text =~ s/|<\/LinuxSolaris>//g; $text =~ s/|<\/LinuxSolarisWin_tcsh>//g; } elsif ($platform eq "windows_tcsh") { $text =~ s/|<\/Win_tcsh>//g; $text =~ s/|<\/LinuxSolarisWin_tcsh>//g; $text =~ s/|<\/WindowsWin_tcsh>//g; } elsif ($platform eq "windows") { $text =~ s/|<\/Windows>//g; $text =~ s/|<\/WindowsWin_tcsh>//g; } #remove all text between the remaining tags including the tags. # $text =~ s/[\d\D]*?<\/Linux>//g; $text =~ s/[\d\D]*?<\/Solaris>//g; $text =~ s/[\d\D]*?<\/Win_tcsh>//g; $text =~ s/[\d\D]*?<\/LinuxSolaris>//g; $text =~ s/[\d\D]*?<\/LinuxSolarisWin_tcsh>//g; $text =~ s/[\d\D]*?<\/Windows>//g; $text =~ s/[\d\D]*?<\/WindowsWin_tcsh>//g; # write out the result # open(OUT, ">$outfile"); print OUT "$text"; close(OUT); ### Procedures ### # # Get all options passed # sub get_options { my $arg; while ($arg = shift @ARGV) { $arg =~ /^-OOo1.1.x$/i and $doc_ver="_1.1.x" and next; $arg =~ /^linux$|^solaris$|^windows$|^windows_tcsh$/i and $platform=$arg and next; }; }; sub usage { print STDERR "\nmkbuilddoc\n\n"; print STDERR "Syntax: mkbuilddoc [-OOo1.1.x] [linux|solaris|windows|windows_tcsh]\n"; print STDERR "Example: mkbuilddoc linux\n"; print STDERR " - creates build_linux.html from build_template.html\n\n"; print STDERR "Example: mkbuilddoc -OOo1.1.x windows\n"; print STDERR " - creates build_windows_1.1.x.html from build_template_1.1.x.html\n\n"; print STDERR "Default: - None. Provide a target!\n"; };