diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2011-12-28 00:32:13 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2011-12-28 00:32:13 +0000 |
commit | 9ce737999e4dfba3414d61dcd62441d7eb9b21cd (patch) | |
tree | a2eec002443e4c0efe4c23d48564a3d96527d973 /mandocdb.c | |
parent | ded221b99d048a37cdadaf7d919805c6219db29f (diff) | |
download | mandoc-9ce737999e4dfba3414d61dcd62441d7eb9b21cd.tar.gz |
Do not skip manuals shared across architectures when building databases.
Diffstat (limited to 'mandocdb.c')
-rw-r--r-- | mandocdb.c | 21 |
1 files changed, 18 insertions, 3 deletions
@@ -615,8 +615,8 @@ index_merge(const struct of *of, struct mparse *mp, /* * By default, skip a file if the manual section - * and architecture given in the file disagree - * with the directory where the file is located. + * given in the file disagrees with the directory + * where the file is located. */ skip = 0; @@ -631,6 +631,21 @@ index_merge(const struct of *of, struct mparse *mp, skip = 1; } + /* + * Manual page directories exist for each kernel + * architecture as returned by machine(1). + * However, many manuals only depend on the + * application architecture as returned by arch(1). + * For example, some (2/ARM) manuals are shared + * across the "armish" and "zaurus" kernel + * architectures. + * A few manuals are even shared across completely + * different architectures, for example fdformat(1) + * on amd64, i386, sparc, and sparc64. + * Thus, warn about architecture mismatches, + * but don't skip manuals for this reason. + */ + assert(of->arch); assert(march); if (strcasecmp(march, of->arch)) { @@ -639,7 +654,7 @@ index_merge(const struct of *of, struct mparse *mp, "architecture \"%s\" manual " "in \"%s\" directory\n", fn, march, of->arch); - skip = 1; + march = of->arch; } /* |