summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure680
1 files changed, 680 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100755
index 0000000..9765c3a
--- /dev/null
+++ b/configure
@@ -0,0 +1,680 @@
+#!/bin/sh
+#
+# $Id: configure,v 1.229 2005/11/09 21:17:03 dimitri Exp $
+#
+# Copyright (C) 1997-2012 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
+
+doxygen_version_major=1
+doxygen_version_minor=8
+doxygen_version_revision=2
+
+#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
+doxygen_version_mmn=NO
+
+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/local
+f_insttool=NO
+f_english=NO
+f_wizard=NO
+f_app=NO
+f_thread=NO
+f_flex=NO
+f_bison=NO
+f_langs=nl,sv,cz,fr,id,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,mk,br,dk,sk,ua,gr,tw,sr,ca,lt,za,ar,fa,sc,vi,tr,eo,am
+
+while test -n "$1"; do
+ case $1 in
+ --prefix | -prefix)
+ shift; f_prefix=$1
+ ;;
+ --docdir | -docdir)
+ shift; f_docdir=$1
+ ;;
+ --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
+ ;;
+ --flex | -flex)
+ shift; f_flex=$1
+ ;;
+ --bison | -bison)
+ shift; f_bison=$1
+ ;;
+ --install | -install)
+ shift; f_insttool=$1
+ ;;
+ --with-doxywizard | -with-doxywizard)
+ f_wizard=YES
+ ;;
+ --with-doxyapp | -with-doxyapp)
+ f_app=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 <<EOF
+Usage: $0 [--help] [--shared] [--static] [--release] [--debug]
+ [--perl name] [--flex name] [--bison name] [--make name]
+ [--dot name] [--platform target] [--prefix dir] [--docdir dir]
+ [--install name] [--english-only] [----enable-langs list]
+ [--with-doxywizard] [--with-doxyapp]
+
+Options:
+
+ --help Print this help
+ --shared | --static Build using shared or static linking
+ [default: shared]
+ --release | --debug Build for release or debug
+ [default: release]
+ --perl name Use \`name' as the name of the perl interpreter
+ [default: autodetect]
+ --flex name Use \`name' as the name of the GNU lexical scanner
+ [default: autodetect]
+ --bison name Use \`name' as the name of the GNU compiler generator
+ [default: autodetect]
+ --make name Use \`name' as the name of the GNU make tool
+ [default: autodetect]
+ --dot name Use \`name' as the name of the dot tool that
+ is part of the Graphviz package.
+ [default: autodetect]
+ --platform target Do not detect platform but use \`target' instead.
+ See PLATFORMS for a list of possibilities
+ --prefix dir Installation prefix directory (doxygen will be
+ put in PREFIX/bin/doxygen)
+ [default: $f_prefix]
+ --docdir dir Documentation is installed in DOCDIR/
+ [default: PREFIX/share/doc/packages/doxygen]
+ --install name Use \`name' as the name of the GNU install tool
+ [default: autodetect]
+ --english-only Include support for English only.
+ --enable-langs list Include support for output languages listed in list.
+ [default: $f_langs]
+ --with-doxywizard Build the GUI frontend for doxygen. This
+ requires Qt 3.3.x
+ --with-doxyapp Example showing how to embed doxygen in an application.
+
+EOF
+ test "$f_error" = y && exit 1
+ exit 0;
+fi
+
+u_release=`(uname -r) 2>/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
+ ;;
+ BeOS*)
+ f_platform=beos-g++
+ ;;
+ dgux:*)
+ f_platform=dgux-g++
+ ;;
+ Darwin:*)
+ f_platform=macosx-c++
+ if test "$f_insttool" = NO; then
+ f_insttool=/usr/bin/install
+ fi
+ ;;
+ FreeBSD:*)
+ f_platform=freebsd-g++
+ if test "$f_insttool" = NO; then
+ f_insttool=/usr/bin/install
+ fi
+ ;;
+ NetBSD:*)
+ f_platform=netbsd-g++
+ if test "$f_insttool" = NO; then
+ f_insttool=/usr/bin/install
+ fi
+ ;;
+ HP-UX:*)
+ f_platform=hpux-g++
+ if test "$f_insttool" = NO; then
+ f_insttool=/usr/bin/install
+ fi
+ ;;
+ IRIX64:*)
+ f_platform=irix-64
+ ;;
+ IRIX:*)
+ f_platform=irix-n32
+ ;;
+ Linux:*|GNU:*|GNU/*:*)
+ 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-g++
+ if test "$f_insttool" = NO; then
+ f_insttool=/usr/bin/install
+ fi
+ ;;
+ ULTRIX:*)
+ f_platform=ultrix-g++
+ ;;
+ UNIX_SV:4.2*)
+ f_platform=unixware-g++
+ ;;
+ Cygwin:*|CYGWIN*)
+ f_platform=win32-g++
+ ;;
+ *MiNT:*)
+ f_platform=m68k-atari-mint-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='$(INSTALL)/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
+ if test -z "$QTDIR"; then
+ echo " QTDIR environment variable not set!"
+ echo -n " Checking for Qt..."
+ for d in /usr/{lib,share,qt}/{qt-4,qt4,qt,qt*,4} /usr; do
+ if test -x "$d/bin/qmake"; then
+ QTDIR=$d
+ fi
+ done
+ else
+ echo " Detected Qt via the QTDIR environment variable..."
+ echo -n " "
+ fi
+ if test -z "$QTDIR"; then
+ echo "QTDIR not set and Qt not found at standard locations!"
+ echo
+ echo "Set the QTDIR environment variable such that \$QTDIR/bin/qmake exists."
+ echo "check the Qt installation instructions!"
+ exit 2
+ fi
+fi
+
+# - check for make ------------------------------------------------------------
+
+echo -n " Checking for GNU make tool... "
+if test "$f_make" = NO; then
+ make_names="gmake make"
+ make_dirs="$bin_dirs /usr/bin /usr/local/bin /bin /sbin"
+ 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="$bin_dirs /usr/bin /usr/local/bin /bin /sbin /usr/ucb"
+ 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 utils`"; 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/coreutils 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 /usr/bin /usr/local/bin /bin /sbin"
+ 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="$bin_dirs /usr/bin /usr/local/bin /bin /sbin"
+ 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";
+
+# - check for flex ------------------------------------------------------------
+
+echo -n " Checking for flex... "
+if test "$f_flex" = NO; then
+ flex_dirs="$bin_dirs /usr/bin /usr/local/bin /bin"
+ flex_prog=NO
+ flex_found=NO
+ for j in $flex_dirs; do
+ if test -x "$j/flex"; then
+ flex_found=YES
+ flex_prog="$j/flex"
+ break
+ fi
+ done
+ f_flex="$flex_prog"
+fi
+
+if test "$f_flex" = NO; then
+ echo "not found!";
+ exit 2
+else
+ echo "using $f_flex"
+fi
+
+# - check for bison ------------------------------------------------------------
+
+echo -n " Checking for bison... "
+if test "$f_bison" = NO; then
+ bison_dirs="$bin_dirs /usr/bin /usr/local/bin /bin"
+ bison_prog=NO
+ bison_found=NO
+ for j in $bison_dirs; do
+ if test -x "$j/bison"; then
+ bison_found=YES
+ bison_prog="$j/bison"
+ break
+ fi
+ done
+ f_bison="$bison_prog"
+fi
+
+if test "$f_bison" = NO; then
+ echo "not found!";
+ exit 2
+else
+ echo "using $f_bison"
+fi
+
+# -----------------------------------------------------------------------------
+
+#
+# Make VERSION file
+#
+echo " Creating VERSION file."
+# Output should be something like 1.4.5-20051010
+if test "x$doxygen_version_mmn" = "xNO"; then
+ echo "$doxygen_version_major.$doxygen_version_minor.$doxygen_version_revision" > VERSION
+else
+ echo "$doxygen_version_major.$doxygen_version_minor.$doxygen_version_revision-$doxygen_version_mmn" > VERSION
+fi
+
+test -f .makeconfig && rm .makeconfig
+test -f .tmakeconfig && rm .tmakeconfig
+
+configPWD=`pwd`
+
+cat > .makeconfig <<EOF
+DOXYGEN = $configPWD
+TMAKEPATH = $configPWD/tmake/lib/$f_platform
+ENV = env TMAKEPATH=\$(TMAKEPATH)
+TMAKE = $configPWD/tmake/bin/tmake
+MAKE = $f_make
+PERL = $f_perl
+RM = rm -f
+CP = cp
+VERSION = `cat VERSION`
+INSTALL = $f_prefix
+INSTTOOL = $f_insttool
+DOXYDOCS = ..
+DOCDIR = $f_docdir
+QTDIR = $QTDIR
+EOF
+
+if test "$f_dot" != NO; then
+ cat >> .makeconfig <<EOF
+HAVE_DOT = $f_dot
+EOF
+fi
+
+if test "$f_platform" = "m68k-atari-mint-g++"; then
+ cat >> .makeconfig <<EOF
+TMAKE += -unix
+EOF
+fi
+
+if test "$f_platform" = "macosx-c++"; then
+ cat >> .makeconfig <<EOF
+MKSPECS = -spec macx-g++
+EOF
+fi
+if test "$f_platform" = "macosx-uni-c++"; then
+ cat >> .makeconfig <<EOF
+MKSPECS = -spec macx-g++
+EOF
+ fi
+
+
+# Make doxygen.spec...
+#
+echo " Created doxygen.spec file, for rpm generation."
+
+echo "%define version $doxygen_version_major.$doxygen_version_minor.$doxygen_version_revision" > spec.tmp
+if test "$doxygen_version_mmn" = NO; then
+ echo "%define revision 1" >> spec.tmp
+ echo "%define mmn 1" >> spec.tmp
+else
+ echo "%define revision $doxygen_version_mmn" >> spec.tmp
+ echo "%define mmn $doxygen_version_mmn" >> spec.tmp
+fi
+
+mkdir -p packages
+mkdir -p packages/rpm
+
+cat spec.tmp ./packages/rpm/doxygen.spec.in > ./packages/rpm/doxygen.spec
+
+rm -f spec.tmp
+
+
+# make .tmakeconfig
+#
+touch .tmakeconfig
+if test "$f_shared" = NO; then
+ if test "$f_platform" = "osf1-cxx" -o "$f_platform" = "irix-n32"; then
+ cat >> .tmakeconfig <<EOF
+ TMAKE_LFLAGS += -non_shared
+EOF
+ elif test "$f_platform" = "solaris-cc"; then
+ cat >> .tmakeconfig <<EOF
+ TMAKE_LFLAGS += -Bstatic
+EOF
+ elif test "$f_platform" = "hpux-cc"; then
+ cat >> .tmakeconfig <<EOF
+ TMAKE_LFLAGS += -noshared
+EOF
+ else
+ cat >> .tmakeconfig <<EOF
+ TMAKE_LFLAGS += -static
+EOF
+ fi
+fi
+if test "$f_platform" = "hpux-g++" -o "$f_platform" = "linux-g++"; then
+ cat >> .tmakeconfig <<EOF
+ TMAKE_CXXFLAGS += -D_LARGEFILE_SOURCE
+EOF
+fi
+if test "$f_platform" = "macosx-uni-c++"; then
+ if test -n "`ls /Developer/SDKs/MacOSX10.*.sdk 2>/dev/null`"; then
+ mac_sdk=MacOSX10.4u.sdk
+ fi
+ if test -n "`ls /Developer/SDKs/MacOSX10.5*.sdk 2>/dev/null`"; then
+ mac_sdk=MacOSX10.5.sdk
+ fi
+ if test -n $mac_sdk; then
+ cat >> .tmakeconfig <<EOF
+ TMAKE_CFLAGS += -isysroot /Developer/SDKs/$mac_sdk
+ TMAKE_CXXFLAGS += -isysroot /Developer/SDKs/$mac_sdk
+ TMAKE_LFLAGS += -Wl,-syslibroot,/Developer/SDKs/$mac_sdk
+EOF
+ fi
+fi
+if test "$f_wizard" = YES; then
+ cat >> .tmakeconfig <<EOF
+TMAKE_MOC = $QTDIR/bin/moc
+EOF
+fi
+
+if test "$f_english" = YES; then
+ cat >> .tmakeconfig <<EOF
+TMAKE_CXXFLAGS += -DENGLISH_ONLY
+EOF
+fi
+
+f_inmakefiles="Makefile.in qtools/Makefile.in src/Makefile.in examples/Makefile.in doc/Makefile.in addon/doxywizard/Makefile.in addon/doxmlparser/src/Makefile.in addon/doxmlparser/test/Makefile.in addon/doxmlparser/examples/metrics/Makefile.in libmd5/Makefile.in addon/doxyapp/Makefile.in"
+
+for i in $f_inmakefiles ; do
+ SRC=$i
+ DST=`echo $i|sed 's%\(.*\).in$%\1%'`
+ TIME=`date`
+ cat > $DST <<EOF
+#
+# This file was generated from `basename $i` on $TIME
+#
+
+EOF
+ cat .makeconfig >> $DST
+ if test $i = Makefile.in; then
+ echo "" >> $DST
+ echo "all: src/version.cpp " >> $DST
+ echo " \$(MAKE) -C qtools" >> $DST
+ echo " \$(MAKE) -C libmd5" >> $DST
+ echo " \$(MAKE) -C src" >> $DST
+ if test $f_wizard = YES; then
+ echo " \$(MAKE) MAN1DIR=\$(MAN1DIR) -C addon/doxywizard" >> $DST
+ fi
+ if test $f_app = YES; then
+ echo " \$(MAKE) -C addon/doxyapp" >> $DST
+ fi
+ echo "" >> $DST
+ echo "doxywizard_install:" >> $DST
+ if test $f_wizard = YES; then
+ echo " \$(MAKE) MAN1DIR=\$(MAN1DIR) -C addon/doxywizard install" >> $DST
+ fi
+ echo "" >> $DST
+ fi
+ if test $f_wizard = YES; then
+ sed -e "s/%%WITHDOXYWIZARD%% /--with doxywizard /g" $SRC >> $DST
+ else
+ sed -e "s/%%WITHDOXYWIZARD%% //g" $SRC >> $DST
+ fi
+ echo " Created $DST from $SRC..."
+done
+
+cat src/libdoxycfg.t.in | sed -e "s|%%FLEX%%|$f_flex|g" -e "s|%%BISON%%|$f_bison|g" > src/libdoxycfg.t
+cat src/libdoxygen.t.in | sed -e "s|%%FLEX%%|$f_flex|g" -e "s|%%BISON%%|$f_bison|g" > src/libdoxygen.t
+
+f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.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 libmd5/libmd5.pro.in addon/doxyapp/doxyapp.pro.in"
+
+for i in $f_inprofiles ; do
+ SRC=$i
+ DST=`echo $i|sed 's%\(.*\).in$%\1%'`
+ TIME=`date`
+ cat > $DST <<EOF
+#
+# This file was generated from `basename $i` on $TIME
+#
+
+EOF
+ if test "$f_debug" = NO; then
+ realopts="release"
+ else
+ realopts="debug"
+ fi
+ #if test "$f_thread" = YES; then
+ # realopts="$realopts thread"
+ #fi
+ cat $SRC .tmakeconfig | sed -e "s/\$extraopts/$realopts/g" >> $DST
+ echo " Created $DST from $SRC..."
+done
+
+# - generating src/lang_cfg.h
+
+if test -f "src/lang_cfg.h"; then
+ chmod u+w src/lang_cfg.h # make sure file can be overwritten
+fi
+echo -n " Generating src/lang_cfg.h..."
+echo $f_langs | $f_perl -e '@l=split(/,/,<STDIN>);
+ chomp @l;
+ @allowed=(split(/,/,"NL,SV,CZ,FR,ID,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,MK,BR,DK,SK,UA,GR,TW,SR,CA,LT,ZA,AR,FA,SC,VI,TR,EO,AM"));
+ 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