# Doxygen 1.9.1
# =============
# I'll leave .org set as the home page URL, but FYI - the www.doxygen.org
# URL currently redirects here:
# https://www.doxygen.nl/index.html
# Slackware 14.0: doxygen 1.8.1.1
# Slackware 14.1: doxygen 1.8.5
# Slackware 14.2: doxygen 1.8.9.1
# Slackware current (as this is written): doxygen 1.9.1
# Prerequisites:
# flex (< 2.4.31, see below)
# bison
# libiconv
# Perl
# Qt >= 4.3 (for the GUI front-end doxywizard)
# A LaTeX such as TeX Live or the no longer maintained TeTeX (for LaTeX, PS, and PDF output)
# GraphViz >= 2.38
# - with support for FreeType
# Ghostscript
# Python >= 2.7 (for 'make docs')
# CMake >= 3.3
# I've had trouble building older versions with certain versions of flex,
# ones newer than the version that comes with Slackware. With Doxygen
# 1.5.1 and Slackware's flex 2.5.4a package it was fine, and after that
# it was fine with Doxygen 1.5.5 and flex 2.5.34
# Get the source
cd
test -f installed/doxygen-1.9.1.src.tar.gz &&
mv installed/doxygen-1.9.1.src.tar.gz .
test ! -f doxygen-1.9.1.src.tar.gz &&
wget https://doxygen.nl/files/doxygen-1.9.1.src.tar.gz
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "doxygen-*" -exec rm -r {} \;
tar xzvf ~/doxygen-1.9.1.src.tar.gz
cd doxygen-1.9.1
test $UID = 0 && chown -R root:root .
# Create a directory for build files
mkdir -p build
cd build
# If you have compiled it before, clean up
test -f Makefile && make clean
test -f CMakeCache.txt && rm CMakeCache.txt
# List configuration options
cmake -L ..
# Below english_only is specified to only compile in support for English,
# if you want Doxygen-generated documentation in other languages, leave off
# -Denglish_only=ON
# If you want Doxygen documentation, add -Dbuild_doc=YES
# Configure the build with CMake
cmake -G "Unix Makefiles" -Denglish_only=ON ..
# Build it
make
# Test the build
make tests
# Build the documentation (if you used -Dbuild_doc=YES above)
make docs
# Become root to install Doxygen
su
# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg doxygen
# Install it
make install
# Become yourself again
exit
# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/doxygen-*.src.tar.*
mv doxygen-1.9.1.src.tar.gz installed/
# If you ever want to uninstall Doxygen, look in install_manifest.txt
# in the source build directory that you created, remove everything
# in there as root, then remove the source and the tarball
find ~/src -maxdepth 1 -type d -name "doxygen-*" -exec rm -r {} \;
rm -f ~/installed/doxygen-*.tar.*