summaryrefslogblamecommitdiffstats
path: root/doc/gnu_docs/gen_docs
blob: 65365f7581b06e4a780c6eb6f77b96b99524579b (plain) (tree)


















                                                                          





                                                  


                                                                       
 

























                                          
                                       
    







                                                 

                             

                                                    

                               

                                                        









                                                            
                                                       

        


                                                              







                                                              
              


                                  
                                           
















                                                                 
                                                                

















                                                                              


                                                           



                        


















                                                                             
#! /bin/sh
#
#  This script is intended to be run in the build directory of a software
#  package including documentation in texinfo format.  The basic operation
#  of this script is to:
#      + find all ".dvi" files from the current directory down,
#      + for each dvi file
#        + install the dvi file 
#        + generate PostScript files for the dvi file
#        + install the PostScript file 
#        + if there is texinfo source for this dvi file
#             install the info files 
#             generate PDF from the texinfo source 
#             install the PDF file
#             generate HTML from the texinfo source 
#             install the HTML file
# 
#

# Ralf... where do these come from using autoconf?
srcdir=/usr1/rtems/work/rtems-doc/
texi2www=${srcdir}/tools/texi2www/texi2www
gnu_docs=${srcdir}/gnu_docs
images=${srcdir}/images

install_base=/home/httpd/html/rtems/rtemsdoc-4.5.1-pre3
install_share=/home/httpd/html/rtems/rtemsdoc-4.5.1-pre3/share/toolsdoc
install_info=/home/httpd/html/rtems/rtemsdoc-4.5.1-pre3/info


#if [ $? -ne 1 ] ; then
#  echo "Usage: $0 install_directory"
#  exit 1
#fi

if [ ! -d ${install} ] ; then
  echo "${install} is not a directory"
  exit 1
fi

#ECHO=echo

STARTDIR=`pwd`
find . -name "*.dvi" | while read file
do
  cd $STARTDIR
  cd `dirname $file`
  echo $file
  i=`basename $file`
####
  b=`echo $i | cut -d'.' -f1`
  echo $b
  
  if [ -d ${install}/${b} ] ; then
    echo "Cleaning install point for ${b}"
    ${ECHO} rm -rf ${install}/html/${b}
  fi

  for dir_to_do in ${install_info} \
    ${install_share}/ps \
    ${install_share}/pdf ${install_share}/dvi \
    ${install_share}/html/${b}
  do
    test -d ${dir_to_do} || mkdir -p ${dir_to_do}
  done

  echo "Copying DVI for ${b}"
  echo "+ cp ${b}.dvi ${install_share}/dvi/${b}.dvi"
  ${ECHO} cp ${b}.dvi ${install_share}/dvi/${b}.dvi

  echo "Generating PS for ${b}"
  echo "+ dvips -o ${install_share}/ps/${b}.ps ${b}.dvi"
  ${ECHO} dvips -o ${install_share}/ps/${b}.ps ${b}.dvi

  # unfortunately the .dvi names are not always the same. :(
  case ${b} in
    history)  tsrc=hist ;;
    readline) tsrc=rlman ;;
    *)        tsrc=${b} ;;
  esac 

  case ${b} in
    refcard)
      cp ${gnu_docs}/refcard.html ${install_share}/${b}
      ;;
    *)
      # for some reason chill installs the dvi 1 directory up.
      test ${b} = "chill" && cd ch

      if [ -r ${tsrc}.texi ] ; then
        ext=texi
      elif [ -r ${tsrc}.texinfo ] ; then
        ext=texinfo
      else
        echo "*** 
        echo "*** Cannot find a texi or texinfo file for ${b}"
        echo "*** 
        exit 1
      fi

      echo "Copying INFO for ${b}"
      ${ECHO} cp ${b}.info* ${install_info}

      case ${b} in 
        g77)  bad_for_pdf="yes" ;;
        *)    bad_for_pdf="no" ;;
      esac

      case ${b} in 
        gdb)  extraargs_for_pdf="-I ../../readline/doc" ;;
        *)    extraargs_for_pdf="" ;;
      esac
      if [ ${bad_for_pdf} = "yes" ] ; then
        echo "*** "
        echo "*** Skipping PDF for ${b}"
        echo "*** "
      else
        echo "Generating PDF for ${b}"
        ${ECHO} texi2pdf ${extraargs_for_pdf} ${tsrc}.${ext} && \
            ${ECHO} cp ${tsrc}.pdf ${install_share}/pdf/${b}.pdf
      fi

      # until texi2www is modified to take a search path
      case ${b} in 
        gdb)
          sed -e 's/^ @/@/' <../../readline/doc/rluser.texinfo >rluser.texinfo
          cp ../../readline/doc/inc-hist.texi .
          ;;
        readline)
          cp rluser.texinfo rluser.texinfo.tmp
          sed -e 's/^ @/@/' <../../readline/doc/rluser.texinfo >rluser.texinfo
          rm -f rluser.texinfo.tmp
          ;;
        *)    ;;
      esac
      echo "Generating HTML for ${b}"
      ${ECHO} ${texi2www} \
        -dirfile ../index.html \
        -header ${gnu_docs}/gnu_header.html \
        -footer ${gnu_docs}/gnu_footer.html \
        -icons  ../images -dir ${install_share}/html/${b} \
          ${tsrc}.${ext}
      ;;
   esac
done

echo "Installing graphics"

test -d ${install_share}/html/images || mkdir ${install_share}/html/images
cd ${images}
for f in dir-arrow.gif dvi.gif missing-arrow.gif next-arrow.gif oaronly.jpg \
  pdf.gif pdf1.gif prev-arrow.gif ps.gif up-arrow.gif
do
  cp ${f} ${install_share}/html/images/${f}
done
echo "Installing top level HTML indices"
cp ${gnu_docs}/index.html ${install_share}/html/index.html
cp ${gnu_docs}/rtems_tools_index.html ${install_share}/../index.html

# Now deal with the reference card
set -x
test -d ${install_share}/html/refcard || mkdir ${install_share}/html/refcard
cp ${gnu_docs}/refcard.html ${install_share}/html/refcard/refcard.html
exit 0