diff options
Diffstat (limited to 'buildtools')
-rwxr-xr-x | buildtools/configure.pl | 32 | ||||
-rw-r--r-- | buildtools/libopt.c | 1 | ||||
-rwxr-xr-x | buildtools/makeman | 24 |
3 files changed, 37 insertions, 20 deletions
diff --git a/buildtools/configure.pl b/buildtools/configure.pl index 5a7d8a33..93045b77 100755 --- a/buildtools/configure.pl +++ b/buildtools/configure.pl @@ -1164,10 +1164,20 @@ sub getPngLibrary($@) { my ($pnglib, $pnghdr_dir); - if (commandExists('libpng-config')) { - # We don't need to ask where Libpng is; there's a 'libpng-config' - # That tells exactly how to access it, and the make files will use - # that. + if (system('pkg-config libpng --exists') == 0) { + # We don't need to ask where Libpng is; the Pkg-config database knows + # and the make files will use that. + # + # To limit the confusion when someone tries to use our result in + # spite of the fact that 'libpng-config' exists, we assign suggestive + # dummy values (just for use in human debugging). + $pnglib = 'USE_PKG_CONFIG.a'; + $pnghdr_dir = 'USE_PKG_CONFIG.a'; + } elsif (commandExists('libpng-config')) { + # As with Pkg-config above, we can find out how to access the + # library by invoking a 'libpng-config' command. + $pnglib = 'USE_LIBPNG-CONFIG.a'; + $pnghdr_dir = 'USE_LIBPNG-CONFIG.a'; } else { { my $default = "libpng" . libSuffix($platform); @@ -1252,6 +1262,12 @@ sub getX11Library($@) { if (system('pkg-config x11 --exists') == 0) { # We don't need to ask where X libraries are; pkg-config knows and the # make files will use that. + # + # To limit the confusion when someone tries to use our result in + # spite of the fact that 'libpng-config' exists, we assign suggestive + # dummy values (just for use in human debugging). + $x11lib = 'USE_PKGCONFIG.a'; + $x11hdr_dir = 'USE_PKGCONFIG.a'; } else { { my $default; @@ -1465,8 +1481,8 @@ sub wnostrictoverflowWorks($) { my $compileCommand = "$gccCommandName -c -o /dev/null -Wno-strict-overflow $cFileName"; - print ("Doing test compile to see if -Wno-strict-overflow works: " - . "$compileCommand\n"); + print("Doing test compile to see if -Wno-strict-overflow works: " + . "$compileCommand\n"); my $rc = system($compileCommand); unlink($cFileName); @@ -2180,8 +2196,8 @@ my ($linuxsvgalib, $linuxsvgahdr_dir) = getLinuxsvgaLibrary($platform); print("\n"); -# We should add the JBIG and URT libraries here too. They're a little -# more complicated because there are versions shipped with Netpbm. +# We should add the URT, JBIG, and Jasper libraries here too. They're a +# little more complicated because there are versions shipped with Netpbm. #****************************************************************************** diff --git a/buildtools/libopt.c b/buildtools/libopt.c index 274e7c66..f62194e5 100644 --- a/buildtools/libopt.c +++ b/buildtools/libopt.c @@ -65,6 +65,7 @@ handle explicit file names. -----------------------------------------------------------------------------*/ +#define _DEFAULT_SOURCE 1 /* New name for SVID & BSD source defines */ #define _BSD_SOURCE 1 /* Make sure strdup() is in stdio.h */ #define _XOPEN_SOURCE 500 /* Make sure strdup() is in string.h */ diff --git a/buildtools/makeman b/buildtools/makeman index 538accad..13c54a70 100755 --- a/buildtools/makeman +++ b/buildtools/makeman @@ -160,7 +160,7 @@ def makeman(name, file, indoc): if xrefsection == 0: return "\n.I " + xrefto else: - return "\n.BR %s (%d)\n" % (xrefto, xrefsection) + return '\n.BR "%s" (%d)\\c\n\\&' % (xrefto, xrefsection) indoc = re.sub(r'(?i)\n* *(?:\\fB)?<A[ \n]+HREF="?([^>]+.html)"?>([^<]+)</A>(?:\\fP)?', xrefmatch, indoc) # Format URLs @@ -231,25 +231,25 @@ def makeman(name, file, indoc): indoc = indoc.replace("μ", "mu") indoc = indoc.replace("σ", "sigma") # Tables - indoc = re.sub(' *<table[^>]*>.*', ".TS", indoc) - indoc = re.sub(" *</table>.*", ".TE", indoc) + indoc = re.sub('(?i) *<table[^>]*>.*', ".TS", indoc) + indoc = re.sub("(?i) *</table>.*", ".TE", indoc) # First the single-line case - indoc = re.sub("</td> *<td>", "\t", indoc) - indoc = re.sub("<tr> *<td>", "", indoc) - indoc = re.sub("</td> *</tr>", "", indoc) + indoc = re.sub("(?i)</td> *<td>", "\t", indoc) + indoc = re.sub("(?i)<tr> *<td>", "", indoc) + indoc = re.sub("(?i)</td> *</tr>", "", indoc) # Then the multiline case - indoc = re.sub(r'\s*<t[hd][^>]*>([^<\n]*)</t[dh]>\s*', '\t\\1', indoc) - indoc = re.sub(r'\s*<t[hd][^>]*>([^<]*)</t[dh]>\s*', '\tT{\n\\1T}', indoc) + indoc = re.sub(r'(?i)\s*<t[hd][^>]*>([^<\n]*)</t[dh]>\s*', '\t\\1', indoc) + indoc = re.sub(r'(?i)\s*<t[hd][^>]*>([^<]*)</t[dh]>\s*', '\tT{\n\\1T}', indoc) indoc = indoc.replace("\n\\&T}", "\nT}") - indoc = re.sub(" *</tr>", "", indoc) - indoc = re.sub(" *<tr[^>]*>\t*", "", indoc) - indoc = re.sub(r"\.TS\s+<caption>([^<]*)</caption>\s*", ".B \\1\n.TS\n", indoc) + indoc = re.sub("(?i) *</tr>", "", indoc) + indoc = re.sub("(?i) *<tr[^>]*>\t*", "", indoc) + indoc = re.sub(r"\.TS\s+<[Cc][Aa][Pp][Tt][Ii][Oo][Nn]>([^<]*)</[Cc][Aa][Pp][Tt][Ii][Oo][Nn]>\s*", ".B \\1\n.TS\n", indoc) # Debugging #sys.stderr.write("Name: %s, Title: %s, Date: %s\n" % (name, title, date)) # Time for error checking now badlines = [] for line in indoc.split("\n"): - if "<" in line or ">" in line.replace(" >", "") or re.search("&.*;", line): + if "<" in line or ">" in line.replace(" >", "") or re.search(r'(?<!^\\)&.*;', line): badlines.append(line) if badlines: sys.stderr.write(("Bad lines from %s:\n-----------------\n" % file) + "\n".join(badlines) + "\n-----------------\n") |