Changes for the new Autodist 1.0.
authorPekka Riikonen <priikone@silcnet.org>
Sat, 16 Apr 2005 17:24:33 +0000 (17:24 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sat, 16 Apr 2005 17:24:33 +0000 (17:24 +0000)
21 files changed:
CHANGES
Makefile.ad
Makefile.defines_int.in
README.CVS
README.DIST
autodist [deleted file]
configure.ad
distdir/BSD [new file with mode: 0644]
distdir/BSD-header [new file with mode: 0644]
distdir/GPL [new file with mode: 0644]
distdir/GPL-header [new file with mode: 0644]
distdir/autodist
distdir/autodist.conf
distdir/client
distdir/common
distdir/default
distdir/pre-run
distdir/server
distdir/toolkit
doc/Makefile.ad
includes/Makefile.ad

diff --git a/CHANGES b/CHANGES
index 0d8dddb2d38d0772ff270bc6c69e65beb772bc94..fa8a3230e41200c56bb8f9c066cb40328725e488 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+Sat Apr 16 20:23:48 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Added Autodist.
+
 Thu Apr 14 20:25:08 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
 
        * Handle empty LIST command reply correcttly in server.  Affected
index b238fde0c89448b99ad4dda6ace9e8ff9812c29d..1ffcbca2bd4e42140935430d44abfca22d678523 100644 (file)
@@ -18,6 +18,9 @@
 AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
 
 SUBDIRS =              \
+#ifdef SILC_DIST_APPS
+       apps            \
+#endif SILC_DIST_APPS
 #ifdef SILC_DIST_LIB
        lib             \
 #endif SILC_DIST_LIB
@@ -38,32 +41,21 @@ SUBDIRS =           \
        doc
 #endif SILC_DIST_DOC
 
-include $(top_srcdir)/Makefile.defines.in
-
-dist-bzip: distdir
-       -chmod -R a+r $(distdir)
-       -tar chof $(distdir).tar $(distdir)
-       -bzip2 $(distdir).tar
-       -rm -rf $(distdir)
-
 EXTRA_DIST =           \
+       silcdefs.h.in   \
+#ifdef SILC_DIST_SILC
 #ifdef SILC_DIST_TOOLKIT
        README.CVS README.WIN32 README.MACOSX silcer tutorial \
 #endif SILC_DIST_TOOLKIT
        libtoolfix      \
        CHANGES CREDITS
+#endif SILC_DIST_SILC
 
+#ifdef SILC_DIST_SILC
 #
 # Installing of SILC into the system
 #
 
-etcdir = $(DESTDIR)$(silc_etcdir)
-modulesdir = $(DESTDIR)$(silc_modulesdir)
-helpdir = $(DESTDIR)$(silc_helpdir)
-docdir = $(DESTDIR)$(silc_docdir)
-logsdir = $(DESTDIR)$(silc_logsdir)
-mandir = $(DESTDIR)@mandir@
-
 install-dirs:
        -mkdir -p $(etcdir)
        -mkdir -p $(modulesdir)
@@ -85,11 +77,6 @@ sim-install:
        -$(INSTALL_DATA) $(srcdir)/lib/silcsim/*.so $(modulesdir)/
 #endif SILC_DIST_SIM
 
-examples-install:
-       -mkdir -p $(docdir)/examples/
-       -$(INSTALL_DATA) $(srcdir)/doc/examples/README $(docdir)/examples/
-       -$(INSTALL_DATA) $(srcdir)/doc/examples/silc* $(docdir)/examples/
-
 #ifdef SILC_DIST_CLIENT
 install-dirs-client: install-dirs
        -mkdir -p $(helpdir)
@@ -134,6 +121,11 @@ etc-install-server:
           chmod go= $(etcdir)/silcd.conf; \
        fi
 
+examples-install:
+       -mkdir -p $(docdir)/examples/
+       -$(INSTALL_DATA) $(srcdir)/doc/examples/README $(docdir)/examples/
+       -$(INSTALL_DATA) $(srcdir)/doc/examples/silc* $(docdir)/examples/
+
 generate-server-key:
        -@if test '!' -f $(etcdir)/silcd.pub ; then \
          $(sbindir)/silcd -C $(etcdir); \
@@ -168,3 +160,6 @@ install-data-hook:          \
        sim-install
 #endif SILC_DIST_SIM
 
+include $(top_srcdir)/Makefile.defines.in
+
+#endif SILC_DIST_SILC
index cf4b43041baf737b273da0f2ee1d13848476cf04..3f82947145d85da14cd1cd305ef08bcceb3850f3 100644 (file)
@@ -50,3 +50,9 @@ silc_modulesdir=@MODULESDIR@
 silc_helpdir=@HELPDIR@
 silc_docdir=@DOCDIR@
 silc_logsdir=@LOGSDIR@
+etcdir = $(DESTDIR)$(silc_etcdir)
+modulesdir = $(DESTDIR)$(silc_modulesdir)
+helpdir = $(DESTDIR)$(silc_helpdir)
+docdir = $(DESTDIR)$(silc_docdir)
+logsdir = $(DESTDIR)$(silc_logsdir)
+mandir = $(DESTDIR)@mandir@
index 45d6095080d2a9b98edff5d4de6a4de2b40552d9..4672367dcada6f6fd79df060360a7d35a405a7dd 100644 (file)
@@ -164,17 +164,20 @@ Following directories currently exist in SILC source tree.
 Howto Compile SILC Source Tree
 ==============================
 
-After checkout from CVS the SILC source tree must be prepared for 
-configuration and compilation.  To compile the source tree, give,
+To be able to prepare the CVS tree for configuration and compilation
+Autodist must be installed into the system.  You can download the latest
+version of Autodist from: 
 
-       ./autodist
+       http://silcnet.org/software/download/autodist/
+
+To prepare the CVS source tree for configuration and compilation, give:
+
+       autodist
        ./configure --enable-debug
        make
 
-The ./autodist is included in to the source tree and it never
-appears in public distribution.  The script prepares the source tree
-by creating configuration scripts and Makefiles.  The autodist must be
-run every time you make some changes to configuration scripts.
+The autodist must be run every time you make some changes to configuration 
+scripts.
 
 As a developer you should read the ./configure script's help by
 giving ./configure --help and study all of its different options.  Also,
@@ -200,7 +203,7 @@ Makefiles and configuration files
 =================================
 
 Developers should never directly write a Makefile.  All Makefiles are 
-always automatically generated by ./autodist and later by ./configure 
+always automatically generated by autodist and later by ./configure 
 scripts.  Instead, developers must write Makefile.ad files or Makefile.am 
 files.  If the Makefile needs to include any distdefs (SILC_DIST_XXX), 
 then Makefile.ad (.ad stands for autodist) must be written.  If the 
index c8c24494e08fdac074efaa4ac0f02981eab8937d..e5264ef8fdfa5e0994b1c84b95012778bafb6f5b 100644 (file)
@@ -25,14 +25,14 @@ compiled and packaged.  The ./prepare script is used to prepare
 distribution for configuration, compilation and packaging.  To prepare a 
 specific distribution with specific version, give command:
 
-       ./autodist <name> <version>
+       autodist <name> <version>
 
 Where the <name> is the distribution name.  It is one of the distributions 
 that was defined in distdir/ directory.  The <version> is the version of 
 the distribution that will be prepared.  The version format is 
 major.minor.build, for example 0.9.10.  Example:
 
-       ./autodist client 0.9.15
+       autodist client 0.9.15
 
 This prepares 'client' distribution of version 0.9.15.  The package will 
 have the version 0.9.15 automatically.
@@ -62,11 +62,10 @@ After the distribution is prepared, configured and compiled it can be
 packaged with the following commands:
 
        make -C doc dist-hook
-       make dist
-       make dist-bzip
+       makedist --bzip2
 
-The first command creates a gzipped distribution and the second creates a
-bzipped distribution.
+The 'makedist --bzip2' creates the default 'tar.gz' and 'tar.bz2' 
+distribution.
 
 NOTE:  Before giving this command, make sure that you do not have any of 
 the tests in the SILC source tree compiled.  If they are the binaries
diff --git a/autodist b/autodist
deleted file mode 100755 (executable)
index 6c3d078..0000000
--- a/autodist
+++ /dev/null
@@ -1,1017 +0,0 @@
-#!/bin/sh
-#
-# Author: Pekka Riikonen <priikone@silcnet.org>
-#
-# Copyright (C) 2005 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.
-#
-
-###############################################################################
-
-# XXXXXXXXXXXXXXX
-#
-# TODO
-#
-# --makedist
-# "pre-dist-hooks"
-# "post-dist-hooks"
-# "include"
-# "exclude"
-# "option"
-# default conffile in -i
-# default distro in -i
-#
-# NOTE: inherit inherits only distdefs, undefs, hooks, options, includes
-# and excludes.  It must not inherit others.
-#
-# XXXXXXXXXXXXXXX
-
-# Scripts have the following variables in their disposal
-#
-# distribution      distribution name
-# dist_version      distribution version
-# package           the package name of the distribution
-
-# Allowed structure for distdefs in non-source files
-
-#ifdef SILC_DIST_DEFINE
-#endif SILC_DIST_DEFINE
-
-#ifndef SILC_DIST_DEFINE
-#endif SILC_DIST_DEFINE
-
-#ifdef SILC_DIST_DEFINE
-#else !SILC_DIST_DEFINE
-#endif SILC_DIST_DEFINE
-
-#ifndef SILC_DIST_DEFINE
-#else SILC_DIST_DEFINE
-#endif SILC_DIST_DEFINE
-
-# Allowed structure for distdefs in source files
-
-#ifdef SILC_DIST_DEFINE
-#endif /* SILC_DIST_DEFINE */
-
-#ifndef SILC_DIST_DEFINE
-#endif /* SILC_DIST_DEFINE */
-
-#ifdef SILC_DIST_DEFINE
-#else /* !SILC_DIST_DEFINE */
-#endif /* SILC_DIST_DEFINE */
-
-#ifndef SILC_DIST_DEFINE
-#else /* SILC_DIST_DEFINE */
-#endif /* SILC_DIST_DEFINE */
-
-###############################################################################
-# Global variables
-
-# Distribution subdirectory
-distdir="distdir"
-
-# This current distribution
-distribution=default
-dist_version=0.0
-package=
-
-# All inherited distributions in this distribution
-inherits=
-
-# All distribution defines for this distribution
-distdefs=
-
-# All distribution undefines for this distribution
-undistdefs=
-
-# All distribution options
-options=
-
-# All includes
-includes=
-
-# All excludes
-excludes=
-
-# All pre, post pre-dist and post-dist hooks
-pre_hooks=
-post_hooks=
-pre_dist_hooks=
-post_dist_hooks=
-
-# Distribution license and license header
-license=
-licenseh=
-
-# Whether to output ad_debug information
-debug=false
-ver="1.0"
-makedist=false
-
-
-###############################################################################
-# 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
-    echo autodist: $1
-  fi
-}
-
-#
-# Prints out error message and exits the script.
-#
-# Arguments: ad_fatal <error message>
-#
-ad_fatal()
-{
-  echo autodist: error: $1
-  exit 1
-}
-
-#
-# Initializes the Autodist environment, creates default distribution
-# directory, and default distribution.
-#
-# Arguments: ad_initialize
-#
-ad_initialize()
-{
-  ad_debug "-->$FUNCNAME()"
-
-  # Create default distdir
-  if test '!' -f $distdir; then
-    mkdir -p $distdir
-  fi
-
-  # Create default distribution
-  # XXX
-
-  ad_debug "<--$FUNCNAME()"
-}
-
-#
-# Creates the distdefs header file including defined distdefs
-#
-# Arguments: ad_create_distdefs_h
-#
-ad_create_distdefs_h()
-{
-  ad_debug "-->$FUNCNAME()"
-
-  fname=$DISTDEFS
-  rm -f $fname
-  echo "/*" > $fname
-  echo "  Automatically generated by Autodist $ver.  Do not edit." >> $fname
-  echo >> $fname
-  echo "  Generated: `date` by `whoami`" >> $fname
-  echo "  Distribution: $distribution" >> $fname
-  echo "  License: $license" >> $fname
-  echo "*/" >> $fname
-  echo >> $fname
-  echo "#ifndef _"$DP"_DISTDEFS_H" >> $fname
-  echo "#define _"$DP"_DISTDEFS_H" >> $fname
-  echo >> $fname
-
-  for i in $distdefs
-  do
-    echo "#define $i 1" >>$fname
-  done
-
-  echo >> $fname
-  echo "#endif /* _"$DP"_DISTDEFS_H */" >> $fname
-
-  ad_debug "<--$FUNCNAME()"
-}
-
-#
-# Creates the main configure script for the distribution.  This runs
-# the aclocal, autoheader and autoconf tools.
-#
-# Arguments: ad_make_configure
-#
-ad_make_configure()
-{
-  ad_debug "-->$FUNCNAME()"
-  local run_autoconf=false
-
-  rm -f configure
-
-  if test "$ACLOCAL"; then
-    ad_debug "Running aclocal"
-    $ACLOCAL 1>/dev/null 2>/dev/null
-    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 "<--$FUNCNAME()"
-}
-
-#
-# 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()
-{
-  ad_debug "-->$FUNCNAME(): $1"
-
-  if test '!' -f $1; then
-    ad_fatal "The configure file '$1' does not exist"
-  fi
-
-  rm -f configure.ac configure.ad.cfs
-
-  cfs=`find . -name configure\*\.ad`
-  for i in $cfs
-  do
-    if test "x$i" = "x$1"; then
-      continue
-    fi
-    ad_debug "including $i"
-    cat $i >> configure.ad.cfs
-  done
-
-  # Header for configure.ac
-  fname="configure.tmp.ac"
-  echo "# Automatically generated by Autodist $ver.  Do not edit." > $fname
-  echo "# To make changes edit the $i file in the source tree." >> $fname
-  echo >> $fname
-  echo "# Source: $i" >> $fname
-  echo "# Generated: `date` by `whoami`" >> $fname
-  echo "# Distribution: $distribution" >> $fname
-  echo "# License: $license" >> $fname
-  echo >> $fname
-
-  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/s///" $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, [], $package)/" $fname > $fname.tmp
-
-  # Process for distribution
-  ad_process_file $fname.tmp configure.ac
-  rm -f $fname $fname.tmp
-
-  ad_debug "<--$FUNCNAME(): $1"
-}
-
-#
-# Creates the Makefile.in files by running the automake tool.
-#
-# Arguments: ad_make_makefile_ins
-#
-ad_make_makefile_ins()
-{
-  ad_debug "-->$FUNCNAME()"
-
-  if test "$AUTOMAKE"; then
-    ad_debug "Running automake"
-    $AUTOMAKE
-    if test $? != 0; then
-      ad_fatal "automake failed"
-    fi
-  fi
-
-  ad_debug "<--$FUNCNAME()"
-}
-
-#
-# 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 "-->$FUNCNAME()"
-
-  files=`find . -name Makefile\.ad`
-  for i in $files
-  do
-    fname=`echo $i | sed s/\.ad//`
-
-    # Header for the Makefile.am
-    echo "# Automatically generated by Autodist $ver from Makefile.ad.  Do not edit." > $fname.am
-    echo "# To make changes edit the $i file in the source tree." >> $fname.am
-    echo >> $fname.am
-    echo "# Source: $i" >> $fname.am
-    echo "# Generated: `date` by `whoami`" >> $fname.am
-    echo "# Distribution: $distribution" >> $fname.am
-    echo "# License: $license" >> $fname.am
-    echo >> $fname.am
-
-    # Run the distribution processing for this Makefile.ad
-    ad_debug "Processing $i to be $fname.am"
-    ad_process_file $i $fname.am
-  done
-
-  ad_debug "<--$FUNCNAME()"
-}
-
-#
-# 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
-#
-ad_process_ads()
-{
-  ad_debug "-->$FUNCNAME()"
-
-  files=`find . -name \*\.ad \! -name configure\*\.ad \! -name Makefile\.ad`
-  for i in $files
-  do
-    fname=`echo $i | sed s/\.ad//`
-
-    # Header
-    echo "# Automatically generated by Autodist $ver.  Do not edit." > $fname
-    echo "# To make changes edit the $i file in the source tree." >> $fname
-    echo >> $fname
-    echo "# Source: $i" >> $fname
-    echo "# Generated: `date` by `whoami`" >> $fname
-    echo "# Distribution: $distribution" >> $fname
-    echo "# License: $license" >> $fname
-    echo >> $fname
-
-    # Run the distribution processing for this file
-    ad_debug "Processing $i to be $fname"
-    ad_process_file $i $fname
-  done
-
-  ad_debug "<--$FUNCNAME()"
-}
-
-#
-# 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.
-#
-# Arguments: ad_process_source_tree <directory>
-#
-ad_process_source_tree()
-{
-  ad_debug "-->$FUNCNAME(): $1"
-
-  ad_debug "<--$FUNCNAME(): $1"
-}
-
-#
-# Creates distribution of the source tree.  All files in the distribution
-# will be processed and the distribution will be packaged.
-#
-ad_makedist()
-{
-  ad_debug "-->$FUNCNAME()"
-
-  ad_debug "<--$FUNCNAME()"
-}
-
-#
-# 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: parse_distribution <distribution name> <inherit>
-#
-ad_parse_distribution()
-{
-  ad_debug "-->$FUNCNAME(): $1"
-
-  if test '!' -f $distdir/$1; then
-    ad_fatal "Distribution '$1' is not declared"
-  fi
-
-  # Get inherited
-  local inhs=`cat $distdir/$1 | grep -v "#" \
-    | grep "inherit " | cut -d' ' -f2 | sort | uniq`
-
-  # Get distdefs
-  local defs=`cat $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
-  local undefs=`cat $distdir/$1 | grep -v "#" \
-   | grep "undef " | cut -d' ' -f2`
-
-  # Get options
-  local opts=`cat $distdir/$1 | grep -v "#" \
-   | grep "option " | cut -d' ' -f2`
-
-  # Get includes
-  local incs=`cat $distdir/$1 | grep -v "#" \
-   | grep "include " | cut -d' ' -f2`
-
-  # Get excludes
-  local excs=`cat $distdir/$1 | grep -v "#" \
-   | grep "exclude " | cut -d' ' -f2`
-
-  ad_debug "inherits=$inhs"
-  ad_debug "distdefs=$defs"
-  ad_debug "includes=$incs"
-  ad_debug "excludes=$excs"
-  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
-  done
-
-  # Get license
-  license=`cat $distdir/$1 | grep -v "#" \
-   | grep "license " | cut -d' ' -f2`
-  licenseh=`cat $distdir/$1 | grep -v "#" \
-   | grep "license-header " | cut -d' ' -f2`
-
-  ad_debug "license=$license"
-  ad_debug "licenseh=$licenseh"
-
-  if test x$2 = xfalse; then
-    # Get distribution name
-    local dname=`cat $distdir/$1 | grep -v "#" | grep "name "`
-
-    if test "$dname"; then
-      distribution=$dname
-    fi
-
-    # Get distribution package name (optional)
-    local dpname=`cat $distdir/$1 | grep -v "#" \
-     | grep "package " | cut -d' ' -f2`
-
-    if test "$dpname"; then
-      package=$dpname
-    else
-      package=$distribution
-    fi
-
-    ad_debug "distribution=$distribution"
-    ad_debug "package=$package"
-  fi
-
-  # Get hooks (optional)
-  local prh=`cat $distdir/$1 | grep -v "#" \
-   | grep "pre-hook " | cut -d' ' -f2`
-  local poh=`cat $distdir/$1 | grep -v "#" \
-   | grep "post-hook " | cut -d' ' -f2`
-  local prdh=`cat $distdir/$1 | grep -v "#" \
-   | grep "pre-dist-hook " | cut -d' ' -f2`
-  local podh=`cat $distdir/$1 | grep -v "#" \
-   | grep "post-dist-hook " | cut -d' ' -f2`
-
-  # Return to caller
-  inherits="$inherits $inhs"
-  distdefs="$distdefs $defs"
-  includes="$includes $incs"
-  excludes="$excludes $incs"
-  undistdefs="$undistdefs $undefs"
-  options="$options $opts"
-  pre_hooks="$pre_hooks $prh"
-  post_hooks="$post_hooks $poh"
-  pre_dist_hooks="$pre_dist_hooks $prdh"
-  post_dist_hooks="$post_dist_hooks $podh"
-
-  ad_debug "<--$FUNCNAME(): $1"
-}
-
-#
-# Processes parsed distdefs.  Removes duplicates, and undefined distdefs
-# from the distdefs.
-#
-# Arguments: ad_process_distdefs
-#
-ad_process_distdefs()
-{
-  ad_debug "-->$FUNCNAME()"
-
-  # Remove all undefined distribution defines
-  for i in $undistdefs
-  do
-    ad_debug "undefining $i distdef"
-    distdefs=`echo $distdefs | sed s/$i//`
-  done
-
-  rm -f autodist.tmp.defs autodist.pre.hooks autodist.post.hooks 
-  rm -f autodist.pre.dist.hooks autodist.post.dist.hooks
-
-  # Remove duplicate distdefs
-  for i in $distdefs
-  do
-    echo $i >>autodist.tmp.defs
-  done
-  distdefs=`cat autodist.tmp.defs | sort | uniq`
-  distdefs=`echo $distdefs`
-  rm -f autodist.tmp.defs
-
-  ad_debug "distdefs=$distdefs"
-
-  # Remove duplicate pre-hooks
-  for i in $pre_hooks
-  do
-    echo ". $i" >>autodist.tmp.defs
-  done
-  if test -f autodist.tmp.defs; then
-    cat autodist.tmp.defs | sort | uniq > autodist.pre.hooks
-    rm -f autodist.tmp.defs
-  fi
-
-  # Remove duplicate post-hooks
-  for i in $post_hooks
-  do
-    echo ". $i" >>autodist.tmp.defs
-  done
-  if test -f autodist.tmp.defs; then
-    cat autodist.tmp.defs | sort | uniq > autodist.post.hooks
-    rm -f autodist.tmp.defs
-  fi
-
-  # Remove duplicate pre-dist-hooks
-  for i in $pre_dist_hooks
-  do
-    echo ". $i" >>autodist.tmp.defs
-  done
-  if test -f autodist.tmp.defs; then
-    cat autodist.tmp.defs | sort | uniq > autodist.pre.dist.hooks
-    rm -f autodist.tmp.defs
-  fi
-
-  # Remove duplicate post-dist-hooks
-  for i in $post_dist_hooks
-  do
-    echo ". $i" >>autodist.tmp.defs
-  done
-  if test -f autodist.tmp.defs; then
-    cat autodist.tmp.defs | sort | uniq > autodist.post.dist.hooks
-    rm -f autodist.tmp.defs
-  fi
-
-  ad_debug "<--$FUNCNAME()"
-}
-
-#
-# Process a file given as argument for the distribution.
-#
-# Arguments: process_file <filepath> <dest_filepath>
-#
-ad_process_file()
-{
-  local found=false
-
-  ad_debug "-->$FUNCNAME(): $1 $2"
-
-  # Process only regular files
-  if test '!' -f $1; then
-    ad_debug "<--$FUNCNAME(): $1 $2"
-    return
-  fi
-
-  ad_debug "Getting #ifdef's and #ifndef's"
-
-  # Get defined distribution defines
-  local defs=`awk "/#ifdef "$DP"_DIST_|#else "$DP"_DIST_/ { print; }" \
-    $1 |cut -d'*' -f2 |cut -d' ' -f2 | sort | uniq`
-
-  # Get explicitly not-defined distribution defines
-  local ndefs=`awk "/#ifndef "$DP"_DIST_|#else !"$DP"_DIST_/ { print; }" \
-    $1 |cut -d'*' -f2 |cut -d' ' -f2 | cut -d'!' -f2 | sort | uniq`
-
-  ad_debug "defs=$defs"
-  ad_debug "ndefs=$ndefs"
-
-  # Create the script to include and exclude stuff in the file according
-  # to the distribution defines
-  local f=autodist.tmp.script
-  rm -f $f
-
-  # 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
-    awk -f $f $1 >> $2
-  fi
-
-  rm -f $f
-
-  ad_debug "<--$FUNCNAME(): $1 $2"
-}
-
-
-#
-# Process a source file given as argument for the distribution.
-#
-# Arguments: process_source_file <filepath> <dest_filepath>
-#
-ad_process_source_file()
-{
-  local found=false
-
-  ad_debug "-->$FUNCNAME(): $1 $2"
-
-  # Process only regular files
-  if test '!' -f $1; then
-    ad_debug "<--$FUNCNAME(): $1 $2"
-    return
-  fi
-
-  ad_debug "Getting #ifdef's and #ifndef's"
-
-  # Get defined distribution defines
-  local defs=`awk '/#ifdef SILC_DIST_|#else \/\* SILC_DIST_/ { print; }' \
-    $1 |cut -d'*' -f2 |cut -d' ' -f2 | sort | uniq`
-
-  # Get explicitly not-defined distribution defines
-  local ndefs=`awk '/#ifndef SILC_DIST_|#else \/\* \!SILC_DIST_/ { print; }' \
-    $1 |cut -d'*' -f2 |cut -d' ' -f2 | cut -d'!' -f2 | sort | uniq`
-
-  ad_debug "defs=$defs"
-  ad_debug "ndefs=$ndefs"
-
-  # Create the script to include and exclude stuff in the file according
-  # to the distribution defines
-  local f=autodist.tmp.script
-  rm -f $f
-
-  # 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
-    awk -f $f $1 >> $2
-  fi
-
-  rm -f $f
-
-  ad_debug "<--$FUNCNAME(): $1 $2"
-}
-
-
-###############################################################################
-# Autodist code
-
-usage="Usage: autodist [options] [distribution] [version]"
-help="\
-Autodist prepares source tree for configuration, compilation and 
-distribution.  Prepares the source tree from the \`autodist.ad' 
-configuration file.  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
-  -m, --makedist            create and package distribution
-  -i, --init                initialize Autodist environment, create default
-                            distribution directory and distribution, then exit"
-
-#
-# 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;
-    echo "${distdefs}";
-    exit 0;;
-
-  -i | --init)
-    ad_initialize;
-    exit 0;;
-
-  -m | --makedist)
-    makdist=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 "autodist (SILC Autodist) $ver" 1>&2;
-    echo "Written by Pekka Riikonen" 1>&2;
-    echo 1>&2;
-    echo "Copyright (C) 2004 - 2005 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
-
-#
-# Parse the requested distribution
-#
-if test $# != 0; then
-  distribution="${1}";
-  shift
-fi
-ad_parse_distribution $distribution false
-ad_process_distdefs
-
-if test $# != 0; then
-  dist_version="${1}";
-fi
-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
-
-#
-# Run pre-hooks
-#
-if test -f autodist.pre.hooks; then
-  . autodist.pre.hooks
-  rm -f autodist.pre.hooks
-fi
-
-#
-# 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
-
-#
-# Generate configure script
-#
-ad_make_configure
-
-#
-# Generate Makefile.in files
-#
-ad_make_makefile_ins
-
-#
-# Process all files with .ad suffix for distribution processing
-#
-ad_process_ads
-
-#
-# Run post-hooks
-#
-if test -f autodist.post.hooks; then
-  . autodist.post.hooks
-  rm -f autodist.post.hooks
-fi
-
-#
-# Generate distribution, if requested
-#
-if test x$makedist = xtrue; then
- ad_debug "Creating distribution"
-
- exit 0
-fi
-
-ad_debug "Done, now run ./configure and make."
-exit 0
index 1b9dd93c548db136b482becc6ee237ef25f6b0cc..410d19f23c4205d405c4eba874ac7a3c1693220e 100644 (file)
@@ -19,11 +19,15 @@ AD_INIT
 AC_CANONICAL_SYSTEM
 AM_INIT_AUTOMAKE
 AC_PREREQ(2.52)
-AC_CONFIG_HEADERS(includes/silcdefs.h)
+AC_CONFIG_HEADERS(silcdefs.h)
 
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
 
+AC_PROG_LN_S
+AC_SUBST(LN_S)
+AC_PATH_PROG(sedpath, sed)
+
 #ifdef SILC_DIST_COMPILER
 # Put here any platform specific stuff
 #
@@ -44,9 +48,6 @@ AC_PROG_CC
 AC_C_INLINE
 AC_C_CONST
 
-AC_PROG_LN_S
-AC_SUBST(LN_S)
-
 __SILC_HAVE_PTHREAD=""
 __SILC_HAVE_SIM=""
 __SILC_ENABLE_DEBUG=""
@@ -54,7 +55,6 @@ __SILC_ENABLE_DEBUG=""
 AC_PROG_RANLIB
 AC_DISABLE_SHARED
 AC_PROG_LIBTOOL
-AC_PATH_PROG(sedpath, sed)
 
 # Header checking
 #
@@ -337,7 +337,7 @@ AC_SUBST(FIX_SHA1)
 # Default installation destination
 #
 #ifdef SILC_DIST_AUTODIST
-AC_PREFIX_DEFAULT(/usr/local/)
+AC_PREFIX_DEFAULT(/usr/local)
 #else !SILC_DIST_AUTODIST
 AC_PREFIX_DEFAULT(/usr/local/silc)
 #endif SILC_DIST_AUTODIST
@@ -477,10 +477,10 @@ AC_ARG_WITH(silcd-pid-file,
 AC_SUBST(PIDFILE)
 #endif SILC_DIST_SERVER
 
+#ifdef SILC_DIST_COMPILER
 ##
 ##  With/without checkings
 ##
-#ifdef SILC_DIST_COMPILER
 
 #
 # SILC library checking
@@ -1105,8 +1105,6 @@ AD_INCLUDE_CONFIGURE
 #
 AC_SUBST(SILC_TOP_SRCDIR)
 AC_SUBST(LIBS)
-INCLUDE_DEFINES_INT="include \$(top_srcdir)/Makefile.defines_int"
-AC_SUBST(INCLUDE_DEFINES_INT)
 AC_SUBST(SILC_LIB_INCLUDES)
 AC_SUBST(__SILC_HAVE_PTHREAD)
 AC_SUBST(__SILC_HAVE_SIM)
@@ -1122,6 +1120,9 @@ if test x$libtoolfix = xtrue; then
 fi
 AM_CONDITIONAL(SILC_LIBTOOLFIX, test x$libtoolfix = xtrue)
 
+INCLUDE_DEFINES_INT="include \$(top_srcdir)/Makefile.defines_int"
+AC_SUBST(INCLUDE_DEFINES_INT)
+
 #endif SILC_DIST_COMPILER
 
 #
@@ -1129,12 +1130,19 @@ AM_CONDITIONAL(SILC_LIBTOOLFIX, test x$libtoolfix = xtrue)
 #
 AC_CONFIG_FILES(
 Makefile
+#ifdef SILC_DIST_DOC
+doc/Makefile
+#endif SILC_DIST_DOC
+#ifdef SILC_DIST_COMPILER
 Makefile.defines
 Makefile.defines_int
-doc/Makefile
 includes/Makefile
 includes/silcversion.h
 includes/silcincludes.h
+#endif SILC_DIST_COMPILER
+#ifdef SILC_DIST_APPS
+apps/Makefile
+#endif SILC_DIST_APPS
 )
 
 #ifdef SILC_DIST_TOOLKIT
@@ -1275,6 +1283,7 @@ if test x$has_threads = xtrue; then
 fi
 echo " Multi-threads support .........: $threads"
 echo " Debugging enabled .............: $summary_debug"
-#endif SILC_DIST_COMPILER
 echo ""
 echo "Compile the sources with 'make' or 'gmake' command."
+#endif SILC_DIST_COMPILER
+
diff --git a/distdir/BSD b/distdir/BSD
new file mode 100644 (file)
index 0000000..5329321
--- /dev/null
@@ -0,0 +1,25 @@
+
+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.
+
diff --git a/distdir/BSD-header b/distdir/BSD-header
new file mode 100644 (file)
index 0000000..8aa2ac3
--- /dev/null
@@ -0,0 +1,8 @@
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the conditions listed in the
+  COPYING file are met.
+
+
+
diff --git a/distdir/GPL b/distdir/GPL
new file mode 100644 (file)
index 0000000..d60c31a
--- /dev/null
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/distdir/GPL-header b/distdir/GPL-header
new file mode 100644 (file)
index 0000000..f217f10
--- /dev/null
@@ -0,0 +1,8 @@
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; version 2 of the License.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
index b4f8097d782028156b1c38828c2e509900a8d180..0aa0831ffa373a3950e67879878fb72c9f81fc4e 100644 (file)
@@ -1,4 +1,18 @@
 name SILC Autodist
 package autodist
+bug-report autodist-bugs@silcnet.org
+
+license apps/autodist/COPYING
+license-header distdir/GPL-header distdir/BSD-header
+
 define SILC_DIST_AUTODIST
-exclude CHANGES CREDITS libtoolfix TODO README*
+define SILC_DIST_APPS
+
+include apps/autodist/INSTALL INSTALL
+include apps/autodist/AUTHORS AUTHORS
+include apps/autodist/README README
+exclude apps/autodist/INSTALL apps/autodist/AUTHORS apps/autodist/README
+exclude TODO README.* ltmain.sh
+
+noprocess apps/autodist/doc apps/autodist/tests
+
index 84044dfcfa3d1737dedfe6e88ef8a03d421d8418..8a279ae8c746a3a4a1aaab74efd70451c2023bcb 100644 (file)
@@ -1,9 +1,49 @@
+# Autodist configuration file
+
+# By default distdef prefix is '_DIST_'.  To add your own prefix set the
+# prefix here.  NOTE: Remember to change all 'define' directives in
+# distributions to use the new prefix if you change it.  Example:
+#
+# DISTPREFIX="SILC"
+#
+# Will set the distdef prefix as 'SILC_DIST_'.
+# 
 DISTPREFIX="SILC"
 
+# The distdef header will be created by the Autodist.  It need to be included
+# in the source code in order for the preprocessor to respect distdef 
+# conditionals in source code.  Example:
+#
+# DISTDEFS="include/distdefs.h"
+#
 DISTDEFS="includes/silcdistdefs.h"
 
+# Location of the aclocal tool.  If this is omitted the Autodist will not
+# run aclocal.  User need to run it manually then.
+#
 ACLOCAL="aclocal"
+
+# Location of the autoheader tool.  If this is omitted the Autodist will not
+# run autoheader.  User need to run it manually then.
+#
 AUTOHEADER="autoheader"
+
+# Location of the autoconf tool.  If this is omitted the Autodist will not
+# run autoconf.  User need to run it manually then.
+#
 AUTOCONF="autoconf"
+
+# Location of the automake tool.  If this is omitted the Autodist will not
+# run automake.  User need to run it manually then.
+#
 AUTOMAKE="automake"
+
+# Location of the libtoolize tool.  This option should be omitted if your
+# source tree does not use libtool.
+#
 LIBTOOLIZE="libtoolize --automake --copy"
+
+# Location of the make program.  This must be specified in order to be 
+# able to create distributions.
+#
+MAKE="make"
index 80ca513832e4c84814923dd4e69f894dc89f157e..76ec28b164e3c07834723c4387cda522ba29d780 100644 (file)
@@ -1,5 +1,6 @@
 name Client
 package silc-client
+bug-report silc-devel@lists.silcnet.org
 inherit common
 define SILC_DIST_CLIENT
 define SILC_DIST_CLIENTLIB
index e21636c22ad734de472ea3d987752f21b9a973f8..39a2a5bf5b551e16359211a9ac05bed6ce8dc7b3 100644 (file)
@@ -1,5 +1,6 @@
 # Common SILC source tree distdefs
-option no-dist template
+option template
+define SILC_DIST_SILC
 define SILC_DIST_LIB
 define SILC_DIST_INCLUDES
 define SILC_DIST_DOC
index 376953a75858079e076a2aa971ab87b5cfbf69ff..a000fd977bb06380a16f3a78843f976f8b25cfd1 100644 (file)
@@ -1,20 +1,16 @@
+# Default distribution
+#
+# NOTE: By default, this distribution cannot be packaged.  Take away the
+# 'no-dist option if you whish to use this as a normal distribution.
+#
+# If you add new distributions into distdir/ inherit them here.
+#
+option no-dist
+
 # Default distribution for preparing raw CVS sources.
 inherit common
 inherit client
 inherit server
 inherit toolkit
-option no-dist
 define SILC_DIST_INPLACE
 pre-hook distdir/pre-run
-
-#include README.FOOBAR foobar.dir
-#exclude distdir foobar
-#define SILC_DIST_DEFAULT
-#undef SILC_DIST_FOOBAR
-#pre-hook scripts/foobar-pre.sh
-#post-hook scripts/foobar-post.sh
-#pre-dist-hook scripts/foobar-dist-pre.sh
-#post-dist-hook scripts/foobar-dist-post.sh
-#option no-dist
-#option no-inherit
-#option template
index 45a898d0db6c2330214bb091334d9e193337a4b4..cc716ca107c32821b8f234549aca6305f16540b8 100644 (file)
@@ -1,3 +1,9 @@
+#!/bin/sh
+
+distribution=$1
+dist_version=$2
+package=$3
+
 # preparing irssi
 echo "Preparing irssi"
 file=irssi/irssi-version.h.in
index e73ee7ffe8bd1ca270b3dfdaf66b4f88111360df..15eaecc4467878a1586c7fb37c48271e76dc2bb5 100644 (file)
@@ -1,4 +1,7 @@
 name Server
 package silc-server
+bug-report silc-devel@lists.silcnet.org
+license distdir/BSD
+license-header distdir/GPL-header distdir/BSD-header
 inherit common
 define SILC_DIST_SERVER
index d88f13dec07a0acbc8f7e027bc9df2052f92dfb3..180ab29a0d80620cfb8952c13f8a704bfc5922d8 100644 (file)
@@ -1,8 +1,13 @@
 name Toolkit
 package silc-toolkit
+bug-report silc-devel@lists.silcnet.org
 inherit common
 inherit client
 inherit server
 define SILC_DIST_TOOLKIT
-include README.CVS README.WIN32 README.MACOSX silcer tutorial
+include README.CVS
+include README.WIN32
+include README.MACOSX
+include silcer
+include tutorial
 pre-hook distdir/pre-run
index 834caf10fa1a9ce4c9d328522401a925c9903554..f6c1b5f3377c8d90c3a067c668e7874d0b1f6c33 100644 (file)
@@ -94,8 +94,8 @@ EXTRA_DIST =                  \
 #endif SILC_DIST_SERVER
 #ifdef SILC_DIST_TOOLKIT
        toolkit                 \
-#endif SILC_DIST_TOOLKIT
        CodingStyle             \
+#endif SILC_DIST_TOOLKIT
        FAQ                     \
        example_silcd.conf      \
        silcalgs.conf           \
index 946ac7e5c8b564f870960cfa94445b33d6abf690..9abf2d80d494e81242642d5c3e6e220cc09858ad 100644 (file)
@@ -34,5 +34,4 @@ EXTRA_DIST = \
        silcbeos.h \
        silcos2.h \
        silcversion.h.in \
-       silcdistdefs.h \
-       silcdefs.h.in
+       silcdistdefs.h