1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

r17729: remove the dependence on an internet connection for building

standalone ldb by only running xsltproc if we can find a local copy of
the required stylesheets
(This used to be commit 16be09e0d6)
This commit is contained in:
Andrew Tridgell 2006-08-23 00:42:33 +00:00 committed by Gerald (Jerry) Carter
parent 8e36c42846
commit c09f6050f7
3 changed files with 87 additions and 18 deletions

View File

@ -57,13 +57,11 @@ BINS = bin/ldbadd bin/ldbsearch bin/ldbdel bin/ldbmodify bin/ldbedit bin/ldbrena
LIBS = $(LDB_LIB)($(OBJS))
MANPAGES = $(patsubst %.xml,%,$(wildcard $(srcdir)/man/*.xml))
EXAMPLES = examples/ldbreader examples/ldifreader
DIRS = lib bin common ldb_tdb ldb_ldap ldb_sqlite3 modules tools examples tdb talloc
all: dirs $(OBJS) $(BINS) $(LIBS) $(EXAMPLES) $(MANPAGES) doxygen
all: dirs $(OBJS) $(BINS) $(LIBS) $(EXAMPLES) manpages doxygen
.c.o:
@echo Compiling $*.c
@ -107,14 +105,8 @@ examples/ldifreader: examples/ldifreader.o $(LIBS)
.SUFFIXES: .1 .1.xml .3 .3.xml .xml .html
%.3: %.3.xml
test -z "$(XSLTPROC)" || $(XSLTPROC) -o $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
%.1: %.1.xml
test -z "$(XSLTPROC)" || $(XSLTPROC) -o $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
%.html: %.xml
test -z "$(XSLTPROC)" || $(XSLTPROC) -o $@ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl $<
manpages:
$(srcdir)/docs/builddocs.sh "$(XSLTPROC)" "$(srcdir)"
doxygen:
test -z "$(DOXYGEN)" || (cd $(srcdir) && "$(DOXYGEN)")
@ -122,7 +114,7 @@ doxygen:
clean:
rm -f */*.o *.gcov */*.gc?? tdbtest.ldb* \
rm -f $(BINS) $(TDB_OBJ) $(TALLOC_OBJ) $(LDB_LIB)
rm -f $(MANPAGES)
rm -f man/*.1 man/*.3 man/*.html
rm -f $(EXAMPLES)
rm -rf apidocs/
@ -135,9 +127,6 @@ distclean: clean
rm -f ldb.pc
rm -f Makefile
etags:
etags */*.[ch]
installcheck: install tests
for t in $(TESTS); do echo STARTING $${t}; $(srcdir)/tests/$${t} || exit 1; done
@ -145,13 +134,11 @@ test: installcheck
install: all
mkdir -p $(includedir) $(libdir)/pkgconfig $(libdir) $(bindir)
mkdir -p $(mandir) $(mandir)/man3 $(mandir)/man1
cp $(srcdir)/include/ldb.h $(srcdir)/include/ldb_errors.h $(includedir)
cp $(LDB_LIB) $(libdir)
cp $(BINS) $(bindir)
cp ldb.pc $(libdir)/pkgconfig
test -z "$(XSLTPROC)" || cp $(filter %.1, $(MANPAGES)) $(mandir)/man1
test -z "$(XSLTPROC)" || cp $(filter %.3, $(MANPAGES)) $(mandir)/man3
$(srcdir)/docs/installdocs.sh $(mandir)
gcov:
$(GCOV) -po ldb_sqlite3 $(srcdir)/ldb_sqlite3/*.c 2| tee ldb_sqlite3.report.gcov
@ -161,5 +148,8 @@ gcov:
$(GCOV) -po modules $(srcdir)/modules/*.c 2| tee modules.report.gcov
$(GCOV) -po tools $(srcdir)/tools/*.c 2| tee tools.report.gcov
etags:
etags `find $(srcdir) -name "*.[ch]"`
ctags:
ctags `find $(srcdir) -name "*.[ch]"`

View File

@ -0,0 +1,62 @@
#!/bin/sh
# build ldb docs
# tridge@samba.org August 2006
XSLTPROC="$1"
SRCDIR="$2"
if ! test -x "$XSLTPROC"; then
echo "xsltproc not installed"
exit 0
fi
# list of places to look for the docbook style sheet
manxsl=/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl
# list of places to look for the html style sheet
htmlxsl=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl
manstyle=""
htmlstyle=""
for f in $manxsl; do
if [ -r "$f" ]; then
manstyle="$f"
fi
done
if [ -z "$manstyle" ]; then
echo "manpages/docbook.xsl not found on system"
exit 0
fi
for f in $htmlxsl; do
if [ -r "$f" ]; then
htmlstyle="$f"
fi
done
if [ -z "$htmlstyle" ]; then
echo "html/docbook.xsl not found on system"
exit 0
fi
mkdir -p man html
for f in $SRCDIR/man/*.xml; do
base=`basename $f .xml`
out=man/"`basename $base`"
if [ ! -f "$out" ] || [ "$base" -nt "$out" ]; then
echo Processing manpage $f
$XSLTPROC -o "$out" "$manstyle" $f || exit 1
fi
done
for f in $SRCDIR/man/*.xml; do
base=`basename $f .xml`
out=man/"`basename $base`".html
if [ ! -f "$out" ] || [ "$base" -nt "$out" ]; then
echo Processing html $f
$XSLTPROC -o "$out" "$htmlstyle" $f || exit 1
fi
done

View File

@ -0,0 +1,17 @@
#!/bin/sh
# install ldb docs
# tridge@samba.org August 2006
MANDIR="$1"
MAN1="`/bin/ls man/*.1`"
MAN3="`/bin/ls man/*.3`"
if [ -z "$MAN1" ] && [ -z "$MAN3" ]; then
echo "No manpages have been built"
exit 0
fi
mkdir -p "$MANDIR/man1" "$MANDIR/man3"
cp $MAN1 "$MANDIR/man1/" || exit 1
cp $MAN3 "$MANDIR/man3/" || exit 1