summaryrefslogtreecommitdiffstats
path: root/solenv/bin
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/bin')
-rwxr-xr-xsolenv/bin/create-ids8
-rwxr-xr-xsolenv/bin/create-tags10
-rw-r--r--solenv/bin/id-lang.map105
-rwxr-xr-xsolenv/bin/mkdocs.sh131
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