Created SILC Runtime Toolkit git repository Part I.
[runtime.git] / apps / autodist / autodist.in
diff --git a/apps/autodist/autodist.in b/apps/autodist/autodist.in
deleted file mode 100755 (executable)
index e3b67b7..0000000
+++ /dev/null
@@ -1,2066 +0,0 @@
-#!/bin/sh
-#
-# Author: Pekka Riikonen <priikone@silcnet.org>
-#
-# Copyright (C) 2005 - 2007 Pekka Riikonen
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-#   1. Redistributions of source code must retain the above copyright
-#      notice, this list of conditions and the following disclaimer.
-#   2. Redistributions in binary form must reproduce the above copyright
-#      notice, this list of conditions and the following disclaimer in the
-#      documentation and/or other materials provided with the distribution.
-#   3. The name of the author may not be used to endorse or promote
-#      products derived from this software without specific prior written
-#      permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
-# NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-###############################################################################
-# Shell compatibility
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  # Despite of this, we have managed to segfault some zsh's.
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    $as_unset $as_var
-  fi
-done
-
-
-###############################################################################
-# Global variables
-
-# Packaging and compressing
-ad_gzip=true
-ad_bzip2=false
-ad_compress=false
-ad_zip=false
-
-# Distribution subdirectory
-distdir="distdir"
-am_distdir=
-
-# This current distribution
-distribution=default
-distfile=$distribution
-dist_version=0.0
-package=
-bug_report=
-
-# All inherited distributions in this distribution
-inherits=
-
-# All distribution defines for this distribution
-distdefs=
-
-# All distribution undefines for this distribution
-undistdefs=
-
-# All distribution options
-doptions=
-opt_template=false
-opt_no_dist=false
-opt_no_inherit=false
-
-# All includes
-includes=
-
-# All excludes
-excludes=
-
-# All noprocesses
-noprocess=
-
-# All hooks
-pre_hooks=
-post_hooks=
-pre_dist_hooks=
-post_dist_hooks=
-pre_p_dist_hooks=
-post_p_dist_hooks=
-
-# Distribution license and license header
-license=
-licenseh=
-
-# Whether to output ad_debug information
-debug=false
-nolog=false
-
-# Autodist version
-ver=@VERSION@
-
-###############################################################################
-# Configuration file
-if test -f "$distdir/autodist.conf"; then
-  . $distdir/autodist.conf
-fi
-
-DP=$DISTPREFIX
-
-
-###############################################################################
-# Functions
-
-#
-# Print out debug information if debugging is enabled.  To enable debugging
-# set the global variable "debug" to true value.
-#
-# Arguments: ad_debug <ad_debug string>
-#
-ad_debug()
-{
-  if test x$debug = xtrue; then
-    set -f
-    echo autodist: $1
-    set +f
-  fi
-}
-
-#
-# Prints out error message and exits the script.
-#
-# Arguments: ad_fatal <error message>
-#
-ad_fatal()
-{
-  set -f
-  ad_log "error: $1"
-  echo autodist: error: $1
-  set +f
-  exit 1
-}
-
-#
-# Prints out warning message
-#
-# Arguments: ad_warning <warning message>
-#
-ad_warning()
-{
-  set -f
-  ad_log "warning: $1"
-  echo autodist: warning: $1
-  set +f
-}
-
-#
-# Opens a log file.
-#
-# Arguments: ad_log_open <logfile>
-#
-ad_log_open()
-{
-  rm -rf $1
-  exec 5> $1
-
-  cat >&5 << EOF
-This file contains messages produced by the Autodist $ver.
-
-EOF
-}
-
-#
-# Prints to an open log file
-#
-# Arguments: ad_log
-#
-ad_log()
-{
-  if test x$nolog = xfalse; then
-    echo "$1" >&5
-  fi
-}
-
-#
-# Initializes the Autodist environment, creates default distribution
-# directory, and default distribution.
-#
-# Arguments: ad_initialize
-#
-ad_initialize()
-{
-  ad_debug "Initializing Autodist environment"
-
-  # Create default distdir
-  if test '!' -f $distdir; then
-    mkdir -p -- $distdir
-  fi
-
-  # Create Autodist configuration file
-  if test -f @AUTODISTDIR@/autodist.conf; then
-    cp -p @AUTODISTDIR@/autodist.conf $distdir
-  fi
-
-  # Create default distribution
-  if test -f @AUTODISTDIR@/default; then
-    cp -p @AUTODISTDIR@/default $distdir
-  fi
-
-  ad_debug "Autodist environment initialized"
-}
-
-#
-# Creates the distdefs header file including defined distdefs
-#
-# Arguments: ad_create_distdefs_h
-#
-ad_create_distdefs_h()
-{
-  ad_debug "Creating distdef header file"
-
-  fname=$DISTDEFS
-  rm -f $fname
-  cat > $fname <<EOF
-/*
-  Automatically generated by Autodist $ver.  Do not edit.
-
-  Generated: `date` by `whoami`
-  Distribution: $distribution
-  License: $license
-*/
-
-#ifndef _`echo $DP`_DISTDEFS_H
-#define _`echo $DP`_DISTDEFS_H
-
-EOF
-
-  for i in $distdefs
-  do
-    echo "#define $i 1" >>$fname
-  done
-
-  cat >> $fname <<EOF
-
-#endif /* _`echo $DP`_DISTDEFS_H */
-EOF
-
-  ad_debug "Distdef header file created"
-}
-
-#
-# Creates the main configure script for the distribution.  This runs
-# the aclocal, autoheader and autoconf tools.
-#
-# Arguments: ad_make_configure
-#
-ad_make_configure()
-{
-  local run_autoconf=false
-
-  ad_debug "Starting configure creation"
-
-  rm -f configure
-
-  if test "$ACLOCAL"; then
-    ad_debug "Running aclocal"
-    if test x$debug = xtrue; then
-      $ACLOCAL
-    else
-      $ACLOCAL 1>/dev/null 2>/dev/null
-    fi
-    if test $? != 0; then
-      ad_fatal "aclocal failed"
-    fi
-  fi
-
-  if test "$AUTOCONF"; then
-    ad_debug "Running autoconf"
-    $AUTOCONF
-    if test $? != 0; then
-      ad_fatal "autoconf failed"
-    fi
-    run_autoconf=true
-  fi
-
-  if test "$AUTOHEADER"; then
-    ad_debug "Running autoheader"
-    $AUTOHEADER
-    if test $? != 0; then
-      ad_fatal "autoheader failed"
-    fi
-  fi
-
-  if test "$LIBTOOLIZE"; then
-    ad_debug "Running libtoolize"
-    $LIBTOOLIZE
-    if test $? != 0; then
-      ad_fatal "libtoolize failed"
-    fi
-  fi
-
-  if test x$run_autoconf = xtrue; then
-    if test '!' -f configure; then
-      ad_fatal "creating configure script failed"
-    fi
-  fi
-
-  ad_debug "Ending configure creation"
-}
-
-#
-# Creates the configure.ac script from the configure.ad fragments in
-# the source tree.  Takes the source configure file as argument which
-# is used to create the actual configure.ac.
-#
-# Arguments: ad_make_configure_ac <configure_ac_source>
-#
-ad_make_configure_ac()
-{
-  local check
-
-  ad_debug "Starting creating configure.ac: $1"
-
-  ad_log ""
-  ad_log "Following configure.ad files were processed into configure.ac:"
-  ad_log "--------------------------------------------------------------"
-
-  if test '!' -f $1; then
-    ad_fatal "The configure file '$1' does not exist"
-  fi
-
-  check="`sed 's/^[    ]*//' < $1 | grep -v "^#" | grep -e "AD_INIT"`"
-  if test -z $check; then
-    rm -f configure.ad.cfs
-    rm -f $fname $fname.tmp
-    ad_fatal "The 'AD_INIT' macro has not been set in configure.ac"
-  fi
-
-  rm -f configure.ac configure.ad.cfs
-
-  cfs=`find . -type f -name configure\*\.ad`
-  for i in $cfs
-  do
-    if test "x$i" = "x$1"; then
-      continue
-    fi
-
-    ad_debug "including $i"
-    ad_log "  $i"
-
-    cat $i >> configure.ad.cfs
-  done
-
-  if test -f configure.ad.cfs; then
-    check="`sed 's/^[  ]*//' < $1 | grep -v "^#" | grep -e "AD_INCLUDE_CONFIGURE"`"
-    if test -z $check; then
-      rm -f configure.ad.cfs
-      ad_warning "configure.ad fragments found but 'AD_INCLUDE_CONFIGURE' is not set"
-    fi
-  fi
-
-  # Header for configure.ac
-  fname="configure.tmp.ac"
-  cat > $fname <<EOF
-# Automatically generated by Autodist $ver.  Do not edit.
-# To make changes edit the configure.ad file in the source tree.
-
-# Source: configure.ad
-# Generated: `date` by `whoami`
-# Distribution: $distribution
-# License: $license
-
-EOF
-
-  ad_debug "creating configure.ac"
-  if test -f configure.ad.cfs; then
-    sed '/^AD_INCLUDE_CONFIGURE/ r configure.ad.cfs' $1 > $fname.tmp
-    sed -e "/^AD_INCLUDE_CONFIGURE/d" $fname.tmp >> $fname
-    rm -f configure.ad.cfs $fname.tmp
-  else
-    cat $1 >> $fname
-  fi
-
-  # Process AD_INIT
-  sed -e "/AD_INIT/s//AC_INIT([$distribution], [$dist_version], [$bug_report], [$package])/" $fname > $fname.tmp
-
-  # Remove AD_DISABLE_DEPENDENCIES
-  sed -e "/^AD_DISABLE_DEPENDENCIES/d" $fname.tmp > $fname
-
-  # Process for distribution
-  rm -f $fname.tmp
-  ad_process_file $fname $fname.tmp false
-
-  # Remove any trailing backslashes
-  if test -f "$fname.tmp"; then
-    sed -e :a -e '/\\$/N; s/[  ]*\\\n//; ta' < $fname.tmp > configure.ac
-  else
-    cp -p $fname configure.ac
-  fi
-  rm -f $fname $fname.tmp
-
-  ad_log "  ./configure.ad"
-  ad_log ""
-
-  ad_debug "Ending creating configure.ac: $1"
-}
-
-#
-# Creates the Makefile.in files by running the automake tool.
-#
-# Arguments: ad_make_makefile_ins
-#
-ad_make_makefile_ins()
-{
-  ad_debug "Starting creating Makefile.in files"
-
-  if test "$AUTOMAKE"; then
-    ad_debug "Running automake"
-    $AUTOMAKE
-    if test $? != 0; then
-      ad_fatal "automake failed"
-    fi
-  fi
-
-  ad_debug "Ending creating Makefile.in files"
-}
-
-#
-# Creates the Makefile.am files from the Makefile.ad files in the
-# source tree.  This runs the distribution specific processing for the
-# Makefile.ad files.
-#
-# Arguments: ad_make_makefile_ams
-#
-ad_make_makefile_ams()
-{
-  ad_debug "Starting creating Makefile.am files"
-
-  ad_log ""
-  ad_log "Following Makefile.ad files were processed into Makefile.am files:"
-  ad_log "------------------------------------------------------------------"
-
-  files=`find . -type f -name Makefile\.ad`
-  for ff in $files
-  do
-    ad_log "  $ff"
-    fname=`echo $ff | sed s/\.ad//`
-    ad_make_makefile_am $ff $fname.am
-  done
-  ad_log ""
-
-  ad_debug "Ending creating Makefile.am files"
-}
-
-#
-# Creates Makefile.am file from the Makefile.ad file.
-#
-# Arguments: ad_make_makefile_am <src> <dst>
-#
-ad_make_makefile_am()
-{
-  local am_deps=true
-  local f=$1
-  local fname=$2
-
-  # Disable dependencies if requested
-  dc=`sed 's/^[        ]*//' < configure.ad | grep -v "^#" \
-    | grep "AD_DISABLE_DEPENDENCIES"`
-  if test "$dc" = "AD_DISABLE_DEPENDENCIES"; then
-    am_deps=false
-  fi
-
-  # Header for the Makefile.am
-  cat > $fname <<EOF
-# Automatically generated by Autodist $ver from Makefile.ad.  Do not edit.
-# To make changes edit the $f file in the source tree.
-
-# Source: $f
-# Generated: `date` by `whoami`
-# Distribution: $distribution
-# License: $license
-
-EOF
-
-  # Run the distribution processing for this Makefile.ad
-  ad_debug "Processing $f to be $fname"
-  ad_process_file $f $fname.tmp false
-
-  # Remove any trailing backslashes
-  if test -f "$fname.tmp"; then
-    sed -e :a -e '/\\$/N; s/[  ]*\\\n//; ta' < $fname.tmp >> $fname
-  else
-    cat $f >> $fname
-  fi
-
-  # Enable dependencies if requested
-  if test x$am_deps = xtrue; then
-    # Get list of configure.ad's to get them into deps also
-    cfs=`find . -type f -name configure\*\.ad`
-    cfs=`echo $cfs | sed 's/\.\///g'`
-
-    cat >> $fname <<EOF
-
-# S_AD_ENABLE_DEPENDENCIES
-\$(srcdir)/Makefile.am: Makefile.ad
-       cd \$(top_srcdir) && autodist -p makefile \$(subdir)/Makefile.ad \$(subdir)/Makefile.am && cd \$(subdir)
-\$(srcdir)/configure.ac: $cfs
-       cd \$(top_srcdir) && autodist -p configure \$(top_srcdir)/configure.ad && cd \$(subdir)
-# E_AD_ENABLE_DEPENDENCIES
-EOF
-  fi
-
-  rm -f $fname.tmp
-}
-
-#
-# Processes all files with .ad suffix, with exception of configure*.ad
-# and Makefile.ad files, for distribution from the source tree.
-#
-# Arguments: ad_process_ads false
-#
-ad_process_ads()
-{
-  ad_debug "Starting processing .ad files"
-
-  ad_log ""
-  ad_log "Following .ad files were processed:"
-  ad_log "-----------------------------------"
-
-  files=`find . -type f -name \*\.ad \! -name configure\*\.ad \! -name Makefile\.ad`
-  for i in $files
-  do
-    fname=`echo $i | sed s/\.ad//`
-    orig=$i
-
-    ad_debug "Processing $i to be $fname"
-    ad_log "  $i into $fname"
-
-    # Run the distribution processing for this file
-    ad_process_file $i $fname false
-
-    if test '!' -f "$fname"; then
-      cp -p $orig $fname || exit 1
-    fi
-  done
-  ad_log ""
-
-  ad_debug "Ending processing .ad files"
-}
-
-#
-# Includes files specified in the distribution for inclusion.  Used when
-# creating the distribution for packaging.
-#
-# include has the following format in distfile:
-#
-#   include <path> [<dest path>]
-#
-# If only source path, which may be file, directory or regular expression,
-# is specified the path will be same in distribution.  If the destination
-# path is specified that will be the new name and/or new location of the
-# source path.  This, in effect, is a cp utility with ability to create
-# directories if they do not exist.
-#
-# Arguments: ad_dist_includes <includeslist> <recursive> <log>
-#
-ad_dist_includes()
-{
-  local incs
-
-  ad_debug "Starting running includes: $1 $2"
-
-  if test x$3 = xtrue; then
-    ad_log ""
-    ad_log "Following files and directories were included in distribution:"
-    ad_log "--------------------------------------------------------------"
-  fi
-
-  # By default do not expand pathnames
-  set -f
-
-  # Add : separator at the end
-  incs="`echo "$1" | sed 's/$/ : /'`"
-
-  src=
-  dst=
-  for i in $incs
-  do
-    if test "$i" = ":" && test -z "$src"; then
-      continue
-    fi
-    if test -z "$src"; then
-      src=$i
-      continue
-    fi
-    if test -z "$dst" && test "$i" != ":"; then
-      dst=$i
-    else
-      dst=$src
-    fi
-
-    ad_debug "Including $src into $dst"
-
-    if test -f "$src"; then
-      # Add file
-
-      if test "$src" = "$dst"; then
-        # Add to same location
-        d=`echo $src | sed 's,/[^/]*$,,'`
-        if test "$d" != "$src" && test "$d" != "." && \
-          test '!' -d $am_distdir/$d; then
-          mkdir -p -- $am_distdir/$d || exit 1
-        fi
-      else
-        # Add to different location
-        check=`echo "$dst" | sed 's/?//; s/*//; s/\[//; s/\]//'`
-        if test "$check" != "$dst"; then
-          ad_fatal "Invalid destination in 'include $src $dst'"
-        fi
-
-        d=`echo $dst | sed 's,/[^/]*$,,'`
-        if test "$d" != "$dst" && test "$d" != "." && \
-          test '!' -d $am_distdir/$d; then
-          mkdir -p -- $am_distdir/$d || exit 1
-        fi
-      fi
-
-      if test x$3 = xtrue; then
-       ad_log "  $src into $am_distdir/$d"
-      fi
-      cp -p $src $am_distdir/$d || exit 1
-
-    elif test -d "$src"; then
-      # Add directory
-
-      if test "$src" = "$dst"; then
-       # Add to same location
-       d=`echo $src | sed 's,/[^/]*$,,'`
-       ds=`echo $src | sed 's/\/$//'`
-       if test "$ds" = "$d"; then
-          d=`echo $d | sed 's,/[^/]*$,,'`
-       fi
-       if test "$ds" = "$d"; then
-         d=""
-       fi
-       if test '!' -d $am_distdir/$d && test "$ds" != "$d"; then
-          mkdir -p -- $am_distdir/$d || exit 1
-       fi
-
-       if test x$3 = xtrue; then
-         ad_log "  $src into $am_distdir/$d"
-       fi
-       cp -pR $src $am_distdir/$d || exit 1
-      else
-       # Add to different location
-        check=`echo "$dst" | sed 's/?//; s/*//; s/\[//; s/\]//'`
-        if test "$check" != "$dst"; then
-          ad_fatal "Invalid destination in 'include $src $dst'"
-        fi
-
-        d=`echo $dst | sed 's,/[^/]*$,,'`
-        ds=`echo $dst | sed 's/\/$//'`
-        if test "$ds" = "$d"; then
-          d=`echo $d | sed 's,/[^/]*$,,'`
-        fi
-        if test '!' -d $am_distdir/$d && test "$dst" != "$d"; then
-          mkdir -p -- $am_distdir/$d || exit 1
-        fi
-
-       if test x$3 = xtrue; then
-         ad_log "  $src into $am_distdir/$dst"
-       fi
-        cp -pR $src $am_distdir/$dst || exit 1
-      fi
-
-    elif test x$2 != xtrue; then
-      # We assume regular expression in filename
-      check=`echo "$src" | sed 's/?//; s/*//; s/\[//; s/\]//'`
-      if test "$check" == "$src"; then
-       if test '!' -a $src; then
-         ad_fatal "Including $src: No such file or directory"
-       fi
-       src=
-       dst=
-       continue
-      fi
-
-      # Recursively call this function with expanded pathnames.  The
-      # reason why we don't let sh by default expand pathnames is that
-      # the include's destination is optional.  If sh expands by default
-      # we don't know the destination.  For this reason, we handle the
-      # expansion here ourselves.
-
-      # If src and dst are same, then expand the pathname as we'll copy
-      # matches to their own locations.
-      if test "$src" = "$dst"; then
-       # Expand pathnames, and format to our include format
-       set +f
-       srcs=`echo $src | sed -e 's/ / : /g' -e 's/^/ : /'` || exit 1
-       set -f
-      else
-       # Destination is new, and it has to be a directory.
-       check=`echo "$dst" | sed 's/?//; s/*//; s/\[//; s/\]//'`
-       if test "$check" != "$dst"; then
-         ad_fatal "Invalid destination in 'include $src $dst'"
-       fi
-
-       # Make sure dst has / at the end, as this must be a directory
-       dst=`echo $dst | sed 's/\/$//; s/$/\//'`
-
-       # Escape dst for sed
-       dste=`echo $dst | sed 's/\\//\\\\\//g'` || exit 1
-
-       # Expand pathnames, and format to our include format
-       set +f
-       srcs=`echo $src | sed -e "s/ / $dste : /g" \
-         -e 's/^/ : /' -e "s/$/ $dste/"` || exit 1
-       set -f
-      fi
-
-      # Include recursively
-      ad_dist_includes "$srcs" true
-
-    elif test '!' -a $src; then
-      ad_fatal "Including $src: No such file or directory"
-    fi
-
-    src=
-    dst=
-  done
-
-  if test x$3 = xtrue; then
-    ad_log ""
-  fi
-
-  set +f
-
-  ad_debug "Ending running includes: $1 $2"
-}
-
-#
-# Excludes files specified in the distribution for exclusion.  Used when
-# creating the distribution for packaging.
-#
-# exclude has the following format in distfile:
-#
-#  exclude <path>
-#
-# The path may be file, directory or regular expression.
-#
-# Arguments: ad_dist_includes <excludelist> <log>
-#
-ad_dist_excludes()
-{
-  ad_debug "Starting running excludes: $1"
-
-  if test x$2 = xtrue; then
-    ad_log ""
-    ad_log "Following files and directories were excluded from distribution:"
-    ad_log "----------------------------------------------------------------"
-  fi
-
-  cur=`pwd`
-  cd $am_distdir || exit 1
-  for i in $1
-  do
-    ad_debug "Excluding $i"
-    if test x$2 = xtrue; then
-      ad_log "  $i"
-    fi
-    rm -rf $i
-  done
-  cd $cur || exit 1
-
-  if test x$2 = xtrue; then
-    ad_log ""
-  fi
-
-  ad_debug "Ending running excludes: $1"
-}
-
-#
-# Processes the entire tree for distribution.  This inspects files other
-# than source and header files, with exception of any file with .ad
-# suffix, and performs distribution processing for the file.  The original
-# file is replaced with the processed file.  This function is used when
-# creating the distribution for packaging.
-#
-# Arguments: ad_process_tree <directory>
-#
-ad_process_tree()
-{
-  ad_debug "Starting processing non-source files: $1"
-
-  # Take files, except source and .ad files.
-  files=`find $am_distdir -type f \! -name \*\.ad \( \
-       \! -name \*\.[cC] -a \
-       \! -name \*\.[cC][cCpP] -a \
-       \! -name \*\.[cC][xX][xX] -a \
-       \! -name \*\.[cC][pP][pP] -a \
-       \! -name \*\.[cC]++ -a \
-       \! -name \*\.m -a \
-       \! -name \*\.mm -o \
-       \! -name \*\.M -o \
-       \! -name \*\.S -o \
-       \! -name \*\.[hH] -a \
-       \! -name \*\.hh -a \
-       \! -name \*\.[cC]\.in -a \
-       \! -name \*\.[cC][cCpP]\.in -a \
-       \! -name \*\.[cC][xX][xX]\.in -a \
-       \! -name \*\.[cC][pP][pP]\.in -a \
-       \! -name \*\.[cC]++\.in -a \
-       \! -name \*\.m\.in -a \
-       \! -name \*\.[hH]\.in -a \
-       \! -name \*\.hh\.in \)`
-  files=`echo $files | sed 's/$am_distdir//'`
-
-  for ff in $files
-  do
-    ad_process_file $ff $ff.tmp true
-    if test -f $ff.tmp; then
-      rm -f $ff || exit 1
-      mv -f $ff.tmp $ff || exit 1
-    fi
-  done
-
-  ad_debug "Ending processing non-source files: $1"
-}
-
-#
-# Processes the entire source tree for distribution.  This inspects files
-# in the source tree, with exception of any file with .ad suffix, and
-# performs distribution processing for the file.  The original file is
-# replaced with the processed file.  This function is used when creating
-# the distribution for packaging.
-#
-# Call this before ad_process_tree().
-#
-# Arguments: ad_process_source_tree <directory>
-#
-ad_process_source_tree()
-{
-  ad_debug "Starting processing source files: $1"
-
-  # We take only C/C++ (and other files that are run through traditional
-  # preprocessor) files since they use the C compiler friendly version
-  # of distdefs.  Other files are not assumed to use them.
-  files=`find $am_distdir -type f \! -name \*\.ad \( \
-       -name \*\.[cC] -o \
-       -name \*\.[cC][cCpP] -o \
-       -name \*\.[cC][xX][xX] -o \
-       -name \*\.[cC][pP][pP] -o \
-       -name \*\.[cC]++ -o \
-       -name \*\.m -o \
-       -name \*\.mm -o \
-       -name \*\.M -o \
-       -name \*\.S -o \
-       -name \*\.[hH] -o \
-       -name \*\.hh -o \
-       -name \*\.[cC]\.in -o \
-       -name \*\.[cC][cCpP]\.in -o \
-       -name \*\.[cC][xX][xX]\.in -o \
-       -name \*\.[cC][pP][pP]\.in -o \
-       -name \*\.[cC]++\.in -o \
-       -name \*\.m\.in -o \
-       -name \*\.[hH]\.in -o \
-       -name \*\.hh\.in \)`
-
-  for ff in $files
-  do
-    ad_process_source_file $ff $ff.tmp true
-    if test -f $ff.tmp; then
-      rm -f $ff || exit 1
-      mv -f $ff.tmp $ff || exit 1
-    fi
-  done
-
-  ad_debug "Ending processing source files: $1"
-}
-
-#
-# Removes Autodist dependencies, as they cannot be delivered to distribution.
-#
-# Arguments: ad_remove_dependencies <distdir>
-#
-ad_remove_dependencies()
-{
-  ad_debug "Removing dependencies"
-
-  ams=`find $1 -type f -name Makefile\.\*`
-  for i in $ams
-  do
-    sed -e "/^# S_AD_ENABLE_DEPENDENCIES/,/^# E_AD_ENABLE_DEPENDENCIES/d" $i > $i.tmp
-    mv $i.tmp $i
-  done
-}
-
-#
-# Makes distribution sane, ala modtimes.  Since we modify the distribution
-# we need to make it sane after that.
-#
-# Arguments: ad_makedist_makesane
-#
-ad_makedist_makesane()
-{
-  ad_debug "Making distribution file modtimes sane"
-
-  # DO NOT change these order unless you know what you are doing.
-  if test -f $am_distdir/configure.ac; then
-    touch $am_distdir/configure.ac
-  fi
-
-  if test -f $am_distdir/aclocal.m4; then
-    touch $am_distdir/aclocal.m4
-  fi
-
-  if test '!' -f Makefile; then
-    ad_fatal "Makefile: No such file or directory"
-  fi
-
-  configh=`grep "^CONFIG_HEADER" Makefile | cut -d= -f2 | sed 's/^[    ]*//'`
-  touch $am_distdir/$configh.in 1>/dev/null 2>/dev/null
-
-  files=`find $am_distdir -type f -name Makefile\.in`
-  for i in $files
-  do
-    touch $i
-  done
-
-  if test -f $am_distdir/configure; then
-    touch $am_distdir/configure
-  fi
-
-  if test -f $am_distdir/config.status; then
-    touch $am_distdir/config.status
-  fi
-
-  ad_debug "Distribution made sane"
-}
-
-#
-# Creates distribution of the source tree.  All files in the distribution
-# will be processed and the distribution will be packaged.
-#
-# Arguments: ad_makedist
-#
-ad_makedist()
-{
-  ad_log_open "makedist.log"
-  ad_debug "Starting distribution creation"
-
-  ad_log "Created distribution"
-  ad_log "--------------------"
-  ad_log ""
-
-  if test '!' -f autodist.dist; then
-    ad_fatal "Autodist has not been run yet to prepare source tree"
-  fi
-
-  if test -z $MAKE; then
-    ad_fatal "The MAKE variable is not set in autodist.conf"
-  fi
-
-  # Get distdir from Makefile
-  if test '!' -f Makefile; then
-    ad_fatal "The source tree is not configured, run ./configure first"
-  fi
-
-  # Parse the requested distribution
-  distribution=`grep "dist:" < autodist.dist | cut -d: -f2` || exit 1
-  dist_version=`grep "ver:" < autodist.dist | cut -d: -f2` || exit 1
-  am_distdir=`grep "distdir:" < autodist.dist | cut -d: -f2` || exit 1
-  params=`grep "params:" < autodist.dist | cut -d: -f2` || exit 1
-  ad_parse_distribution $distribution false
-  ad_log "  Distribution: $distribution $dist_version"
-  ad_log "  Destination directory: $am_distdir"
-  ad_log ""
-  ad_process_distdefs
-
-  if test x$opt_no_dist = xtrue; then
-    ad_fatal "The '$distribution' distribution cannot be packaged"
-  fi
-
-  # Run pre-dist-hooks
-  ad_run_dist_hooks "$pre_dist_hooks" "$params"
-
-  # Create distribution directory
-  ad_debug "Creating distribution directory $am_distdir"
-  $MAKE distdir || exit 1
-  chmod -R a+r $am_distdir
-
-  if test '!' -d $am_distdir; then
-    ad_fatal "Distribution directory $am_distdir not created"
-  fi
-
-  # Run pre-process-dist-hooks
-  ad_run_dist_hooks "$pre_p_dist_hooks" "$params"
-
-  # Run excludes
-  ad_dist_excludes "$excludes" true
-
-  # Run includes
-  ad_dist_includes "$includes" false true
-
-  # Include specific license file if specified
-  if test "$license" != ""; then
-    ad_log ""
-    ad_log "License file in distribution:"
-    ad_log "-----------------------------"
-    ad_log "  $license into $am_distdir/COPYING"
-    ad_log ""
-    cp -p $license $am_distdir/COPYING || exit 1
-  fi
-
-  # Remove dependencies
-  ad_remove_dependencies $am_distdir
-
-  # Process noprocesses, first pass
-  ad_process_noprocess true
-
-  ad_log ""
-  ad_log "Following files were not re-licensed:"
-  ad_log "-------------------------------------"
-
-  # Process source files
-  ad_debug "Process distribution source tree"
-  ad_process_source_tree $am_distdir
-
-  # Process non-source files
-  ad_debug "Process distribution tree"
-  ad_process_tree $am_distdir
-
-  ad_log ""
-
-  # Process noprocesses, second pass
-  ad_process_noprocess false
-
-  # Run post-process_dist-hooks
-  ad_run_dist_hooks "$post_p_dist_hooks" "$params"
-
-  # Make distribution sane
-  ad_makedist_makesane
-
-  # Package
-  ad_debug "Packaging distribution"
-  tar chof $am_distdir.tar $am_distdir || exit 1
-
-  # Compress
-  ad_debug "Compressing distribution package"
-  if test x$ad_gzip = xtrue; then
-    ad_debug "Compressing distribution package $am_distdir.tar.gz"
-    gzip -9 -c $am_distdir.tar > $am_distdir.tar.gz || exit 1
-  fi
-  if test x$ad_bzip2 = xtrue; then
-    ad_debug "Compressing distribution package $am_distdir.tar.bz2"
-    bzip2 -9 -c $am_distdir.tar > $am_distdir.tar.bz2 || exit 1
-  fi
-  if test x$ad_compress = xtrue; then
-    ad_debug "Compressing distribution package $am_distdir.tar.Z"
-    compress -c $am_distdir.tar > $am_distdir.tar.Z || exit 1
-  fi
-  if test x$ad_zip = xtrue; then
-    rm -f $am_distdir.zip
-    ad_debug "Compressing distribution package $am_distdir.zip"
-    zip -rq $am_distdir.zip $am_distdir || exit 1
-  fi
-  rm -f $am_distdir.tar
-
-  # Run post-dist-hooks
-  ad_run_dist_hooks "$post_dist_hooks" "$params"
-
-  # Cleanup
-  rm -rf $am_distdir
-
-  ad_log "Distribution created successfully."
-
-  ad_debug "Ending distribution creation"
-}
-
-#
-# Handles distribution options.
-#
-# option has the following format in distfile:
-#
-#   option <option>
-#
-# Following options are supported:
-#
-#   template
-#   no-dist
-#   no-inherit
-#
-# Arguments: ad_handle_options <options>
-#
-ad_handle_options()
-{
-  ad_debug "Handling options: $1"
-
-  for i in $1
-  do
-    if test "$i" = "template"; then
-      opt_template=true
-      continue
-    elif test "$i" = "no-dist"; then
-      opt_no_dist=true
-      continue
-    elif test "$i" = "no-inherit"; then
-      opt_no_inherit=true
-      continue
-    fi
-  done
-}
-
-#
-# Clears set options
-#
-# Arguments: ad_clear_options
-#
-ad_clear_options()
-{
-  opt_template=false
-  opt_no_dist=false
-  opt_no_inherit=false
-}
-
-#
-# Parses the distribution.  Gets all distribution defines from the
-# distribution.  This also expands all inherited distributions recursively
-# to get all inherited distribution defines.  From inherited distributions
-# their name and package name is not inherited.
-#
-# Arguments: ad_parse_distribution <distribution name> <inherit>
-#
-ad_parse_distribution()
-{
-  local inhs
-  local defs
-  local undefs
-  local incs
-  local excs
-  local nops
-  local opts
-  local dname
-  local dpname
-  local bugr
-  local prh
-  local poh
-  local prdh
-  local podh
-  local prpdh
-  local popdh
-
-  ad_debug "Starting parsing distribution: $1 $2"
-
-  if test '!' -f $distdir/$1; then
-    ad_fatal "Distribution '$1' is not declared"
-  fi
-
-  # Get and enforce prereq version
-  prereq=`sed 's/^[    ]*//' < $distdir/$1 | grep -v "^#" \
-    | grep "prereq " | cut -d' ' -f2- | sort | uniq`
-  if test '!' -z $prereq; then
-    if test "$ver" \< "$prereq"; then
-      ad_fatal "Autodist $prereq or newer is required for distribution $1"
-    fi
-  fi
-
-  # Get inherited
-  inhs=`sed 's/^[      ]*//' < $distdir/$1 | grep -v "^#" \
-    | grep "inherit " | cut -d' ' -f2 | sort | uniq`
-
-  # Get distdefs
-  defs=`sed 's/^[      ]*//' < $distdir/$1 | grep -v "^#" \
-   | grep "define " | cut -d' ' -f2 | sort | uniq`
-
-  if test "$inhs" = "" && test "$defs" = ""; then
-    ad_fatal "Distribution '$1' does not define anything"
-  fi
-
-  # Get undefined distdefs
-  undefs=`sed 's/^[    ]*//' < $distdir/$1 | grep -v "^#" \
-   | grep "undef " | cut -d' ' -f2 | sort | uniq`
-
-  # Get includes
-  incs=`sed 's/^[      ]*//' < $distdir/$1 | grep -v "^#" \
-    | grep "include " | sed 's/include / : /'`
-
-  # Get excludes
-  excs=`sed 's/^[      ]*//' < $distdir/$1 | grep -v "^#" \
-    | grep "exclude " | cut -d' ' -f2- | sort | uniq`
-
-  # Get noprocesses
-  nops=`sed 's/^[      ]*//' < $distdir/$1 | grep -v "^#" \
-    | grep "noprocess " | cut -d' ' -f2- | sort | uniq`
-
-  # Get options
-  opts=`sed 's/^[      ]*//' < $distdir/$1 | grep -v "^#" \
-    | grep "option " | cut -d' ' -f2- | sort | uniq`
-
-  # Check options
-  ad_handle_options "$opts"
-  if test x$2 = xtrue && test x$opt_no_inherit = xtrue; then
-    ad_fatal "Distribution '$1' cannot be inherited"
-  fi
-  if test x$2 = xfalse && test x$opt_template = xtrue; then
-    ad_fatal "Template distribution '$1' cannot be prepared or packaged"
-  fi
-
-  ad_debug "inherits: $inhs"
-  ad_debug "distdefs: $defs"
-  ad_debug "includes: $incs"
-  ad_debug "excludes: $excs"
-  ad_debug "noprocess: $nops"
-  ad_debug "undistdefs: $undefs"
-  ad_debug "options: $opts"
-
-  # Expand distdefs from inherited distributions
-  for i in $inhs
-  do
-    if test x$1 = x$i; then
-      ad_fatal "Infinite recursion detected.  Fix the '$distdir/$1' \
-            distribution to not have 'inherit $i' declared."
-    fi
-
-    if test '!' -f $distdir/$i; then
-      ad_fatal "Distribution '$i' is not declared (inherited from '$1')"
-    fi
-
-    ad_parse_distribution $i true
-    ad_clear_options
-  done
-
-  # Get license
-  license=`sed 's/^[   ]*//' < $distdir/$1 | grep -v "^#" \
-    | grep "license " | cut -d' ' -f2`
-  licenseh=`sed 's/^[  ]*//' < $distdir/$1 | grep -v "^#" \
-    | grep "license-header " | sed 's/license-header / : /'`
-
-  ad_debug "license: $license"
-  ad_debug "licenseh: $licenseh"
-
-  if test x$2 = xfalse; then
-    # Take rest of the stuff from top distribution
-
-    # We take precedence on defined and undefined distdefs.  Remove
-    # undefined distdefs if we have defined them.
-    for d in $defs
-    do
-      ad_debug "defining undefined $d distdef"
-      undistdefs=`echo $undistdefs | sed s/$d//g`
-    done
-
-    # Get distribution name
-    dname=`sed 's/^[   ]*//' < $distdir/$1 | grep -v "^#" \
-      | grep "name " | cut -d' ' -f2-`
-
-    if test "$dname"; then
-      distribution=$dname
-    fi
-
-    # Get distribution package name (optional)
-    dpname=`sed 's/^[  ]*//' < $distdir/$1 | grep -v "^#" \
-     | grep "package " | cut -d' ' -f2`
-
-    if test "$dpname"; then
-      package=$dpname
-    else
-      package=$distribution
-    fi
-
-    # Get Bug-report email address (optional)
-    bugr=`sed 's/^[    ]*//' < $distdir/$1 | grep -v "^#" \
-     | grep "bug-report " | cut -d' ' -f2-`
-
-    if test "$bugr"; then
-      bug_report=$bugr
-    fi
-
-    ad_debug "distribution: $distribution"
-    ad_debug "package: $package"
-    ad_debug "bug-report: $bug_report"
-
-    # Get hooks (optional)
-    prh=`sed 's/^[     ]*//' < $distdir/$1 | grep -v "^#" \
-     | grep "pre-hook " | cut -d' ' -f2-`
-    poh=`sed 's/^[     ]*//' < $distdir/$1 | grep -v "^#" \
-     | grep "post-hook " | cut -d' ' -f2-`
-    prdh=`sed 's/^[    ]*//' < $distdir/$1 | grep -v "^#" \
-     | grep "pre-dist-hook " | cut -d' ' -f2-`
-    podh=`sed 's/^[    ]*//' < $distdir/$1 | grep -v "^#" \
-     | grep "post-dist-hook " | cut -d' ' -f2-`
-    prpdh=`sed 's/^[   ]*//' < $distdir/$1 | grep -v "^#" \
-     | grep "pre-process-dist-hook " | cut -d' ' -f2-`
-    popdh=`sed 's/^[   ]*//' < $distdir/$1 | grep -v "^#" \
-     | grep "post-process-dist-hook " | cut -d' ' -f2-`
-
-    pre_hooks="$pre_hooks $prh"
-    post_hooks="$post_hooks $poh"
-    pre_dist_hooks="$pre_dist_hooks $prdh"
-    post_dist_hooks="$post_dist_hooks $podh"
-    pre_p_dist_hooks="$pre_p_dist_hooks $prpdh"
-    post_p_dist_hooks="$post_p_dist_hooks $popdh"
-    doptions="$doptions $opts"
-
-    ad_handle_options "$doptions"
-    ad_debug "options: $doptions"
-  fi
-
-  # Return to caller
-  inherits="$inherits $inhs"
-  distdefs="$distdefs $defs"
-  includes="$includes $incs"
-  excludes="$excludes $excs"
-  noprocess="$noprocess $nops"
-  undistdefs="$undistdefs $undefs"
-
-  ad_debug "Ending parsing distribution: $1 $2"
-}
-
-#
-# Processes parsed distdefs.  Removes duplicates, and undefined distdefs
-# from the distdefs.
-#
-# Arguments: ad_process_distdefs
-#
-ad_process_distdefs()
-{
-  ad_debug "Starting processing distdefs"
-
-  ad_log ""
-  ad_log "Following distdefs were processed:"
-  ad_log "----------------------------------"
-
-  # Remove all undefined distribution defines
-  for i in $undistdefs
-  do
-    ad_debug "undefining $i distdef"
-    distdefs=`echo $distdefs | sed s/$i//g`
-  done
-
-  rm -f autodist.tmp.defs
-
-  # Remove duplicate distdefs
-  for i in $distdefs
-  do
-    echo $i >>autodist.tmp.defs
-  done
-  distdefs=`sort < autodist.tmp.defs | uniq`
-  distdefs=`echo $distdefs`
-  rm -f autodist.tmp.defs
-
-  # Log
-  for i in $distdefs
-  do
-    ad_log "  $i"
-  done
-  ad_log ""
-
-  ad_debug "distdefs=$distdefs"
-
-  ad_debug "Ending processing distdefs"
-}
-
-#
-# Processes for a license header change.
-#
-# Arguments: ad_process_license_header <scriptfile> <sourcefile>
-#
-ad_process_license_header()
-{
-  ad_debug "Starting license header processing"
-
-  # Add : separator at the end
-  lics=`echo "$licenseh" | sed 's/$/ : /'`
-
-  src=
-  dst=
-  for i in $lics
-  do
-    if test "$i" = ":" && test -z "$src"; then
-      continue
-    fi
-    if test -z "$src"; then
-      src=$i
-      continue
-    fi
-    if test -z "$dst" && test "$i" != ":"; then
-      dst=$i
-    else
-      ad_fatal "Missing argument in 'license-header $src'"
-    fi
-
-    ad_debug "Replacing $src license with $dst license"
-
-    if test '!' -f $src; then
-      ad_fatal "License header $src: No such file or directory"
-    fi
-
-    if test '!' -f $dst; then
-      ad_fatal "License header $dst: No such file or directory"
-    fi
-
-    # Awk script to replace the license header
-    fl=`sed q $src | sed 's/\\//\\\\\//g' > autodist.lsrc` || exit 1
-    ll=`sed -n '$p' $src | sed 's/\\//\\\\\//g' > autodist.ldst` || exit 1
-    echo "BEGIN { N=0; } /`cat autodist.lsrc`/,/`cat autodist.ldst`/ { FILE1=\"$src\"; FILE2=\"$dst\"; getline F1 < FILE1; getline F2 < FILE2; if (F1) { N=sub(F1, F2); } else { F1=\"\$\"; N=sub(F1, F2); } if (N == 0) print 0 > \"$2.norelicense\"; } END { if (N == 0) print 0 > \"$2.norelicense\"; }" >> $1
-    rm -f autodist.lsrc autodist.ldst
-
-    src=
-    dst=
-  done
-
-  ad_debug "Ending license header processing"
-}
-
-#
-# Process specified noprocesses.  This is called during makedist.
-# The noprocess first copies the noprocess files and dirs into a temp
-# directory, and then removes them from the distdir.  This way they are
-# not processed by Autodist.  After processing they are returned to their
-# correct locations from the temp dir.  Dirty, yeah, but the way we do
-# this until better one comes along.
-#
-# Arguments: ad_process_noprocess <process>
-#
-# If <process> is true this excludes and if false this includes.
-#
-ad_process_noprocess()
-{
-  ad_debug "Starting running noprocesses"
-
-  set -f
-
-  cur=`pwd`
-
-  if test x$1 = xtrue; then
-    ad_log ""
-    ad_log "Following files and directories were not processed:"
-    ad_log "---------------------------------------------------"
-
-    f="$cur/autodist__noprocess"
-    rm -rf $f
-    mkdir -p -- $f || exit 1
-
-    # First, include them to new location with correct directory structure.
-    old_am_distdir="$am_distdir"
-    cd $am_distdir || exit 1
-    am_distdir="$f"
-    nops=" $noprocess"
-    nops=`echo $nops | sed -e 's/ / : /g' -e 's/^/ : /'` || exit 1
-    ad_dist_includes "$nops" false false
-    am_distdir="$old_am_distdir"
-
-    # Then, remove from distdir (they are in temp dir now)
-    for i in $noprocess
-    do
-      ad_log "  $i"
-      rm -rf $i
-    done
-    cd $cur || exit 1
-
-    ad_log ""
-  else
-    # Copy from the temp dir back to distdir
-    cd autodist__noprocess || exit 1
-    old_am_distdir="$am_distdir"
-    am_distdir="$cur/$old_am_distdir"
-    nops=" $noprocess"
-    nops=`echo $nops | sed -e 's/ / : /g' -e 's/^/ : /'` || exit 1
-
-    ad_dist_includes "$nops" false false
-
-    am_distdir="$old_am_distdir"
-    cd $cur || exit 1
-    rm -rf autodist__noprocess
-  fi
-
-  set +f
-
-  ad_debug "Ending running noprocesses"
-}
-
-#
-# Process a file given as argument for the distribution.
-#
-# Arguments: ad_process_file <filepath> <dest_filepath> <re-license>
-#
-ad_process_file()
-{
-  local found=false
-  local f
-  local defs
-  local ndefs
-
-  # Process only regular files
-  if test '!' -f $1; then
-    return
-  fi
-
-  ad_debug "Starting processing file: $1 $2"
-
-  f="autodist.tmp.script"
-  rm -f $f
-
-  # If license header is provided, replace the license header in the file.
-  if test x$3 = xtrue; then
-    ad_process_license_header $f $1
-  fi
-
-  # Get defined distribution defines
-  defs=`awk "/^#ifdef "$DP"_DIST_|^#else "$DP"_DIST_/ { print; }" \
-    $1 |cut -d'*' -f2 |cut -d' ' -f2 | sort | uniq`
-
-  # Get explicitly not-defined distribution defines
-  ndefs=`awk "/^#ifndef "$DP"_DIST_|^#else !"$DP"_DIST_/ { print; }" \
-    $1 |cut -d'*' -f2 |cut -d' ' -f2 | cut -d'!' -f2 | sort | uniq`
-
-  ad_debug "defs in $1: $defs"
-  ad_debug "ndefs in $1: $ndefs"
-
-  # Create the script to include and exclude stuff in the file according
-  # to the distribution defines
-
-  # ifdefs
-  ad_debug "processing ifdefs"
-  for d in $defs
-  do
-    found=false
-    for i in $distdefs
-    do
-      if test x$d = x$i; then
-        found=true
-        break
-      fi
-    done
-
-    # If distribution define was not found exclude those lines from the file.
-    # This also handles the #ifdef's #else (ie. #ifndef) branch.
-    if test x$found = xfalse; then
-      ad_debug "ifdef $d will be excluded (it is NOT defined)"
-      echo "/^#ifdef $d$/,/^#else !$d$|^#endif $d$/ { next; }" >> $f
-    else
-      echo "/^#else !$d$/,/^#endif $d$/ { next; }" >> $f
-    fi
-  done
-
-  # ifndefs
-  ad_debug "processing ifndefs"
-  for d in $ndefs
-  do
-    found=false
-    for i in $distdefs
-    do
-      if test x$d = x$i; then
-        found=true
-        break
-      fi
-    done
-
-    # If distribution define was found exclude those lines from the file.
-    # This also handles the #ifndef's #else (ie. #ifdef) branch.
-    if test x$found = xtrue; then
-      ad_debug "ifndef $d will be excluded (it IS defined)"
-      echo "/^#ifndef $d$/,/^#else $d$|^#endif $d$/ { next; }" >> $f
-    else
-      echo "/^#else $d$/,/^#endif $d$/ { next; }" >> $f
-    fi
-  done
-
-  # Now process the file with the script
-  if test -f $f; then
-
-    # Those distdef lines that remain in the file are removed to make
-    # the appearance prettier
-    echo "/^#ifdef "$DP"_DIST_|^#endif "$DP"_DIST_|^#else "$DP"_DIST_|^#else !"$DP"_DIST_|^#ifndef "$DP"_DIST_/ { next; }" >> $f
-    echo "{ print; }" >> $f
-
-    # Execute the script
-    cp -p $1 $2 || exit 1
-    awk -f $f $1 > $2 || exit 1
-  fi
-
-  rm -f $f
-
-  # Log if file was not relicensed
-  if test -f "$1.norelicense"; then
-    ad_log "  $1"
-    rm -f $1.norelicense
-  fi
-
-  ad_debug "Ending processing file: $1 $2"
-}
-
-#
-# Process a source file given as argument for the distribution.
-#
-# Arguments: ad_process_source_file <filepath> <dest_filepath> <re-license>
-#
-ad_process_source_file()
-{
-  local found=false
-  local f
-  local defs
-  local ndefs
-
-  # Process only regular files
-  if test '!' -f $1; then
-    return
-  fi
-
-  ad_debug "Starting processing source file: $1 $2"
-
-  f="autodist.tmp.script"
-  rm -f $f
-
-  # If license header is provided, replace the license header in the file.
-  if test x$3 = xtrue; then
-    ad_process_license_header $f $1
-  fi
-
-  # Get defined distribution defines
-  defs=`awk '/^#ifdef SILC_DIST_|^#else \/\* SILC_DIST_/ { print; }' \
-    $1 |cut -d'*' -f2 |cut -d' ' -f2 | sort | uniq`
-
-  # Get explicitly not-defined distribution defines
-  ndefs=`awk '/^#ifndef SILC_DIST_|^#else \/\* \!SILC_DIST_/ { print; }' \
-    $1 |cut -d'*' -f2 |cut -d' ' -f2 | cut -d'!' -f2 | sort | uniq`
-
-  ad_debug "defs in $1: $defs"
-  ad_debug "ndefs in $1: $ndefs"
-
-  # Create the script to include and exclude stuff in the file according
-  # to the distribution defines
-
-  # ifdefs
-  ad_debug "processing ifdefs"
-  for d in $defs
-  do
-    found=false
-    for i in $distdefs
-    do
-      if test x$d = x$i; then
-        found=true
-        break
-      fi
-    done
-
-    # If distribution define was not found exclude those lines from the file.
-    # This also handles the #ifdef's #else (ie. #ifndef) branch.
-    if test x$found = xfalse; then
-      ad_debug "ifdef $d will be excluded (it is NOT defined)"
-      echo "/^#ifdef $d$/,/^#else \/\* \!$d |^#endif \/\* $d / { next; }" >> $f
-    else
-      echo "/^#else \/\* \!$d /,/^#endif \/\* $d / { next; }" >> $f
-    fi
-  done
-
-  # ifndefs
-  ad_debug "processing ifndefs"
-  for d in $ndefs
-  do
-    found=false
-    for i in $distdefs
-    do
-      if test x$d = x$i; then
-        found=true
-        break
-      fi
-    done
-
-    # If distribution define was found exclude those lines from the file.
-    # This also handles the #ifndef's #else (ie. #ifdef) branch.
-    if test x$found = xtrue; then
-      ad_debug "ifndef $d will be excluded (it IS defined)"
-      echo "/^#ifndef $d$/,/^#else \/\* $d |^#endif \/\* $d / { next; }" >> $f
-    else
-      echo "/^#else \/\* $d /,/^#endif \/\* $d / { next; }" >> $f
-    fi
-  done
-
-  # Now process the file with the script
-  if test -f $f; then
-
-    # Those distdef lines that remain in the file are removed to make
-    # the appearance prettier
-    echo "/^#ifdef SILC_DIST_|^#endif \/\* SILC_DIST_|^#else \/\* SILC_DIST_|^#else \/\* \!SILC_DIST_|^#ifndef SILC_DIST_/ { next; }" >> $f
-    echo "{ print; }" >> $f
-
-    # Execute the script
-    cp -p $1 $2 || exit 1
-    awk -f $f $1 > $2 || exit 1
-  fi
-
-  rm -f $f
-
-  # Log if file was not relicensed
-  if test -f "$1.norelicense"; then
-    ad_log "  $1"
-    rm -f $1.norelicense
-  fi
-
-  ad_debug "Ending processing source file: $1 $2"
-}
-
-#
-# Processes a file.  This is the -p, --process option.
-#
-# Arguments: ad_process <type> <src> <dst>
-#
-ad_process()
-{
-  ad_debug "Starting process: $1 $2 $3"
-
-  nolog=true
-
-  if test '!' -f autodist.dist; then
-    ad_fatal "Autodist has not been run yet to prepare source tree"
-  fi
-
-  # Parse distribution
-  distribution=`grep "dist:" < autodist.dist | cut -d: -f2` || exit 1
-  dist_version=`grep "ver:" < autodist.dist | cut -d: -f2` || exit 1
-  ad_parse_distribution $distribution false
-  ad_process_distdefs
-
-  # Process file
-  case "$1" in
-    makefile)
-      if test -z $3; then
-       ad_fatal "File type $1 requires <dst> argument"
-      fi
-      ad_make_makefile_am $2 $3
-      exit 0;;
-
-    configure)
-      ad_make_configure_ac $2
-      exit 0;;
-
-    non-source)
-      if test -z $3; then
-       ad_fatal "File type $1 requires <dst> argument"
-      fi
-      ad_process_file $2 $3 false
-      exit 0;;
-
-    source)
-      if test -z $3; then
-       ad_fatal "File type $1 requires <dst> argument"
-      fi
-      ad_process_source_file $2 $3 false
-      exit 0;;
-
-    *)
-      ad_fatal "Unknown file type: $1";
-      ;;
-  esac
-}
-
-#
-# Run hooks
-#
-# Arguments: ad_run_hooks <hooks> <params>
-#
-ad_run_hooks()
-{
-  ad_debug "Running hooks: $1"
-
-  ad_log ""
-  ad_log "Hooks executed:"
-  ad_log "--------------"
-
-  for i in $1
-  do
-    if test '!' -f $i; then
-      ad_fatal "Hook script $i does not exist"
-    fi
-    ad_log "  sh $i \"$distribution\" \"$dist_version\" \"$package\" \"$2\""
-    sh $i "$distribution" "$dist_version" "$package" "$2" || exit 1
-  done
-  ad_log ""
-
-  ad_debug "Ending running hooks: $1"
-}
-
-#
-# Run dist hooks
-#
-# Arguments: ad_run_dist_hooks <hooks> <params>
-#
-ad_run_dist_hooks()
-{
-  ad_debug "Starting running distributions hooks: $1"
-
-  ad_log ""
-  ad_log "Distribution hooks executed:"
-  ad_log "----------------------------"
-
-  for i in $1
-  do
-    if test '!' -f $i; then
-      ad_fatal "Dist hook script $i does not exist"
-    fi
-
-    ad_log "  sh $i \"$distribution\" \"$dist_version\" \"$package\" \"$am_distdir\" \"$2\""
-    sh $i "$distribution" "$dist_version" "$package" "$am_distdir" "$2" || exit 1
-  done
-  ad_log ""
-
-  ad_debug "Ending running distribution hooks"
-}
-
-###############################################################################
-# Autodist code
-
-usage="Usage: autodist [options] [distribution] [version] [params]"
-help="\
-Autodist prepares source tree for configuration, compilation and
-distribution.  Generates Automake.am files from Automake.ad files,
-configure.ac file from configure.ad file(s), generates the configure
-script by running Autoconf tool, and generates Makefile.in files by
-running Automake tool.
-
-Operation modes:
-  -h, --help                print this help, then exit
-  -V, --version             print version number, then exit
-  -v, --verbose             verbosely report processing
-  -d, --distdir <dir>       search distributions from <dir>
-  -s, --distdefs [<dist>]   print distribution defines of <dist>, then exit
-  -i, --init                initialize Autodist environment, create default
-                            distribution directory and distribution, then exit
-  -p, --process <type> <src> [<dst>]
-                            process file <src> into <dst> for distribution,
-                            <type> is 'makefile', 'configure', 'non-source'
-                            or 'source' and defines the type of <src>
-  -m, --makedist            create and package distribution
-      --gzip                create package compressed with gzip (default)
-      --bzip2               create also package compressed with bzip2
-      --compress            create also package compressed with compress
-      --zip                 create also package compressed with zip"
-
-#
-# Process command line arguments
-#
-while test $# -gt 0; do
-  case "${1}" in
-
-  -d |--distdir)
-    shift;
-    test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-    distdir="${1}";
-    shift;;
-
-  --list)
-    exit 0;;
-
-  -s | --distdefs)
-    shift;
-    if test $# -eq 0; then
-      ad_parse_distribution $distribution false
-      echo "Distribution: ${distribution}" 1>&2;
-    else
-      ad_parse_distribution $1 false
-      echo "Distribution: ${1}" 1>&2;
-    fi
-    ad_process_distdefs
-    echo "Distdefs:" 1>&2;
-    for i in $distdefs
-    do
-      echo "$i";
-    done
-    exit 0;;
-
-  -i | --init)
-    ad_initialize;
-    exit 0;;
-
-  -p | --process)
-    shift;
-    if test $# -ge 2; then
-      ad_process $1 $2 $3
-    else
-      echo "${usage}" 1>&2;
-    fi
-    exit 0;;
-
-  -m | --makedist)
-    ad_makedist
-    exit 0;;
-
-  --gzip)
-    ad_gzip=true
-    shift;;
-
-  --bzip2)
-    ad_bzip2=true
-    shift;;
-
-  --compress)
-    ad_compress=true
-    shift;;
-
-  --zip)
-    ad_zip=true
-    shift;;
-
-  -v | --verbose)
-    debug=true
-    shift;;
-
-  -h | --help | --h*)
-    echo "${usage}" 1>&2;
-    echo 1>&2;
-    echo "${help}" 1>&2;
-    echo 1>&2;
-    exit 0;;
-
-  -V | --version)
-    echo "@PACKAGE@ (@PACKAGE_NAME@) $ver" 1>&2;
-    echo "Written by Pekka Riikonen" 1>&2;
-    echo 1>&2;
-    echo "Copyright (C) 2004 - 2007 SILC Project" 1>&2;
-    echo "\
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. " 1>&2;
-    exit 0;;
-
-  --)
-    shift;
-    break;;
-
-  -*)
-    echo "${usage}" 1>&2;
-    exit 1;;
-
-  *)
-    break;;
-
-  esac
-done
-
-# Open log file
-ad_log_open "autodist.log"
-
-ad_log "Processing source tree for compilation and configuration"
-ad_log "--------------------------------------------------------"
-ad_log ""
-
-#
-# Parse the requested distribution
-#
-if test $# != 0; then
-  distribution="${1}";
-  distfile=$distribution
-  shift
-fi
-
-ad_parse_distribution $distribution false
-
-if test $# != 0; then
-  dist_version="${1}";
-fi
-
-ad_log "  Distribution: $distribution $dist_version"
-ad_log ""
-
-ad_process_distdefs
-
-ad_debug "Preparing source tree for configuration and compilation..."
-ad_debug "Preparing $distribution distribution version $dist_version"
-
-#
-# Create the distribution defines header file
-#
-if test "$DISTDEFS"; then
-  ad_create_distdefs_h
-else
-  ad_fatal "DISTDEFS not defined in $distdir/autodist.conf"
-fi
-
-# Get extra parameters from command line
-if test $# != 0; then
-  shift
-fi
-
-#
-# Run pre-hooks
-#
-ad_run_hooks "$pre_hooks" "$@"
-
-#
-# Generate the Makefile.am files from Makefile.ad files
-#
-ad_make_makefile_ams
-
-#
-# Generate the configure.ac from configure.ad file(s)
-#
-ad_make_configure_ac ./configure.ad
-
-#
-# Process all files with .ad suffix for distribution processing
-#
-ad_process_ads
-
-#
-# Generate configure script
-#
-ad_make_configure
-
-#
-# Generate Makefile.in files
-#
-ad_make_makefile_ins
-
-#
-# Create autodist.dist
-#
-ad_debug "Creating autodist.dist"
-echo "dist:$distfile" > autodist.dist
-echo "ver:$dist_version" >> autodist.dist
-echo "distdir:$package-$dist_version" >> autodist.dist
-echo "params:$@" >> autodist.dist
-
-#
-# Run post-hooks
-#
-ad_run_hooks "$post_hooks" "$@"
-
-ad_log "Source tree processed successfully."
-ad_debug "Done, now run ./configure and make."
-
-exit 0