summaryrefslogtreecommitdiffstats
path: root/doc/gnu_docs/gen_docs
blob: 1e9ba9eb833d101d812b2facb5ff592c48f06111 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#! /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
# 
#

texi2www=/usr1/rtems/rtemsdoc-work/tools/texi2www/texi2www
install=/usr3/rtems_cds/test_cd/doc/tools/html

#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}/${b}
  fi
  ${ECHO} mkdir ${install}/${b}

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

  echo "Generating PS for ${b}"
  ${ECHO} dvips -o ${install}/${b}/${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 $d/gnu_docs/refcard.html ${install}/${b}
      ;;
    *)
      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}/${b}/${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 $d/gnu_docs/gnu_header.html \
        -footer $d/gnu_docs/gnu_footer.html \
        -icons  .. -dir ${install}/${b} \
          ${tsrc}.${ext}
      ;;
   esac
done