#! /bin/sh # # $Id$ # # Copyright (C) 1997-2001 by Dimitri van Heesch. # # Permission to use, copy, modify, and distribute this software and its # documentation under the terms of the GNU General Public License is hereby # granted. No representations are made about the suitability of this software # for any purpose. It is provided "as is" without express or implied warranty. # See the GNU General Public License for more details. # # Documents produced by Doxygen are derivative works derived from the # input used in their production; they are not affected by this license. # # shell script to configure doxygen bin_dirs=`echo $PATH | sed -e "s/:/ /g"` f_debug=NO f_shared=YES f_make=NO f_dot=NO f_perl=NO f_plf_auto=NO f_prefix=/usr f_insttool=NO f_english=NO f_wizard=NO f_langs=nl,se,cz,fr,it,de,jp,es,fi,ru,hr,pl,pt,hu,kr,ro,si,cn,no,br,dk,sk,ua,gr,tw while test -n "$1"; do case $1 in --prefix | -prefix) shift; f_prefix=$1 ;; --docdir | -docdir) shift; f_docdir=$1/doxygen ;; --shared | -shared) f_shared=YES ;; --static | -static) f_shared=NO ;; --release | -release) f_debug=NO ;; --debug | -debug) f_debug=YES ;; --english-only | -english-only) f_english=YES ;; --enable-langs | -enable-langs) shift; f_langs=$1 ;; --platform | -platform) shift; f_platform=$1 ;; --make | -make) shift; f_make=$1 ;; --dot | -dot) shift; f_dot=$1 ;; --perl | -perl) shift; f_perl=$1 ;; --install | -install) shift; f_insttool=$1 ;; --with-doxywizard | -with-doxywizard) f_wizard=YES ;; -h | -help | --help) f_help=y ;; *) echo $1: unknown argument f_help=y f_error=y ;; esac shift done if test "$f_help" = y; then cat </dev/null` || u_release=unknown u_system=`(uname -s) 2>/dev/null` || u_system=unknown if test -z "$f_platform"; then f_platforms="`cat PLATFORMS`" case "$u_system:$u_release" in AIX*) f_platform=aix-xlc ;; dgux:*) f_platform=dgux-g++ ;; Darwin:*) f_platform=macosx-c++ ;; FreeBSD:*) f_platform=freebsd-g++ ;; GNU:*) f_platform=gnu-g++ ;; HP-UX:*) f_platform=hpux-g++ ;; IRIX64:*) f_platform=irix-64 ;; IRIX:*) f_platform=irix-n32 ;; Linux:*) f_platform=linux-g++ ;; NetBSD:*) f_platform=netbsd-g++ ;; OpenBSD:*) f_platform=openbsd-g++ ;; OSF1:*) f_platform=osf1-g++ ;; QNX:*) f_platform=qnx-g++ ;; *:3.2) f_platform=sco-g++ ;; SunOS:4*) f_platform=sunos-g++ ;; SunOS:5*) f_platform=solaris-cc ;; ULTRIX:*) f_platform=ultrix-g++ ;; UNIX_SV:4.2*) f_platform=unixware-g++ ;; Cygwin:*) f_platform=win32-g++ ;; *) echo echo "Your platform was not recognised by this configure script" echo "Please use the -platform option to specify one of platforms" echo "in this list:" echo for p in $f_platforms do echo " $0 $* -platform $p" done echo exit 2 esac echo " Autodetected platform $f_platform... " f_plf_auto=YES fi if test -z "$f_docdir"; then f_docdir=$f_prefix/share/doc/packages/doxygen fi if test "$f_plf_auto" = NO; then echo -n " Checking for platform $f_platform... " if test '!' -d tmake/lib/$f_platform; then echo "not supported!" echo exit 2 fi echo "supported" fi #- check for qt -------------------------------------------------------------- if test "$f_wizard" = YES; then echo -n " Checking for Qt..." if test -z "$QTDIR"; then echo "QTDIR not set!" echo echo "tmake requires the QTDIR environment variable to be set." echo "check your Qt installation!" exit 2 else if test ! -d "$QTDIR/lib"; then echo "QTDIR is set, but library directory does not exist!" exit 2 fi if test ! -d "$QTDIR/include"; then echo "QTDIR is set, but include directory does not exist!" exit 2 fi echo " headers $QTDIR/include," echo " libraries $QTDIR/lib" fi fi # - check for make ------------------------------------------------------------ echo -n " Checking for GNU make tool... " if test "$f_make" = NO; then make_names="gmake make" make_dirs="/usr/bin /usr/local/bin /bin /sbin $bin_dirs" make_prog=NO for i in $make_names; do for j in $make_dirs; do if test -x "$j/$i"; then if test -n "`$j/$i --version 2>/dev/null | grep GNU`"; then make_prog="$j/$i" break 2 fi fi done done f_make="$make_prog" fi if test "$f_make" = NO; then echo "not found!"; echo exit 2 fi echo "using $f_make" # - check for install ------------------------------------------------------------ echo -n " Checking for GNU install tool... " if test "$f_insttool" = NO; then install_names="ginstall install" install_dirs="/usr/bin /usr/local/bin /bin /sbin $bin_dirs" install_prog=NO install_found=NO for i in $install_names; do for j in $install_dirs; do if test -x "$j/$i"; then if test -n "`$j/$i --version 2>/dev/null | grep fileutils`"; then install_found=YES install_prog="$j/$i" break 2 fi fi done done f_insttool="$install_prog" fi if test "$f_insttool" = NO; then if test "$install_found" = YES; then echo; else echo "not found!"; echo fi echo "GNU version of install is required: this is part of the fileutils package: " echo "see http://www.gnu.org/software/fileutils/fileutils.html" echo exit 2 fi echo "using $f_insttool"; # - check for dot ------------------------------------------------------------ echo -n " Checking for dot (part of GraphViz)... " if test "$f_dot" = NO; then dot_dirs="$bin_dirs" dot_prog=NO for j in $dot_dirs; do if test -x "$j/dot"; then dot_prog="$j/dot" break 2 fi done f_dot="$dot_prog" fi if test "$f_dot" = NO; then echo "not found!"; else echo "using $f_dot" fi # - check for perl ------------------------------------------------------------ echo -n " Checking for perl... " if test "$f_perl" = NO; then perl_names="perl perl5" perl_dirs="/usr/bin /usr/local/bin /bin /sbin $bin_dirs" perl_prog=NO perl_found=NO for i in $perl_names; do for j in $perl_dirs; do if test -x "$j/$i"; then perl_found=YES if $j/$i -e 'require 5.000;' 2>/dev/null ; then perl_prog="$j/$i" break 2 fi fi done done f_perl="$perl_prog" fi if test "$f_perl" = NO; then if test "$perl_found" = YES; then echo "version is too old (5.000 or higher is required)." else echo "not found!"; fi echo exit 2 fi echo "using $f_perl"; # ----------------------------------------------------------------------------- test -f .makeconfig && rm .makeconfig test -f .tmakeconfig && rm .tmakeconfig cat > .makeconfig <> .makeconfig <> .tmakeconfig <> .tmakeconfig <> .tmakeconfig <> .tmakeconfig <> .tmakeconfig <> .tmakeconfig < $DST <> $DST if test $i = Makefile.in; then echo "" >> $DST echo "all: src/version.cpp " >> $DST echo " \$(MAKE) -C qtools" >> $DST echo " \$(MAKE) -C libpng" >> $DST echo " \$(MAKE) -C src" >> $DST if test $f_wizard = YES; then echo " \$(MAKE) -C addon/doxywizard" >> $DST fi echo "" >> $DST echo "doxywizard_install:" >> $DST if test $f_wizard = YES; then echo " \$(MAKE) -C addon/doxywizard install" >> $DST fi echo "" >> $DST fi cat $SRC >> $DST echo " Created $DST from $SRC..." done f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in src/doxytag.pro.in src/doxysearch.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in libpng/libpng.pro.in" for i in $f_inprofiles ; do SRC=$i DST=`echo $i|sed 's%\(.*\).in$%\1%'` TIME=`date` cat > $DST <> $DST else cat $SRC .tmakeconfig | sed -e "s/\$extraopts/debug/g" >> $DST fi echo " Created $DST from $SRC..." done # - generating src/lang_cfg.h echo -n " Generating src/lang_cfg.h..." echo $f_langs | $f_perl -e '@l=split(/,/,); chomp @l; @allowed=(NL,SE,CZ,FR,IT,DE,JP,ES,FI,RU,HR,PL,PT,HU,KR,RO,SI,CN,NO,BR, DK,SK,UA,GR,TW); foreach my $elem (@l){ $elem =~ tr/a-z/A-Z/; $r=0; foreach my $tst (@allowed){ if ($tst eq $elem) { $r=1; last; } } if ($r!=1) { die "ERROR: Invalid language $elem was selected!\n"; } print "#define LANG_$elem\n"; };' > ./src/lang_cfg.h echo