#
# Author: Pekka Riikonen <priikone@silcnet.org>
#
-# Copyright (C) 2005 Pekka Riikonen
+# Copyright (C) 2005 - 2007 Pekka Riikonen
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
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"
fi
# Run pre-dist-hooks
- ad_run_dist_hooks "$pre_dist_hooks"
+ ad_run_dist_hooks "$pre_dist_hooks" "$params"
# Create distribution directory
ad_debug "Creating distribution directory $am_distdir"
fi
# Run pre-process-dist-hooks
- ad_run_dist_hooks "$pre_p_dist_hooks"
+ ad_run_dist_hooks "$pre_p_dist_hooks" "$params"
# Run excludes
ad_dist_excludes "$excludes" true
ad_process_noprocess false
# Run post-process_dist-hooks
- ad_run_dist_hooks "$post_p_dist_hooks"
+ ad_run_dist_hooks "$post_p_dist_hooks" "$params"
# Make distribution sane
ad_makedist_makesane
rm -f $am_distdir.tar
# Run post-dist-hooks
- ad_run_dist_hooks "$post_dist_hooks"
+ ad_run_dist_hooks "$post_dist_hooks" "$params"
# Cleanup
rm -rf $am_distdir
# 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
+ echo "/^#ifdef $d$/,/^#else !$d$|^#endif $d$/ { next; }" >> $f
else
- echo "/^#else !$d/,/^#endif $d/ { next; }" >> $f
+ echo "/^#else !$d$/,/^#endif $d$/ { next; }" >> $f
fi
done
# 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
+ echo "/^#ifndef $d$/,/^#else $d$|^#endif $d$/ { next; }" >> $f
else
- echo "/^#else $d/,/^#endif $d/ { next; }" >> $f
+ echo "/^#else $d$/,/^#endif $d$/ { next; }" >> $f
fi
done
# 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
+ echo "/^#ifdef $d$/,/^#else \/\* \!$d |^#endif \/\* $d / { next; }" >> $f
else
- echo "/^#else \/\* \!$d/,/^#endif \/\* $d/ { next; }" >> $f
+ echo "/^#else \/\* \!$d /,/^#endif \/\* $d / { next; }" >> $f
fi
done
# 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
+ echo "/^#ifndef $d$/,/^#else \/\* $d |^#endif \/\* $d / { next; }" >> $f
else
- echo "/^#else \/\* $d/,/^#endif \/\* $d/ { next; }" >> $f
+ echo "/^#else \/\* $d /,/^#endif \/\* $d / { next; }" >> $f
fi
done
#
# Run hooks
#
-# Arguments: ad_run_hooks <hooks>
+# Arguments: ad_run_hooks <hooks> <params>
#
ad_run_hooks()
{
if test '!' -f $i; then
ad_fatal "Hook script $i does not exist"
fi
- ad_log " sh $i \"$distribution\" \"$dist_version\" \"$package\""
- sh $i "$distribution" "$dist_version" "$package" || exit 1
+ ad_log " sh $i \"$distribution\" \"$dist_version\" \"$package\" \"$2\""
+ sh $i "$distribution" "$dist_version" "$package" "$2" || exit 1
done
ad_log ""
#
# Run dist hooks
#
-# Arguments: ad_run_dist_hooks <hooks>
+# Arguments: ad_run_dist_hooks <hooks> <params>
#
ad_run_dist_hooks()
{
ad_fatal "Dist hook script $i does not exist"
fi
- ad_log " sh $i \"$distribution\" \"$dist_version\" \"$package\" \"$am_distdir\""
- sh $i "$distribution" "$dist_version" "$package" "$am_distdir" || exit 1
+ 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 ""
###############################################################################
# Autodist code
-usage="Usage: autodist [options] [distribution] [version]"
+usage="Usage: autodist [options] [distribution] [version] [params]"
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.
+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
echo "@PACKAGE@ (@PACKAGE_NAME@) $ver" 1>&2;
echo "Written by Pekka Riikonen" 1>&2;
echo 1>&2;
- echo "Copyright (C) 2004 - 2005 SILC Project" 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;
ad_fatal "DISTDEFS not defined in $distdir/autodist.conf"
fi
+# Get extra parameters from command line
+shift
+
#
# Run pre-hooks
#
-ad_run_hooks "$pre_hooks"
+ad_run_hooks "$pre_hooks" "$@"
#
# Generate the Makefile.am files from Makefile.ad files
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_run_hooks "$post_hooks" "$@"
ad_log "Source tree processed successfully."
ad_debug "Done, now run ./configure and make."