diff options
Diffstat (limited to 'solenv/bin')
-rwxr-xr-x | solenv/bin/create-ids | 8 | ||||
-rwxr-xr-x | solenv/bin/create-tags | 10 | ||||
-rw-r--r-- | solenv/bin/id-lang.map | 105 | ||||
-rwxr-xr-x | solenv/bin/mkdocs.sh | 131 |
4 files changed, 254 insertions, 0 deletions
diff --git a/solenv/bin/create-ids b/solenv/bin/create-ids new file mode 100755 index 000000000000..868d88526c76 --- /dev/null +++ b/solenv/bin/create-ids @@ -0,0 +1,8 @@ +#!/bin/sh + +# create ID file for the whole LibO tree. run it in toplevel dir + +. ./*.Set.sh + +dirs="*/$INPATH/inc */$INPATH/misc/build `ls -d */* | sed -e '/\(clone\/\|\/\(common\|unxlng\|unxsol\|unxmac\|wntmsc\|Jamfile\|cscope\.\|tags\|ID\)\)\|^solver\//d'`" +mkid --lang-map=`dirname $0`/id-lang.map --include='C C++ asm perl make' --statistics $dirs diff --git a/solenv/bin/create-tags b/solenv/bin/create-tags new file mode 100755 index 000000000000..61295df2b365 --- /dev/null +++ b/solenv/bin/create-tags @@ -0,0 +1,10 @@ +#!/bin/sh + +# create tags file for the whole LibO tree. run it in toplevel dir +. ./*.Set.sh + +omnicppoptions="--c++-kinds=+p --fields=+iaS --extra=+q" +ctags -h "+.hdl.hrc" --langmap=c:+.hdl.hrc.src $omnicppoptions \ + --languages=-HTML,Java \ + -R --exclude=`echo ${INPATH} | sed 's/\./\\\./g'` --exclude=binfilter --exclude=solver \ + --totals=yes --sort=foldcase * diff --git a/solenv/bin/id-lang.map b/solenv/bin/id-lang.map new file mode 100644 index 000000000000..acc5afc0cba6 --- /dev/null +++ b/solenv/bin/id-lang.map @@ -0,0 +1,105 @@ +# Welcome to the mkid language mapper. +# +# The format of each line is: +# +# <pattern> <language> [options] +# +# Filenames are matched top-to-bottom against the patterns, and the +# first match is chosen. The special language `IGNORE' means that +# this file should be ignored by mkid. The options are +# language-specific command-line options to mkid. +# +# If a file name doesn't match any pattern, it is assigned the default +# language. The default language may be specified here with the +# special pattern `**', or overridden from the mkid command-line with +# the `--default-lang=LANG' option. +# +# The special pattern `***' means to include the named file that +# immediately follows. If no file is named, then the default system +# language mapper file (i.e., this file) is included. + +# Default language +** IGNORE # Although this is listed first, + # the default language pattern is + # logically matched last. + +# Backup files +*~ IGNORE +*.bak IGNORE +*.bk[0-9] IGNORE + +# SCCS files +[sp].* IGNORE + +# C dependencies created by automake +*/.deps/* IGNORE + +*.h C +*.h.in C +*.H C++ +*.hh C++ +*.hpp C++ +*.hxx C++ + +*.l C +*.lex C +*.y C +*.yacc C + +*.c C +*.C C++ +*.cc C++ +*.cpp C++ +*.cxx C++ + +*.java Java + +ChangeLog* Cdoc + +*.[sS] asm --comment=; +*.asm asm --comment=; + +# [nt]roff +*.[0-9] roff +*.ms roff +*.me roff +*.mm roff + +*.tex TeX +*.ltx TeX +*.texi texinfo +*.texinfo texinfo + +# portable object (i18n) +*.po po + +*.el lisp +*.elc lisp +*.lisp lisp +*.scm lisp + +*.am make +Makefile make +Makefile.* make + +*.doc text +*.txt text + +*.m4 m4 + +*.pl perl +*.pm perl + +*.gz FILTER gzip -d <%s +*.Z FILTER gzip -d <%s + +######### OOo-specific stuff ####################################### + +# Treat OOo resource header files as C files +*.hrc C +# Treat OOo header files generated from *.idl as C++ files +*.hdl C++ +# Treat OOo resource files as C files +*.src C +# Treat OOo *.mk files as makefiles +*.mk make diff --git a/solenv/bin/mkdocs.sh b/solenv/bin/mkdocs.sh new file mode 100755 index 000000000000..5fe3271a6370 --- /dev/null +++ b/solenv/bin/mkdocs.sh @@ -0,0 +1,131 @@ +#!/bin/bash +# +# Doxygen Doc generation +# + +# binaries that we need +which doxygen > /dev/null 2>&1 || { + echo "You need doxygen for doc generation" + exit 1 +} +which dot > /dev/null 2>&1 || { + echo "You need the graphviz tools to create the nice inheritance graphs" + exit 1 +} + +# otherwise, aliases are not expanded below +shopt -s expand_aliases + +# Title of the documentation +DOXYGEN_PROJECT_PREFIX="LibreOffice" + +# suck setup +BINDIR=`dirname $0` +. $BINDIR/setup + +. ./*.Set.sh + +# get list of modules in build order - bah, blows RAM & disk, static list below +#INPUT_PROJECTS=`build --all --show | sed -n -e '/Entering module/ s/Entering module // p'` +INPUT_PROJECTS="o3tl basegfx comphelper svl vcl canvas cppcanvas oox svtools goodies drawinglayer xmloff slideshow sfx2 editeng svx cui chart2 dbaccess sd starmath sc sw" + +# output directory for generated documentation +BASE_OUTPUT="$1" +mkdir -p "$BASE_OUTPUT" || { + echo "Cannot create $BASE_OUTPUT" + exit 1 +} + +# paths for binary and configuration file +BASE_PATH=`pwd` +DOXYGEN_CFG="$2" +if test ! -f "$DOXYGEN_CFG"; then + echo "doxygen.cfg not found" + exit 1 +fi + +# strip -I. and bin -I prefix; exlude system headers +DOXYGEN_INCLUDE_PATH=`echo $SOLARINC | sed -e ' s/-I\.//'g | sed -e ' s/ -I/ /'g | sed -e ' s|/usr/[^ ]*| |g'` + +# setup version string +DOXYGEN_VERSION="$GITTAG" + + +################################################### +# +# Generate docs +# +################################################### + +# cleanup +rm -rf $BASE_OUTPUT/* + +# make the stuff world-readable +umask 022 + +# generate docs +DOXYGEN_REF_TAGFILES="" +for PROJECT in $INPUT_PROJECTS; +do + # avoid processing of full project subdirs, only add source and inc + DOXYGEN_INPUT=`printf "%s" "$PROJECT/source $PROJECT/inc "` + + DOXYGEN_OUTPUT="$BASE_OUTPUT/$PROJECT" + DOXYGEN_OUR_TAGFILE="$DOXYGEN_OUTPUT/$PROJECT.tags" + DOXYGEN_PROJECTNAME="$DOXYGEN_PROJECT_PREFIX Module $PROJECT" + + # export variables referenced in doxygen config file + export DOXYGEN_INPUT + export DOXYGEN_OUTPUT + export DOXYGEN_INCLUDE_PATH + export DOXYGEN_VERSION + export DOXYGEN_OUR_TAGFILE + export DOXYGEN_REF_TAGFILES + export DOXYGEN_PROJECTNAME + + # debug + echo "Calling $DOXYGEN_PATH/doxygen $DOXYGEN_CFG with" + echo "Input: $DOXYGEN_INPUT" + echo "Output: $DOXYGEN_OUTPUT" + echo "Include: $DOXYGEN_INCLUDE_PATH" + echo "Version: $DOXYGEN_VERSION" + echo "Tagfile: $DOXYGEN_OUR_TAGFILE" + echo "Ref-Tags: $DOXYGEN_REF_TAGFILES" + echo "Title: $DOXYGEN_PROJECTNAME" + + nice -15 doxygen "$DOXYGEN_CFG" + + # setup referenced tagfiles for next round + DOXYGEN_REF_TAGFILES="$DOXYGEN_REF_TAGFILES $DOXYGEN_OUR_TAGFILE=$BASE_URL/$PROJECT/html" +done + +# generate entry page +cat - > $BASE_OUTPUT/index.html <<EOF +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<html> + <head> + <title>LibreOffice Source Code Documentation (fragmentary)</title> + </head> + <body> + <h1>LibreOffice Source Code Documentation (fragmentary)</h1> + <ul> +EOF + +for PROJECT in $INPUT_PROJECTS; +do + echo "<li><a href=\"$PROJECT/html/classes.html\">$PROJECT</a></li>" >> $BASE_OUTPUT/index.html +done + +cat - >> $BASE_OUTPUT/index.html <<EOF + </ul> + <p>Last updated: +EOF +LANG= date >> $BASE_OUTPUT/index.html + +cat - >> $BASE_OUTPUT/index.html <<EOF + </p> + </body> +</html> +EOF + +## done |