OK, now the script works correctly. But I think we have to test it some more, so... any volunteers?
William Poetra Yoga Hadisoeseno
Discover Yahoo! Have fun online with music videos, cool games, IM and more. Check it out! http://discover.yahoo.com/online.html
Index: dlls/Makedll.rules.in =================================================================== RCS file: /home/wine/wine/dlls/Makedll.rules.in,v retrieving revision 1.71 diff -u -p -r1.71 Makedll.rules.in --- dlls/Makedll.rules.in 8 Mar 2005 16:55:26 -0000 1.71 +++ dlls/Makedll.rules.in 6 May 2005 13:44:11 -0000 @@ -61,13 +61,13 @@ $(MAINSPEC).c: $(MAINSPEC) $(RC_SRCS:.rc # Rules for auto documentation
man: $(C_SRCS) - $(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -S$(api_manext) $(INCLUDES) $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16) + $(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -D$(SRCDIR) -S$(api_manext) $(INCLUDES) $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
doc-html: $(C_SRCS) - $(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPSRCDIR) $(INCLUDES) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16) + $(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPSRCDIR) -D$(SRCDIR) $(INCLUDES) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
doc-sgml: $(C_SRCS) - $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPSRCDIR) $(INCLUDES) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16) + $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPSRCDIR) -D$(SRCDIR) $(INCLUDES) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
.PHONY: man doc-html doc-sgml
Index: tools/c2man.pl =================================================================== RCS file: /home/wine/wine/tools/c2man.pl,v retrieving revision 1.21 diff -u -p -r1.21 c2man.pl --- tools/c2man.pl 7 Jan 2005 17:17:23 -0000 1.21 +++ tools/c2man.pl 6 May 2005 13:44:13 -0000 @@ -42,6 +42,7 @@ my $FLAG_64PAIR = 64; # The 64 bit v # Options my $opt_output_directory = "man3w"; # All default options are for nroff (man pages) my $opt_manual_section = "3w"; +my $opt_source_dir = ""; my $opt_wine_root_dir = ""; my $opt_output_format = ""; # '' = nroff, 'h' = html, 's' = sgml my $opt_output_empty = 0; # Non-zero = Create 'empty' comments (for every implemented function) @@ -120,7 +121,7 @@ sub process_spec_file($)
# We allow opening to fail just to cater for the peculiarities of # the Wine build system. This doesn't hurt, in any case - open(SPEC_FILE, "<$spec_name") || return; + open(SPEC_FILE, "<$spec_name") || open(SPEC_FILE, "<$opt_source_dir/$spec_name") || return;
while(<SPEC_FILE>) { @@ -236,7 +237,7 @@ sub process_source_file($) { print "Processing ".$source_file."\n"; } - open(SOURCE_FILE,"<$source_file") || die "couldn't open ".$source_file."\n"; + open(SOURCE_FILE,"<$source_file") || open(SOURCE_FILE,"<$opt_source_dir/$source_file") || die "couldn't open ".$source_file."\n";
# Add this source file to the list of source files $source_files{$source_file} = [$source_details]; @@ -2115,6 +2116,9 @@ sub usage() "Options:\n", " -Th : Output HTML instead of a man page\n", " -Ts : Output SGML (Docbook source) instead of a man page\n", + " -D <dir> : Source directory, to find source files if they are not found in the\n", + " current directory. Default is "",$opt_source_dir,""\n", + " -R <dir> : Root of build directory, default is "",$opt_wine_root_dir,""\n", " -o <dir> : Create output in <dir>, default is "",$opt_output_directory,""\n", " -s <sect>: Set manual section to <sect>, default is ",$opt_manual_section,"\n", " -e : Output "FIXME" documentation from empty comments.\n", @@ -2156,6 +2160,10 @@ while(defined($_ = shift @ARGV)) } last; }; + s/^D// && do { + if ($_ ne "") { $opt_source_dir = $_; } + last; + }; s/^R// && do { if ($_ =~ /^//) { $opt_wine_root_dir = $_; } else { $opt_wine_root_dir = `cd $pwd/$_ && pwd`; } $opt_wine_root_dir =~ s/\n//; @@ -2181,8 +2189,9 @@ if ($opt_verbose > 3) { print "Output dir:'".$opt_output_directory."'\n"; print "Section :'".$opt_manual_section."'\n"; - print "Format :'".$opt_output_format."'\n"; - print "Root :'".$opt_wine_root_dir."'\n"; + print "Format :'".$opt_output_format."'\n"; + print "Source dir:'".$opt_source_dir."'\n"; + print "Root :'".$opt_wine_root_dir."'\n"; print "Spec files:'@opt_spec_file_list'\n"; print "Includes :'@opt_header_file_list'\n"; print "Sources :'@opt_source_file_list'\n";