summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorunknown <joerg@trift2.>2007-04-17 12:18:17 +0200
committerunknown <joerg@trift2.>2007-04-17 12:18:17 +0200
commit5c9123b5fc78716ac9bac51ce93fb5f84da88e42 (patch)
tree426e7e8594a2cd63f984ddbf844802fd8cd4f310 /configure.in
parent3e8252ffc6ff28df8b0dbadcfea6ca506a731cbf (diff)
downloadmariadb-git-5c9123b5fc78716ac9bac51ce93fb5f84da88e42.tar.gz
Let the "configure" options that control table handlers (NDB, InnoDB) or features ("embedded")
also control the list of man pages installed, so that they correspond better to the binaries. This is the second version of this fix, including review comments. configure.in: Several of our man pages are specific to parts (table handlers, features, ...) which are controlled by "configure" options, so there are builds which do not include these parts. For such builds, remove those specific man pages from the list of man pages to be installed, so that the man pages correspond better to the binaries. In this patch, do it for NDB (modify Kent's approach), "embedded", and InnoDB. Ensure that the handling of the man pages is determined only after the options have been processed, the old nandling (NDB only) was done too early. This is the second version of this fix, including review comments.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in76
1 files changed, 54 insertions, 22 deletions
diff --git a/configure.in b/configure.in
index 9b5abe39a6f..76352b06d62 100644
--- a/configure.in
+++ b/configure.in
@@ -2376,28 +2376,6 @@ AC_ARG_WITH(man,
[with_man=yes]
)
-if test X"$with_man" = Xyes
-then
- man_dirs="man"
- if test X"$have_ndbcluster" = Xyes
- then
- man1_files=`ls $srcdir/man/*.1 | sed -e 's;^.*man/;;'`
- man8_files=`ls $srcdir/man/*.8 | sed -e 's;^.*man/;;'`
- else
- man1_files=`ls $srcdir/man/*.1 | grep -v '/ndb' | sed -e 's;^.*man/;;'`
- man8_files=`ls $srcdir/man/*.8 | grep -v '/ndb' | sed -e 's;^.*man/;;'`
- fi
- man1_files=`echo $man1_files`
- man8_files=`echo $man8_files`
-else
- man_dirs=""
- man1_files=""
- man8_files=""
-fi
-AC_SUBST(man_dirs)
-AC_SUBST(man1_files)
-AC_SUBST(man8_files)
-
# Shall we build the bench code?
AC_ARG_WITH(bench,
[ --without-bench Skip building of the benchmark suite.],
@@ -2532,6 +2510,60 @@ MYSQL_CHECK_BLACKHOLEDB
MYSQL_CHECK_NDBCLUSTER
MYSQL_CHECK_FEDERATED
+# Include man pages, if desired, adapted to the configured parts.
+if test X"$with_man" = Xyes
+then
+ # First, create the list of all man pages present.
+ MANLISTFIL=manlist.$$
+ TMPLISTFIL=`echo $MANLISTFIL | sed -e 's/manlist/tmplist/'`
+ if test -f $MANLISTFIL -o -f $TMPLISTFIL
+ then
+ echo "Temp file '$MANLISTFIL' or '$TMPLISTFIL' already exists in '`pwd`' - aborting"
+ exit 1
+ fi
+ touch $MANLISTFIL $TMPLISTFIL
+
+ ls $srcdir/man/*.[[18]] > $MANLISTFIL
+
+ # Then, remove all those pages from the list which are specific to parts
+ # (table handlers, features, ...) which are not configured in this run.
+ AC_MSG_CHECKING("for man pages to remove")
+ MAN_DROP="dropping"
+ if test X"$have_ndbcluster" != Xyes
+ then
+ MAN_DROP="$MAN_DROP ndbcluster"
+ grep -v '/ndb' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
+ fi
+ if test X"$with_embedded_server" != Xyes
+ then
+ MAN_DROP="$MAN_DROP embedded"
+ grep -v 'embedded' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
+ fi
+ if test X"$have_innodb" != Xyes
+ then
+ MAN_DROP="$MAN_DROP innodb"
+ grep -v 'inno' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
+ fi
+ AC_MSG_RESULT([$MAN_DROP])
+
+ # Finally, split the man pages into sections 1 and 8.
+ # Get rid of line breaks.
+ man1_files=`sed -n -e '/\.1$/s/^.*man\///p' <$MANLISTFIL`
+ man8_files=`sed -n -e '/\.8$/s/^.*man\///p' <$MANLISTFIL`
+
+ man_dirs="man"
+ man1_files=`echo $man1_files`
+ man8_files=`echo $man8_files`
+ rm -f $MANLISTFIL
+else
+ man_dirs=""
+ man1_files=""
+ man8_files=""
+fi
+AC_SUBST(man_dirs)
+AC_SUBST(man1_files)
+AC_SUBST(man8_files)
+
# If we have threads generate some library functions and test programs
sql_server_dirs=
server_scripts=