#!/bin/sh
#

usage() {
cat <<EOF
gtkdoc-mkhtml version 1.25 - generate documentation in html format

--verbose               Print extra output while processing
--path=SEARCH_PATH      Extra source directories
MODULE                  Name of the doc module being parsed
DRIVER_FILE             File containing the toplevel DocBook file.
--version               Print the version of this program
--help                  Print this help
EOF
}

# echo "args $*\n";

# parse options, ignore unknown options for future extensions

verbose="0"
searchpath=
uninstalled=no
while true; do
    case "X$1" in
        X--version) echo "1.25"; exit 0;;
        X--help) usage; exit 0;;
        X--uninstalled) uninstalled=yes; shift;;
        X--verbose) verbose="1"; shift;;
        X--path=*) searchpath=`echo "$1" | sed s/.*=//`; shift;;
        X--*) shift;;
        X*) break;;
    esac
done

if test $# -lt 2; then
    usage 1>&2
    exit 1
fi

module="$1"
shift
document="$1"
shift

quiet="1"
if test $verbose = "1"; then
    quiet="0"
fi

if test $uninstalled = yes; then
    # this does not work from buiddir!=srcdir
    gtkdocdir=`dirname $0`
	  # traditional Bourne shells may not support -e here, use -f
    if test ! -f $gtkdocdir/gtk-doc.xsl; then
        # try to src dir (set from makefiles) too
        if test -f $ABS_TOP_SRCDIR/gtk-doc.xsl; then
            gtkdocdir=$ABS_TOP_SRCDIR
        fi
    fi
    styledir=$gtkdocdir/style
    #echo "uninstalled, gtkdocdir=$gtkdocdir, cwd=$PWD"
else
    # the first two are needed to resolve datadir
    prefix=FIXMESTAGINGDIRHOST/usr
    datarootdir=${prefix}/share
    gtkdocdir=FIXMESTAGINGDIRHOST/usr/share/gtk-doc/data
    styledir=$gtkdocdir
fi

# we could do "$path_option $PWD "
# to avoid needing rewriting entities that are copied from the header
# into docs under xml
if test "X$searchpath" = "X"; then
    path_arg=
else
    path_arg="--path $searchpath"
fi

# profiling
profile_args=""
if test "$GTKDOC_PROFILE" != ""; then
  profile_args="--profile"
fi

#echo  $path_arg --nonet --xinclude \
#    --stringparam gtkdoc.bookname $module \
#    --stringparam gtkdoc.version "1.25" \
#    "$@" $gtkdocdir/gtk-doc.xsl "$document"
 2>profile.txt $profile_args $path_arg --nonet --xinclude \
    --stringparam gtkdoc.bookname $module \
    --stringparam gtkdoc.version "1.25" \
    --stringparam chunk.quietly $quiet \
    --stringparam chunker.output.quiet $quiet \
    "$@" $gtkdocdir/gtk-doc.xsl "$document" || exit $?

# profiling
if test "$GTKDOC_PROFILE" != ""; then
  cat profile.txt | gprof2dot.py -e 0.01 -n 0.01 | dot -Tpng -o profile.png
else
  rm profile.txt
fi

# copy navigation images and stylesheets to html directory ...
cp -f $styledir/*.png $styledir/*.css ./


echo "timestamp" > ../html.stamp

