view DOCS/xml/configure @ 33263:5f527a9a9521

Add an exit function. This function will allow performing clean-up operations. (MPlayer calls guiDone() before exiting, but only if the GUI has been initialized, i.e. if guiInit() has been called successfully. Any exit_player()/exit_player_with_rc() after GUI's cfg_read() until guiInit(), or any exit_player() during guiInit() itself will end the GUI without calling guiDone(). This exit function will at least handle abortions during guiInit() itself. It will be called twice in case of an guiExit() after GUI initialization - first directly, next by guiDone() via MPlayer's exit_player_with_rc().)
author ib
date Tue, 03 May 2011 12:19:22 +0000
parents d55bcadba17a
children
line wrap: on
line source

#!/bin/sh

# Script to check for catalogs, stylesheets, XSL processors and all
# the other stuff necessary to convert the XML documentation.

echo "Searching for XML catalogs..."
for try_catalog in \
  /etc/sgml/catalog \
  /usr/share/xml/docbook/*/catalog.xml \
  /opt/local/share/xml/docbook-xml/*/catalog.xml \
  /opt/local/share/xml/docbook/*/catalog.xml \
  /usr/share/sgml/docbook/*/*catalog \
  /usr/share/apps/ksgmltools2/customization/en/catalog \
  /usr/share/sgml/catalog \
  /usr/local/share/sgml/catalog \
  /usr/lib/sgml/catalog \
  /usr/local/lib/sgml/catalog \
  /usr/share/docbook-xml42/catalog.xml \
  /usr/share/sgml/docbook/xmlcatalog
do
  if test -f "$try_catalog"; then
    catalog=$try_catalog
    break
  fi
done

if test -n "$catalog"; then
  echo "Found SGML catalog at $catalog"
  catalog_opts=--catalogs
else
  echo "No SGML catalog found."
fi



echo "Searching for stylesheets..."
echo "Searching for html/chunk.xsl..."
for try_chunk_xsl in \
  /usr/share/xml/docbook/*/html/chunk.xsl \
  /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/chunk.xsl \
  /usr/share/sgml/docbook/yelp/docbook/html/chunk.xsl \
  /usr/local/share/sgml/docbook/stylesheet/xsl/nwalsh/html/chunk.xsl \
  /usr/local/share/sgml/docbook/yelp/docbook/html/chunk.xsl \
  /usr/share/docbook-xsl/html/chunk.xsl \
  /usr/share/sgml/docbook/xsl-stylesheets*/html/chunk.xsl \
  /usr/share/xml/docbook/stylesheet/nwalsh/current/html/chunk.xsl \
  /opt/local/share/xsl/docbook-xsl/html/chunk.xsl \

do
  if test -f "$try_chunk_xsl"; then
    chunk_xsl=$try_chunk_xsl
    break
  fi
done

if test -z "$chunk_xsl"; then
  chunk_xsl=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/chunk.xsl
  echo "Not found. Using default ($chunk_xsl)"
  fake_chunk_xsl=yes
else
  echo "Found chunk.xsl at $chunk_xsl"
fi

echo "Searching for html/docbook.xsl..."
for try_docbook_xsl in \
  /usr/share/xml/docbook/*/html/docbook.xsl \
  /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/docbook.xsl \
  /usr/share/sgml/docbook/yelp/docbook/html/docbook.xsl \
  /usr/local/share/sgml/docbook/stylesheet/xsl/nwalsh/html/docbook.xsl \
  /usr/local/share/sgml/docbook/yelp/docbook/html/docbook.xsl \
  /usr/share/docbook-xsl/html/docbook.xsl \
  /usr/share/sgml/docbook/xsl-stylesheets*/html/docbook.xsl \
  /usr/share/xml/docbook/stylesheet/nwalsh/current/html/docbook.xsl \
  /opt/local/share/xsl/docbook-xsl/html/docbook.xsl \

do
  if test -f "$try_docbook_xsl"; then
    docbook_xsl=$try_docbook_xsl
    break
  fi
done

if test -z "$docbook_xsl"; then
  docbook_xsl=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/docbook.xsl
  echo "Not found. Using default ($docbook_xsl)"
else
  echo "Found docbook.xsl at $docbook_xsl"
fi

cat > html-chunk.xsl << EOF
<?xml version="1.0" encoding="utf-8"?>
<!-- **************************************************
     This file is generated automatically. DO NOT EDIT.
     ************************************************** -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">

  <xsl:import href="$chunk_xsl"/>
  <xsl:include href="html-common.xsl"/>

</xsl:stylesheet>
EOF


cat > html-single.xsl << EOF
<?xml version="1.0" encoding="utf-8"?>
<!-- **************************************************
     This file is generated automatically. DO NOT EDIT.
     ************************************************** -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">

  <xsl:import href="$docbook_xsl"/>
  <xsl:include href="html-common.xsl"/>

</xsl:stylesheet>
EOF

echo "Searching for DTD..."
#FIXME: This should prefer higher version numbers, not the other way around ..
for try_dtd in \
  /usr/share/xml/docbook/*/dtd/4*/docbookx.dtd \
  /usr/share/xml/docbook/*/docbookx.dtd \
  /usr/share/sgml/docbook/*/docbookx.dtd \
  /usr/share/sgml/docbook/dtd/*/docbookx.dtd \
  /usr/share/sgml/docbook/dtd/xml/*/docbookx.dtd \
  /usr/share/docbook-xml*/docbookx.dtd \
  /opt/local/share/xml/docbook*/*/docbookx.dtd \
  /usr/share/apps/ksgmltools2/docbook/*/docbookx.dtd
do
  if test -f "$try_dtd"; then
    dtd=$try_dtd
    break
  fi
done

if test -z "$dtd"; then
  dtd=/usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd
  echo "Not found. Using default ($dtd)."
else
  echo "Found docbookx.dtd at $dtd"
fi

for lang in `grep 'DOC_LANGS =' ../../config.mak|cut -d= -f2`; do
  cat > $lang/main.xml << EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!-- **************************************************
     This file is generated automatically. DO NOT EDIT.
     ************************************************** -->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "$dtd"
[
EOF

  for file in $(find en -name \*.xml -exec basename \{\} \;); do
    echo '<!ENTITY '$file' SYSTEM "'$file'">' >> $lang/main.xml
  done

  cat >> $lang/main.xml << EOF
]>
<book id="index" lang="$lang">
&documentation.xml;
</book>
EOF

done

echo "Looking for a valid XSLT processor..."
if xsltproc --version > /dev/null 2>&1; then
  if test -z "$fake_chunk_xsl"; then
    echo "Found xsltproc. If it works, it's probably the best choice."
    xsltcommand="xsltproc $catalog_opts -o \$\$1 \$\$2 \$\$3"
  else
    echo "Found xsltproc but no stylesheets on your system."
    echo "xsltproc is unusable without stylesheets."
  fi
fi


cat > xml.mak << EOF
CATALOG = $catalog
XMLLINT_COMMAND = xmllint --noout --noent --postvalid $catalog_opts \$*
XSLT_COMMAND = $xsltcommand
EOF