[Mplayer-cvslog] CVS: main/DOCS/xml .cvsignore,NONE,1.1 configure,NONE,1.1 Makefile,1.4,1.5 Makefile.inc,1.2,1.3 gen-html.xsl.sh,1.1,NONE

Diego Biurrun CVS diego at mplayerhq.hu
Wed Jun 18 19:37:58 CEST 2003


Update of /cvsroot/mplayer/main/DOCS/xml
In directory mail:/var/tmp.root/cvs-serv6860

Modified Files:
	Makefile Makefile.inc 
Added Files:
	.cvsignore configure 
Removed Files:
	gen-html.xsl.sh 
Log Message:
XML autoconfiguration by Dmitry Baryshkov <lumag at qnc.ru> with some
modifications and improvements by me.


--- NEW FILE ---
html.xsl
xsltproc.sh
xmllint.sh

--- NEW FILE ---
#!/bin/sh

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

_xsltwrapper="xsltproc.sh"
_xmllintwrapper="xmllint.sh"

for _try_catalog in /etc/sgml/catalog /usr/share/sgml/docbook/xml-dtd-4.1.2/xmlcatalog /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
do
  if test -f "$_try_catalog"
  then
    _catalog=$_try_catalog
    break
  fi
done

if test -n "$_catalog"
then
  echo "Found SGML catalog at $_catalog"
  _sgmlcatalog="export SGML_CATALOG_FILES=$_catalog"
else
  echo "No SGML catalog found."
fi



echo "Searching for stylesheet..."
for _try_chunk_xsl in /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
do
  if test -f "$_try_chunk_xsl"
  then
    _chunk_xsl=$_try_chunk_xsl
    break
  fi
done

if test -z "$_chunk_xsl"
then
  echo "Not found."
  _chunk_xsl=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/chunk.xsl
else
  echo "Found chunk.xsl at $_chunk_xsl"
fi

cat > html.xsl << EOF
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- **************************************************
     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



echo "Looking for a valid XSLT processor..."
# Checks for xsltproc, then checks for the Saxon processor (it needs Java).
# Also checks for Jade/OpenJade.
#FIXME: Add support for the xalan/xalan2 XSLT processors.

if xsltproc --version &> /dev/null
then
  if test -n "$_chunk_xsl"
  then
    echo "Found xsltproc. If it works, it's probably the best choice."
    if test -n "$_catalog"
    then
      _xsltcommand="xsltproc --catalogs -o \$1 \$2 \$3"
    else
      _xsltcommand="xsltproc -o \$1 \$2 \$3"
    fi
  else
    echo "Found xsltproc but no stylesheets on your system."
    echo "xsltproc is unusable without stylesheets."
  fi
fi

# xsltproc not found.
# Now try to find a good Java virtual machine.
# FIXME: We need more checks for Java virtual machines.
if test -z "$_xsltcommand"
then
  for _try_java in java gij-3.3 gij-3.2 gij-3.1 gij-3.0 gij
  do
    if $_try_java --version > /dev/null 2>&1 || $_try_java -version > /dev/null 2>&1
    then
      _java=$_try_java
      break
    fi
  done
  if test -z "$_java"
  then
    echo "Java VM not found."
  else
    # Try to find the right jar files for classpath.
    # This must not trigger on something like saxon-fop-6.4.4.jar.
    for _try_saxon_jar in /usr/share/java/saxon.jar /usr/local/share/java/saxon.jar /usr/share/java/saxon-[0-9]*.jar /usr/local/share/java/saxon-[0-9]*.jar
    do
      if test -f "$_try_saxon_jar"
      then
        _saxon_jar=$_try_saxon_jar
        #Don't break to find the _latest_ saxon.jar.
      fi
    done
    if test -n "$_saxon_jar"
    then
      if test -n "$_chunk_xsl"
      then
        _xsltcommand="cd \$1 && if test \"\`dirname \$2 | head -c 1\`\" = \".\" ; then $_java  -classpath $_saxon_jar com.icl.saxon.StyleSheet \$_IN_DIR/\$3 \$_IN_DIR/\$2 ; else $_java  -classpath $_saxon_jar com.icl.saxon.StyleSheet \$_IN_DIR/\$3 \$2 ;fi"
        echo "Found the Saxon XSLT Processor ($_saxon_jar), using Java VM '$_java'."
      else
        echo "Found the Saxon XSLT processor but no stylesheets on your system."
        echo "Saxon is unusable without stylesheets."
      fi
    fi
  fi
fi

if test -z "$_xsltcommand"
then
  # Java not found.
  # now try openjade/jade.
  for _try_jade in jade openjade
  do
    if command -v $_try_jade > /dev/null
    then
      _jade=$_try_jade
      break
    fi
  done
  if test -n "$_jade"
  then
    echo "xsltproc and Saxon XSLT processors not found."
    echo "I will try to use OpenJade or Jade (using '$_jade')."
    echo "They aren't (currently) fully supported, however."
    for _try_docbook_dsl in /usr/share/sgml/docbook/stylesheet/dsssl/modular/html/docbook.dsl /usr/local/share/sgml/docbook/stylesheet/dsssl/modular/html/docbook.dsl 
    do
      if test -f "$_try_docbook_dsl"
      then
        _docbook_dsl=$_try_docbook_dsl
        break
      fi
    done
    for _try_xml_dcl in /usr/share/sgml/declaration/xml.dcl /usr/local/share/sgml/declaration/xml.dcl
    do
      if test -f "$_try_xml_dcl"
      then
        _xml_dcl=$_try_xml_dcl
        break
      fi
    done
      if test "x$_docbook_dsl" = "x" -o "x$_xml_dcl" = "x"
      then
  	echo "One of the files docbook.dsl and xml.dcl or both of them weren't found."
  	echo "Bailing out."
  	exit 1
      fi
    _xsltcommand="cd \$1 && $_jade -t xml -d $_docbook_dsl $_xml_dcl \$_IN_DIR/\$3 ; mv book1.html index.html"
  else
    echo "No valid XSLT processor found."
    echo "Bailing out."
    exit 1
  fi
fi



cat > $_xsltwrapper << EOF
#!/bin/sh
# **************************************************
# This file is generated automatically. DO NOT EDIT.
# **************************************************
# This is a small wrapper script around many ways to call the XSLT processor.
# It accepts 3 arguments: <output_dir> <stylesheet_name> <main XML file name>
_IN_DIR=\`pwd\`

$_sgmlcatalog
$_xsltcommand
EOF

chmod +x $_xsltwrapper



for _try_xmllint in xmllint
do
  if command -v $_try_xmllint
  then
    if test -n "$_catalog"
    then
      _xmllint_command="$_try_xmllint --noout --noent --postvalid --catalogs \$*"
    else
      _xmllint_command="$_try_xmllint --noout --noent --postvalid \$*"
    fi
    break
  fi
done

if test -z "$_xmllint_command"
then
  _xmllint_command=true
fi

cat > $_xmllintwrapper << EOF
#!/bin/sh
# **************************************************
# This file is generated automatically. DO NOT EDIT.
# **************************************************
# This is a small wrapper for XML lintian programs.
$_sgmlcatalog
$_xmllint_command
EOF

chmod +x $_xmllintwrapper

Index: Makefile
===================================================================
RCS file: /cvsroot/mplayer/main/DOCS/xml/Makefile,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Makefile	16 May 2003 13:23:03 -0000	1.4
+++ Makefile	18 Jun 2003 17:37:36 -0000	1.5
@@ -1,67 +1,26 @@
 # Makefile for generating the HTML documentation
 
-#####[ Configuration ]##################################################
-
-# The xsltproc program.
-XSLTPROC = xsltproc
-
-# Another xslt converter.
-# If you want to use it, change also USE_SAXON to 1 (below)
-# Probably you must also change the path to saxon.jar.
-USE_SAXON = 0
-SAXON_COMMAND = java -cp /usr/share/java/saxon.jar com.icl.saxon.StyleSheet
-
-# The xmllint program.
-XMLLINT = xmllint
-
-# A colon separated list of catalog entry files.
-# Without this properly set up, xmllint and xsltproc might be unable
-# to find the DTDs for the system identifiers specified in the XML files.
-# If the SGML_CATALOG_FILES environment variable is not set, list one
-# or more catalogs here.
-#
-# on debian (potato?) systems, maybe others
-#SGML_CATALOG_FILES ?= /etc/sgml/catalog
-#
-# on Mandrake (9.0?) systems, maybe others
-SGML_CATALOG_FILES ?= /usr/share/sgml/docbook/xml-dtd-4.1.2/xmlcatalog
-#SGML_CATALOG_FILES ?= /usr/share/apps/ksgmltools2/customization/en/catalog
-
-# Full path of the "chunker" DocBook XSL stylesheet used to generate
-# the HTML files.
-#
-# on debian (potato?)
-#CHUNK_XSL = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/chunk.xsl
-#
-# on Mandrake (9.0?) systems, maybe others
-CHUNK_XSL = /usr/share/sgml/docbook/yelp/docbook/html/chunk.xsl
-
 # List of subdirectories to be processed.
 SUBDIRS = en fr
 
-# Here all generated html's go
+# Generated HTML files go here.
 HTML_TOP = ../HTML
 
-#####[ End of configuration ]###########################################
 
-export CHUNK_XSL SGML_CATALOG_FILES XMLLINT XSLTPROC SAXON_COMMAND USE_SAXON
+.PHONY: all
+all: build-html
 
-.PHONY: no-target
-no-target:
-	@echo "What to make?"
-	@echo
-	@echo "Targets"
-	@echo "*******"
+.PHONY: help
+help:
+	@echo "Targets:"
+	@echo "********"
 	@echo "all       : Build everything (same as build-html for now)."
 	@echo "build-html: Build HTML documentation."
 	@echo "clean-html: Purge the 'HTML' directory."
 	@echo "distclean : Remove ALL generated files."
 
-.PHONY: all
-all: build-html
-
 .PHONY: build-html
-build-html:
+build-html: xsltproc.sh
 	test -d $(HTML_TOP) || mkdir $(HTML_TOP)
 	for d in $(SUBDIRS); do\
 		test -f $$d/Makefile &&\
@@ -69,17 +28,13 @@
 		if $(MAKE) HTMLDIR=../$(HTML_TOP)/$$d -C $$d; then :; else exit 1; fi;\
 	done
 
-.PHONY: test
-test:
-	@if command -v $(XSLTPROC) >/dev/null; then :; else exit 1; fi
-	@if command -v $(XMLLINT) >/dev/null; then :; else exit 1; fi
-	@test -f $(CHUNK_XSL) || (echo "file not found: $(CHUNK_XSL)"; exit 1)
-	@echo "All tests passed."
-
 .PHONY: clean-html
 clean-html:
 	-rm -rf $(HTML_TOP)
 
 .PHONY: distclean
 distclean: clean-html
-	-rm -f html.xsl
+	-rm -f html.xsl xsltproc.sh xmllint.sh
+
+xsltproc.sh: configure
+	./configure

Index: Makefile.inc
===================================================================
RCS file: /cvsroot/mplayer/main/DOCS/xml/Makefile.inc,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Makefile.inc	30 Apr 2003 16:41:14 -0000	1.2
+++ Makefile.inc	18 Jun 2003 17:37:36 -0000	1.3
@@ -1,10 +1,8 @@
 #
-# Makefile.inc for Makefiles in sub-directories.
+# Makefile.inc for Makefiles in subdirectories.
 #
 
-export SGML_CATALOG_FILES
-
-# Use customized html.xsl file if exists...
+# Use customized html.xsl file if it exists...
 ifeq (html.xsl,$(wildcard html.xsl))
 HTML_XSL := html.xsl
 XSL_DEPS := $(HTML_XSL) ../html.xsl ../html-common.xsl
@@ -13,19 +11,15 @@
 XSL_DEPS := $(HTML_XSL) ../html-common.xsl
 endif
 
-# Fall back to the default HTML stylesheet if not specified.
+# Fall back to the default HTML stylesheet if none is specified.
 HTML_STYLESHEET ?= ../default.css
 
 # This is the main target...
 $(HTMLDIR)/index.html: documentation.xml $(XSL_DEPS)
 	-rm -f $(HTMLDIR)/*
-	$(XMLLINT) --noout --noent --postvalid --catalogs $<
+	../xmllint.sh $<
 	cp $(HTML_STYLESHEET) $(HTMLDIR)/
-ifeq (0,$(USE_SAXON))
-	$(XSLTPROC) --catalogs -o $(HTMLDIR)/ $(HTML_XSL) $<
-else
-	cd $(HTMLDIR) && $(SAXON_COMMAND) $(CURDIR)/$< $(CURDIR)/$(HTML_XSL)
-endif
+	../xsltproc.sh $(HTMLDIR)/ $(HTML_XSL) $<
 
 ../html.xsl:
-	sh ../gen-html.xsl.sh $(CHUNK_XSL) > $@
+	cd .. && sh configure

--- gen-html.xsl.sh DELETED ---



More information about the MPlayer-cvslog mailing list