diff options
author | Jan Dubois <jand@activestate.com> | 1999-07-01 13:17:53 +0200 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-07-07 10:32:03 +0000 |
commit | cae6c631be0cfed1f388d3116e456beb58714d6e (patch) | |
tree | add69650c91f91f55784b8c1569cb9dfae7b4de0 /lib/ExtUtils | |
parent | 21e970cc3286bbc90a29bffea6823d080d88c86d (diff) | |
download | perl-cae6c631be0cfed1f388d3116e456beb58714d6e.tar.gz |
MakeMaker support for pod2html
Message-ID: <377b2ca4.14467042@smtp1.ibm.net>
p4raw-id: //depot/perl@3647
Diffstat (limited to 'lib/ExtUtils')
-rw-r--r-- | lib/ExtUtils/MM_Unix.pm | 169 | ||||
-rw-r--r-- | lib/ExtUtils/MM_Win32.pm | 86 | ||||
-rw-r--r-- | lib/ExtUtils/MakeMaker.pm | 83 |
3 files changed, 284 insertions, 54 deletions
diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm index 669c83f18e..03bb43568e 100644 --- a/lib/ExtUtils/MM_Unix.pm +++ b/lib/ExtUtils/MM_Unix.pm @@ -188,6 +188,7 @@ sub ExtUtils::MM_Unix::fixin ; sub ExtUtils::MM_Unix::force ; sub ExtUtils::MM_Unix::guess_name ; sub ExtUtils::MM_Unix::has_link_code ; +sub ExtUtils::MM_Unix::htmlifypods ; sub ExtUtils::MM_Unix::init_dirscan ; sub ExtUtils::MM_Unix::init_main ; sub ExtUtils::MM_Unix::init_others ; @@ -565,12 +566,19 @@ XS_FILES= ".join(" \\\n\t", sort keys %{$self->{XS}})." C_FILES = ".join(" \\\n\t", @{$self->{C}})." O_FILES = ".join(" \\\n\t", @{$self->{O_FILES}})." H_FILES = ".join(" \\\n\t", @{$self->{H}})." +HTMLLIBPODS = ".join(" \\\n\t", sort keys %{$self->{HTMLLIBPODS}})." +HTMLSCRIPTPODS = ".join(" \\\n\t", sort keys %{$self->{HTMLSCRIPTPODS}})." MAN1PODS = ".join(" \\\n\t", sort keys %{$self->{MAN1PODS}})." MAN3PODS = ".join(" \\\n\t", sort keys %{$self->{MAN3PODS}})." "; for $tmp (qw/ - INST_MAN1DIR INSTALLMAN1DIR MAN1EXT INST_MAN3DIR INSTALLMAN3DIR MAN3EXT + INST_HTMLPRIVLIBDIR INSTALLHTMLPRIVLIBDIR + INST_HTMLSITELIBDIR INSTALLHTMLSITELIBDIR + INST_HTMLSCRIPTDIR INSTALLHTMLSCRIPTDIR + INST_HTMLLIBDIR HTMLEXT + INST_MAN1DIR INSTALLMAN1DIR MAN1EXT + INST_MAN3DIR INSTALLMAN3DIR MAN3EXT /) { next unless defined $self->{$tmp}; push @m, "$tmp = $self->{$tmp}\n"; @@ -1295,9 +1303,60 @@ sub has_link_code { return $self->{HAS_LINK_CODE} = 0; } +=item htmlifypods (o) + +Defines targets and routines to translate the pods into HTML manpages +and put them into the INST_HTMLLIBDIR and INST_HTMLSCRIPTDIR +directories. + +=cut + +sub htmlifypods { + my($self, %attribs) = @_; + return "\nhtmlifypods : pure_all\n\t$self->{NOECHO}\$(NOOP)\n" unless + %{$self->{HTMLLIBPODS}} || %{$self->{HTMLSCRIPTPODS}}; + my($dist); + my($pod2html_exe); + if (defined $self->{PERL_SRC}) { + $pod2html_exe = $self->catfile($self->{PERL_SRC},'pod','pod2html'); + } else { + $pod2html_exe = $self->catfile($Config{scriptdirexp},'pod2html'); + } + unless ($pod2html_exe = $self->perl_script($pod2html_exe)) { + # No pod2html but some HTMLxxxPODS to be installed + print <<END; + +Warning: I could not locate your pod2html program. Please make sure, + your pod2html program is in your PATH before you execute 'make' + +END + $pod2html_exe = "-S pod2html"; + } + my(@m); + push @m, +qq[POD2HTML_EXE = $pod2html_exe\n], +qq[POD2HTML = \$(PERL) -we 'use File::Basename; use File::Path qw(mkpath); %m=\@ARGV;for (keys %m){' \\\n], +q[-e 'next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M "], + $self->{MAKEFILE}, q[";' \\ +-e 'print "Htmlifying $$m{$$_}\n";' \\ +-e '$$dir = dirname($$m{$$_}); mkpath($$dir) unless -d $$dir;' \\ +-e 'system(qq[$$^X ].q["-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" $(POD2HTML_EXE) ].qq[$$_>$$m{$$_}])==0 or warn "Couldn\\047t install $$m{$$_}\n";' \\ +-e 'chmod(oct($(PERM_RW))), $$m{$$_} or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}' +]; + push @m, "\nhtmlifypods : pure_all "; + push @m, join " \\\n\t", keys %{$self->{HTMLLIBPODS}}, keys %{$self->{HTMLSCRIPTPODS}}; + + push(@m,"\n"); + if (%{$self->{HTMLLIBPODS}} || %{$self->{HTMLSCRIPTPODS}}) { + push @m, "\t$self->{NOECHO}\$(POD2HTML) \\\n\t"; + push @m, join " \\\n\t", %{$self->{HTMLLIBPODS}}, %{$self->{HTMLSCRIPTPODS}}; + } + join('', @m); +} + =item init_dirscan -Initializes DIR, XS, PM, C, O_FILES, H, PL_FILES, MAN*PODS, EXE_FILES. +Initializes DIR, XS, PM, C, O_FILES, H, PL_FILES, HTML*PODS, MAN*PODS, EXE_FILES. =cut @@ -1413,65 +1472,59 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc) $self->{PL_FILES} = \%pl_files unless $self->{PL_FILES}; # Set up names of manual pages to generate from pods - if ($self->{MAN1PODS}) { - } elsif ( $self->{INST_MAN1DIR} =~ /^(none|\s*)$/ ) { - $self->{MAN1PODS} = {}; - } else { - my %manifypods = (); + my %pods; + foreach my $man (qw(MAN1 MAN3 HTMLLIB HTMLSCRIPT)) { + unless ($self->{"${man}PODS"}) { + $self->{"${man}PODS"} = {}; + $pods{$man} = 1 unless $self->{"INST_${man}DIR"} =~ /^(none|\s*)$/; + } + } + + if ($pods{MAN1} || $pods{HTMLSCRIPT}) { if ( exists $self->{EXE_FILES} ) { foreach $name (@{$self->{EXE_FILES}}) { -# use FileHandle (); -# my $fh = new FileHandle; local *FH; my($ispod)=0; -# if ($fh->open("<$name")) { if (open(FH,"<$name")) { -# while (<$fh>) { while (<FH>) { if (/^=head1\s+\w+/) { $ispod=1; last; } } -# $fh->close; close FH; } else { # If it doesn't exist yet, we assume, it has pods in it $ispod = 1; } - if( $ispod ) { - $manifypods{$name} = - $self->catfile('$(INST_MAN1DIR)', - basename($name).'.$(MAN1EXT)'); + next unless $ispod; + if ($pods{HTMLSCRIPT}) { + $self->{HTMLSCRIPTPODS}->{$name} = + $self->catfile("\$(INST_HTMLSCRIPTDIR)", basename($name).".\$(HTMLEXT)"); + } + if ($pods{MAN1}) { + $self->{MAN1PODS}->{$name} = + $self->catfile("\$(INST_MAN1DIR)", basename($name).".\$(MAN1EXT)"); } } } - $self->{MAN1PODS} = \%manifypods; } - if ($self->{MAN3PODS}) { - } elsif ( $self->{INST_MAN3DIR} =~ /^(none|\s*)$/ ) { - $self->{MAN3PODS} = {}; - } else { + if ($pods{MAN3} || $pods{HTMLLIB}) { my %manifypods = (); # we collect the keys first, i.e. the files # we have to convert to pod foreach $name (keys %{$self->{PM}}) { if ($name =~ /\.pod$/ ) { $manifypods{$name} = $self->{PM}{$name}; } elsif ($name =~ /\.p[ml]$/ ) { -# use FileHandle (); -# my $fh = new FileHandle; local *FH; my($ispod)=0; -# $fh->open("<$name"); if (open(FH,"<$name")) { - # while (<$fh>) { while (<FH>) { if (/^=head1\s+\w+/) { $ispod=1; last; } } - # $fh->close; close FH; } else { $ispod = 1; @@ -1490,14 +1543,20 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc) next; } my($manpagename) = $name; + $manpagename =~ s/\.p(od|m|l)$//; + if ($pods{HTMLLIB}) { + $self->{HTMLLIBPODS}->{$name} = + $self->catfile("\$(INST_HTMLLIBDIR)", "$manpagename.\$(HTMLEXT)"); + } unless ($manpagename =~ s!^\W*lib\W+!!) { # everything below lib is ok $manpagename = $self->catfile(split(/::/,$self->{PARENT_NAME}),$manpagename); } - $manpagename =~ s/\.p(od|m|l)$//; - $manpagename = $self->replace_manpage_separator($manpagename); - $manifypods{$name} = $self->catfile("\$(INST_MAN3DIR)","$manpagename.\$(MAN3EXT)"); + if ($pods{MAN3}) { + $manpagename = $self->replace_manpage_separator($manpagename); + $self->{MAN3PODS}->{$name} = + $self->catfile("\$(INST_MAN3DIR)", "$manpagename.\$(MAN3EXT)"); + } } - $self->{MAN3PODS} = \%manifypods; } } @@ -1780,6 +1839,30 @@ usually solves this kind of problem. } $self->{MAN3EXT} ||= $Config::Config{man3ext}; + $self->{INSTALLHTMLPRIVLIBDIR} = $Config::Config{installhtmlprivlibdir} + unless defined $self->{INSTALLHTMLPRIVLIBDIR}; + $self->{INSTALLHTMLSITELIBDIR} = $Config::Config{installhtmlsitelibdir} + unless defined $self->{INSTALLHTMLSITELIBDIR}; + + unless (defined $self->{INST_HTMLLIBDIR}){ + if ($self->{INSTALLHTMLSITELIBDIR} =~ /^(none|\s*)$/){ + $self->{INST_HTMLLIBDIR} = $self->{INSTALLHTMLSITELIBDIR}; + } else { + $self->{INST_HTMLLIBDIR} = $self->catdir($self->curdir,'blib','html','lib'); + } + } + + $self->{INSTALLHTMLSCRIPTDIR} = $Config::Config{installhtmlscriptdir} + unless defined $self->{INSTALLHTMLSCRIPTDIR}; + unless (defined $self->{INST_HTMLSCRIPTDIR}){ + if ($self->{INSTALLHTMLSCRIPTDIR} =~ /^(none|\s*)$/){ + $self->{INST_HTMLSCRIPTDIR} = $self->{INSTALLHTMLSCRIPTDIR}; + } else { + $self->{INST_HTMLSCRIPTDIR} = $self->catdir($self->curdir,'blib','html','bin'); + } + } + $self->{HTMLEXT} ||= $Config::Config{htmlext} || 'html'; + # Get some stuff out of %Config if we haven't yet done so print STDOUT "CONFIG must be an array ref\n" @@ -1972,6 +2055,8 @@ pure_perl_install :: $(INST_ARCHLIB) $(INSTALLARCHLIB) \ $(INST_BIN) $(INSTALLBIN) \ $(INST_SCRIPT) $(INSTALLSCRIPT) \ + $(INST_HTMLLIBDIR) $(INSTALLHTMLPRIVLIBDIR) \ + $(INST_HTMLSCRIPTDIR) $(INSTALLHTMLSCRIPTDIR) \ $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(INST_MAN3DIR) $(INSTALLMAN3DIR) }.$self->{NOECHO}.q{$(WARN_IF_OLD_PACKLIST) \ @@ -1986,6 +2071,8 @@ pure_site_install :: $(INST_ARCHLIB) $(INSTALLSITEARCH) \ $(INST_BIN) $(INSTALLBIN) \ $(INST_SCRIPT) $(INSTALLSCRIPT) \ + $(INST_HTMLLIBDIR) $(INSTALLHTMLSITELIBDIR) \ + $(INST_HTMLSCRIPTDIR) $(INSTALLHTMLSCRIPTDIR) \ $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(INST_MAN3DIR) $(INSTALLMAN3DIR) }.$self->{NOECHO}.q{$(WARN_IF_OLD_PACKLIST) \ @@ -2448,7 +2535,7 @@ sub manifypods { } else { $pod2man_exe = $self->catfile($Config{scriptdirexp},'pod2man'); } - unless ($self->perl_script($pod2man_exe)) { + unless ($pod2man_exe = $self->perl_script($pod2man_exe)) { # No pod2man but some MAN3PODS to be installed print <<END; @@ -3410,7 +3497,7 @@ sub top_targets { '; push @m, ' -all :: pure_all manifypods +all :: pure_all htmlifypods manifypods '.$self->{NOECHO}.'$(NOOP) ' unless $self->{SKIPHASH}{'all'}; @@ -3440,6 +3527,24 @@ config :: Version_check push @m, $self->dir_target(qw[$(INST_AUTODIR) $(INST_LIBDIR) $(INST_ARCHAUTODIR)]); + if (%{$self->{HTMLLIBPODS}}) { + push @m, qq[ +config :: \$(INST_HTMLLIBDIR)/.exists + $self->{NOECHO}\$(NOOP) + +]; + push @m, $self->dir_target(qw[$(INST_HTMLLIBDIR)]); + } + + if (%{$self->{HTMLSCRIPTPODS}}) { + push @m, qq[ +config :: \$(INST_HTMLSCRIPTDIR)/.exists + $self->{NOECHO}\$(NOOP) + +]; + push @m, $self->dir_target(qw[$(INST_HTMLSCRIPTDIR)]); + } + if (%{$self->{MAN1PODS}}) { push @m, qq[ config :: \$(INST_MAN1DIR)/.exists diff --git a/lib/ExtUtils/MM_Win32.pm b/lib/ExtUtils/MM_Win32.pm index 4070b2e10b..5191bc81ec 100644 --- a/lib/ExtUtils/MM_Win32.pm +++ b/lib/ExtUtils/MM_Win32.pm @@ -250,12 +250,19 @@ XS_FILES= ".join(" \\\n\t", sort keys %{$self->{XS}})." C_FILES = ".join(" \\\n\t", @{$self->{C}})." O_FILES = ".join(" \\\n\t", @{$self->{O_FILES}})." H_FILES = ".join(" \\\n\t", @{$self->{H}})." +HTMLLIBPODS = ".join(" \\\n\t", sort keys %{$self->{HTMLLIBPODS}})." +HTMLSCRIPTPODS = ".join(" \\\n\t", sort keys %{$self->{HTMLSCRIPTPODS}})." MAN1PODS = ".join(" \\\n\t", sort keys %{$self->{MAN1PODS}})." MAN3PODS = ".join(" \\\n\t", sort keys %{$self->{MAN3PODS}})." "; for $tmp (qw/ - INST_MAN1DIR INSTALLMAN1DIR MAN1EXT INST_MAN3DIR INSTALLMAN3DIR MAN3EXT + INST_HTMLPRIVLIBDIR INSTALLHTMLPRIVLIBDIR + INST_HTMLSITELIBDIR INSTALLHTMLSITELIBDIR + INST_HTMLSCRIPTDIR INSTALLHTMLSCRIPTDIR + INST_HTMLLIBDIR HTMLEXT + INST_MAN1DIR INSTALLMAN1DIR MAN1EXT + INST_MAN3DIR INSTALLMAN3DIR MAN3EXT /) { next unless defined $self->{$tmp}; push @m, "$tmp = $self->{$tmp}\n"; @@ -516,7 +523,9 @@ any ordinary, readable file. sub perl_script { my($self,$file) = @_; + return $file if -r $file && -f _; return "$file.pl" if -r "$file.pl" && -f _; + return "$file.bat" if -r "$file.bat" && -f _; return; } @@ -668,7 +677,7 @@ sub top_targets { '; push @m, ' -all :: pure_all manifypods +all :: pure_all htmlifypods manifypods '.$self->{NOECHO}.'$(NOOP) ' unless $self->{SKIPHASH}{'all'}; @@ -698,6 +707,24 @@ config :: Version_check push @m, $self->dir_target(qw[$(INST_AUTODIR) $(INST_LIBDIR) $(INST_ARCHAUTODIR)]); + if (%{$self->{HTMLLIBPODS}}) { + push @m, qq[ +config :: \$(INST_HTMLLIBDIR)/.exists + $self->{NOECHO}\$(NOOP) + +]; + push @m, $self->dir_target(qw[$(INST_HTMLLIBDIR)]); + } + + if (%{$self->{HTMLSCRIPTPODS}}) { + push @m, qq[ +config :: \$(INST_HTMLSCRIPTDIR)/.exists + $self->{NOECHO}\$(NOOP) + +]; + push @m, $self->dir_target(qw[$(INST_HTMLSCRIPTDIR)]); + } + if (%{$self->{MAN1PODS}}) { push @m, qq[ config :: \$(INST_MAN1DIR)\\.exists @@ -734,9 +761,62 @@ Version_check: join('',@m); } +=item htmlifypods (o) + +Defines targets and routines to translate the pods into HTML manpages +and put them into the INST_HTMLLIBDIR and INST_HTMLSCRIPTDIR +directories. + +Same as MM_Unix version (changes command-line quoting). + +=cut + +sub htmlifypods { + my($self, %attribs) = @_; + return "\nhtmlifypods : pure_all\n\t$self->{NOECHO}\$(NOOP)\n" unless + %{$self->{HTMLLIBPODS}} || %{$self->{HTMLSCRIPTPODS}}; + my($dist); + my($pod2html_exe); + if (defined $self->{PERL_SRC}) { + $pod2html_exe = $self->catfile($self->{PERL_SRC},'pod','pod2html'); + } else { + $pod2html_exe = $self->catfile($Config{scriptdirexp},'pod2html'); + } + unless ($pod2html_exe = $self->perl_script($pod2html_exe)) { + # No pod2html but some HTMLxxxPODS to be installed + print <<END; + +Warning: I could not locate your pod2html program. Please make sure, + your pod2html program is in your PATH before you execute 'make' + +END + $pod2html_exe = "-S pod2html"; + } + my(@m); + push @m, +qq[POD2HTML_EXE = $pod2html_exe\n], +qq[POD2HTML = \$(PERL) -we "use File::Basename; use File::Path qw(mkpath); %m=\@ARGV;for (keys %m){" \\\n], +q[-e "next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M '], + $self->{MAKEFILE}, q[';" \\ +-e "print qq(Htmlifying $$m{$$_}\n);" \\ +-e "$$dir = dirname($$m{$$_}); mkpath($$dir) unless -d $$dir;" \\ +-e "system(qq[$$^X ].q["-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" $(POD2HTML_EXE) ].qq[$$_>$$m{$$_}])==0 or warn qq(Couldn\\047t install $$m{$$_}\n);" \\ +-e "chmod(oct($(PERM_RW))), $$m{$$_} or warn qq(chmod $(PERM_RW) $$m{$$_}: $$!\n);}" +]; + push @m, "\nhtmlifypods : pure_all "; + push @m, join " \\\n\t", keys %{$self->{HTMLLIBPODS}}, keys %{$self->{HTMLSCRIPTPODS}}; + + push(@m,"\n"); + if (%{$self->{HTMLLIBPODS}} || %{$self->{HTMLSCRIPTPODS}}) { + push @m, "\t$self->{NOECHO}\$(POD2HTML) \\\n\t"; + push @m, join " \\\n\t", %{$self->{HTMLLIBPODS}}, %{$self->{HTMLSCRIPTPODS}}; + } + join('', @m); +} + =item manifypods (o) -We don't want manpage process. XXX add pod2html support later. +We don't want manpage process. =cut diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm index a8ea73ea40..42bf4162c5 100644 --- a/lib/ExtUtils/MakeMaker.pm +++ b/lib/ExtUtils/MakeMaker.pm @@ -241,10 +241,13 @@ sub full_setup { AUTHOR ABSTRACT ABSTRACT_FROM BINARY_LOCATION C CAPI CCFLAGS CONFIG CONFIGURE DEFINE DIR DISTNAME DL_FUNCS DL_VARS - EXCLUDE_EXT EXE_FILES FIRST_MAKEFILE FULLPERL FUNCLIST H IMPORTS - INC INCLUDE_EXT INSTALLARCHLIB INSTALLBIN INSTALLDIRS INSTALLMAN1DIR + EXCLUDE_EXT EXE_FILES FIRST_MAKEFILE FULLPERL FUNCLIST H + HTMLLIBPODS HTMLSCRIPTPOD IMPORTS + INC INCLUDE_EXT INSTALLARCHLIB INSTALLBIN INSTALLDIRS INSTALLHTMLPRIVLIBDIR + INSTALLHTMLSCRIPTDIR INSTALLHTMLSITELIBDIR INSTALLMAN1DIR INSTALLMAN3DIR INSTALLPRIVLIB INSTALLSCRIPT INSTALLSITEARCH INSTALLSITELIB INST_ARCHLIB INST_BIN INST_EXE INST_LIB + INST_HTMLLIBDIR INST_HTMLSCRIPTDIR INST_MAN1DIR INST_MAN3DIR INST_SCRIPT LDFROM LIB LIBPERL_A LIBS LINKTYPE MAKEAPERL MAKEFILE MAN1PODS MAN3PODS MAP_TARGET MYEXTLIB NAME NEEDS_LINKING NOECHO NORECURS NO_VC OBJECT OPTIMIZE PERL PERLMAINCC @@ -276,7 +279,8 @@ sub full_setup { pasthru c_o xs_c xs_o top_targets linkext dlsyms dynamic dynamic_bs - dynamic_lib static static_lib manifypods processPL installbin subdirs + dynamic_lib static static_lib htmlifypods manifypods processPL + installbin subdirs clean realclean dist_basics dist_core dist_dir dist_test dist_ci install force perldepend makefile staticmake test ppd @@ -328,9 +332,9 @@ sub full_setup { %Prepend_dot_dot = qw( - INST_BIN 1 INST_EXE 1 INST_LIB 1 INST_ARCHLIB 1 INST_SCRIPT - 1 MAP_TARGET 1 INST_MAN1DIR 1 INST_MAN3DIR 1 PERL_SRC 1 - PERL 1 FULLPERL 1 + INST_BIN 1 INST_EXE 1 INST_LIB 1 INST_ARCHLIB 1 INST_SCRIPT 1 + MAP_TARGET 1 INST_HTMLLIBDIR 1 INST_HTMLSCRIPTDIR 1 + INST_MAN1DIR 1 INST_MAN3DIR 1 PERL_SRC 1 PERL 1 FULLPERL 1 ); @@ -979,26 +983,29 @@ want to specify some other option, set C<TESTDB_SW> variable: =head2 make install make alone puts all relevant files into directories that are named by -the macros INST_LIB, INST_ARCHLIB, INST_SCRIPT, INST_MAN1DIR, and -INST_MAN3DIR. All these default to something below ./blib if you are -I<not> building below the perl source directory. If you I<are> -building below the perl source, INST_LIB and INST_ARCHLIB default to - ../../lib, and INST_SCRIPT is not defined. +the macros INST_LIB, INST_ARCHLIB, INST_SCRIPT, INST_HTMLLIBDIR, +INST_HTMLSCRIPTDIR, INST_MAN1DIR, and INST_MAN3DIR. All these default +to something below ./blib if you are I<not> building below the perl +source directory. If you I<are> building below the perl source, +INST_LIB and INST_ARCHLIB default to ../../lib, and INST_SCRIPT is not +defined. The I<install> target of the generated Makefile copies the files found below each of the INST_* directories to their INSTALL* counterparts. Which counterparts are chosen depends on the setting of INSTALLDIRS according to the following table: - INSTALLDIRS set to - perl site + INSTALLDIRS set to + perl site - INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH - INST_LIB INSTALLPRIVLIB INSTALLSITELIB - INST_BIN INSTALLBIN - INST_SCRIPT INSTALLSCRIPT - INST_MAN1DIR INSTALLMAN1DIR - INST_MAN3DIR INSTALLMAN3DIR + INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH + INST_LIB INSTALLPRIVLIB INSTALLSITELIB + INST_HTMLLIBDIR INSTALLHTMLPRIVLIBDIR INSTALLHTMLSITELIBDIR + INST_HTMLSCRIPTDIR INSTALLHTMLSCRIPTDIR + INST_BIN INSTALLBIN + INST_SCRIPT INSTALLSCRIPT + INST_MAN1DIR INSTALLMAN1DIR + INST_MAN3DIR INSTALLMAN3DIR The INSTALL... macros in turn default to their %Config ($Config{installprivlib}, $Config{installarchlib}, etc.) counterparts. @@ -1332,6 +1339,20 @@ names are passed through unaltered to the linker options file. Ref to array of *.h file names. Similar to C. +=item HTMLLIBPODS + +Hashref of .pm and .pod files. MakeMaker will default this to all + .pod and any .pm files that include POD directives. The files listed +here will be converted to HTML format and installed as was requested +at Configure time. + +=item HTMLSCRIPTPODS + +Hashref of pod-containing files. MakeMaker will default this to all +EXE_FILES files that include POD directives. The files listed +here will be converted to HTML format and installed as was requested +at Configure time. + =item IMPORTS This attribute is used to specify names to be imported into the @@ -1372,6 +1393,22 @@ choose: installprivlib and installarchlib versus installsitelib and installsitearch. The first pair is chosen with INSTALLDIRS=perl, the second with INSTALLDIRS=site. Default is site. +=item INSTALLHTMLPRIVLIBDIR + +This directory gets the HTML pages at 'make install' time. Defaults to +$Config{installhtmlprivlibdir}. + +=item INSTALLHTMLSCRIPTDIR + +This directory gets the HTML pages at 'make install' time. Defaults to +$Config{installhtmlscriptdir}. + +=item INSTALLHTMLSITELIBDIR + +This directory gets the HTML pages at 'make install' time. Defaults to +$Config{installhtmlsitelibdir}. + + =item INSTALLMAN1DIR This directory gets the man pages at 'make install' time. Defaults to @@ -1421,6 +1458,14 @@ need to use it. Directory where we put library files of this extension while building it. +=item INST_HTMLLIBDIR + +Directory to hold the man pages in HTML format at 'make' time + +=item INST_HTMLSCRIPTDIR + +Directory to hold the man pages in HTML format at 'make' time + =item INST_MAN1DIR Directory to hold the man pages at 'make' time |