diff --git a/doc/gtkdoc.sh b/doc/gtkdoc.sh index 711e329..0bdf102 100755 --- a/doc/gtkdoc.sh +++ b/doc/gtkdoc.sh @@ -61,6 +61,22 @@ _error() } +#gtkdoc_fixxref +_gtkdoc_fixxref() +{ + module="$1" + moduledir="$2" + htmldir="$3" + outputdir="$4" + + (cd "$outputdir" && + $DEBUG $GTKDOC_FIXXREF \ + --module="$module" \ + --module-dir="$moduledir" \ + --html-dir="$htmldir") || exit 2 +} + + #gtkdoc_mkdb _gtkdoc_mkdb() { @@ -75,6 +91,19 @@ _gtkdoc_mkdb() } +#gtkdoc_mkhtml +_gtkdoc_mkhtml() +{ + module="$1" + path="$2" + driver="$3" + outputdir="$4" + + (cd "$outputdir" && + $DEBUG $GTKDOC_MKHTML --path "$path" "$module" "$driver") +} + + #gtkdoc_mktmpl _gtkdoc_mktmpl() { @@ -184,13 +213,16 @@ while [ $# -gt 0 ]; do output="${OBJDIR}gtkdoc/html" $DEBUG $MKDIR -- "$output" || exit 2 driver="$MODULE-docs.xml" - if [ -n "$OBJDIR" ]; then - $DEBUG $CP -- "gtkdoc/$driver" "${OBJDIR}gtkdoc" \ - || exit 2 - fi - (cd "$output" && - $DEBUG $GTKDOC_MKHTML "$MODULE" \ - "../$driver") + oldpath="$PWD" + [ -n "$OBJDIR" ] && for file in \ + "gtkdoc/$driver" \ + "gtkdoc/xml/gtkdocentities.ent"; do + [ -f "$file" ] || continue + $DEBUG $CP -- "$file" \ + "${OBJDIR}$file" || exit 2 + done + _gtkdoc_mkhtml "$MODULE" "${oldpath%/*}" "../$driver" \ + "$output" #detect when gtk-doc is not available res=$? if [ $res -eq 127 ]; then @@ -201,11 +233,7 @@ while [ $# -gt 0 ]; do exit 2 fi output="${OBJDIR}gtkdoc" - (cd "$output" && - $DEBUG $GTKDOC_FIXXREF \ - --module="$MODULE" \ - --module-dir="html" \ - --html-dir="$instdir") || exit 2 + _gtkdoc_fixxref "$MODULE" "html" "$instdir" "$output" ;; gtkdoc/tmpl.stamp) output="tmpl"