* texi2pod.pl: Handle -I.
authorDaniel Jacobowitz <drow@false.org>
Tue, 2 May 2006 13:59:42 +0000 (13:59 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 2 May 2006 13:59:42 +0000 (13:59 +0000)
etc/ChangeLog
etc/texi2pod.pl

index 0d2b80c07d6b8f8110bb99870f0a848512b2acc7..09d002f245e486e604d4ea3f2ee70965e0cd508a 100644 (file)
@@ -1,3 +1,7 @@
+2006-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * texi2pod.pl: Handle -I.
+
 2006-04-06  Carlos O'Donell  <carlos@codesourcery.com>
 
        * Makefile.in: Add install-html target. Add htmldir,
index 9696a12f3610a10d9579ea12cc6a6680a8d0905c..57d1d5bcd63202ec8d9358863f7fdf39249900d9 100644 (file)
@@ -36,6 +36,7 @@ $shift = "";
 $fnno = 1;
 $inf = "";
 $ibase = "";
+@ipath = ();
 
 while ($_ = shift) {
     if (/^-D(.*)$/) {
@@ -51,6 +52,13 @@ while ($_ = shift) {
        die "flags may only contain letters, digits, hyphens, dashes and underscores\n"
            unless $flag =~ /^[a-zA-Z0-9_-]+$/;
        $defs{$flag} = $value;
+    } elsif (/^-I(.*)$/) {
+       if ($1 ne "") {
+           $flag = $1;
+       } else {
+           $flag = shift;
+       }
+        push (@ipath, $flag);
     } elsif (/^-/) {
        usage();
     } else {
@@ -229,10 +237,12 @@ while(<$inf>) {
        $inf = gensym();
        $file = postprocess($1);
 
-       # Try cwd and $ibase.
-       open($inf, "<" . $file) 
-           or open($inf, "<" . $ibase . "/" . $file)
-               or die "cannot open $file or $ibase/$file: $!\n";
+       # Try cwd and $ibase, then explicit -I paths.
+       $done = 0;
+       foreach $path (".", $ibase, @ipath) {
+           open($inf, "<" . $path . "/" . $file) and ($done = 1, last);
+       }
+       die "cannot find $file" if !$done;
        next;
     };