3 # Author: Pekka Riikonen <priikone@silcnet.org>
5 # Copyright (C) 2005 - 2007 Pekka Riikonen
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions are
12 # 1. Redistributions of source code must retain the above copyright
13 # notice, this list of conditions and the following disclaimer.
14 # 2. Redistributions in binary form must reproduce the above copyright
15 # notice, this list of conditions and the following disclaimer in the
16 # documentation and/or other materials provided with the distribution.
17 # 3. The name of the author may not be used to endorse or promote
18 # products derived from this software without specific prior written
21 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
24 # NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
26 # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 ###############################################################################
36 # Be Bourne compatible
37 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
38 # Despite of this, we have managed to segfault some zsh's.
41 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
42 # is contrary to our usage. Disable this feature.
43 alias -g '${1+"$@"}'='"$@"'
45 DUALCASE=1; export DUALCASE # for MKS sh
47 # Support unset when possible.
48 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
54 # Work around bugs in pre-3.0 UWIN ksh.
55 $as_unset ENV MAIL MAILPATH
62 LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
63 LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
66 if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
67 eval $as_var=C; export $as_var
74 ###############################################################################
77 # Packaging and compressing
83 # Distribution subdirectory
87 # This current distribution
89 distfile=$distribution
94 # All inherited distributions in this distribution
97 # All distribution defines for this distribution
100 # All distribution undefines for this distribution
103 # All distribution options
126 # Distribution license and license header
130 # Whether to output ad_debug information
137 ###############################################################################
139 if test -f "$distdir/autodist.conf"; then
140 . $distdir/autodist.conf
146 ###############################################################################
150 # Print out debug information if debugging is enabled. To enable debugging
151 # set the global variable "debug" to true value.
153 # Arguments: ad_debug <ad_debug string>
157 if test x$debug = xtrue; then
165 # Prints out error message and exits the script.
167 # Arguments: ad_fatal <error message>
173 echo autodist: error: $1
179 # Prints out warning message
181 # Arguments: ad_warning <warning message>
187 echo autodist: warning: $1
194 # Arguments: ad_log_open <logfile>
202 This file contains messages produced by the Autodist $ver.
208 # Prints to an open log file
214 if test x$nolog = xfalse; then
220 # Initializes the Autodist environment, creates default distribution
221 # directory, and default distribution.
223 # Arguments: ad_initialize
227 ad_debug "Initializing Autodist environment"
229 # Create default distdir
230 if test '!' -f $distdir; then
234 # Create Autodist configuration file
235 if test -f @AUTODISTDIR@/autodist.conf; then
236 cp -p @AUTODISTDIR@/autodist.conf $distdir
239 # Create default distribution
240 if test -f @AUTODISTDIR@/default; then
241 cp -p @AUTODISTDIR@/default $distdir
244 ad_debug "Autodist environment initialized"
248 # Creates the distdefs header file including defined distdefs
250 # Arguments: ad_create_distdefs_h
252 ad_create_distdefs_h()
254 ad_debug "Creating distdef header file"
260 Automatically generated by Autodist $ver. Do not edit.
262 Generated: `date` by `whoami`
263 Distribution: $distribution
267 #ifndef _`echo $DP`_DISTDEFS_H
268 #define _`echo $DP`_DISTDEFS_H
274 echo "#define $i 1" >>$fname
279 #endif /* _`echo $DP`_DISTDEFS_H */
282 ad_debug "Distdef header file created"
286 # Creates the main configure script for the distribution. This runs
287 # the aclocal, autoheader and autoconf tools.
289 # Arguments: ad_make_configure
293 local run_autoconf=false
295 ad_debug "Starting configure creation"
299 if test "$ACLOCAL"; then
300 ad_debug "Running aclocal"
301 if test x$debug = xtrue; then
304 $ACLOCAL 1>/dev/null 2>/dev/null
306 if test $? != 0; then
307 ad_fatal "aclocal failed"
311 if test "$AUTOCONF"; then
312 ad_debug "Running autoconf"
314 if test $? != 0; then
315 ad_fatal "autoconf failed"
320 if test "$AUTOHEADER"; then
321 ad_debug "Running autoheader"
323 if test $? != 0; then
324 ad_fatal "autoheader failed"
328 if test "$LIBTOOLIZE"; then
329 ad_debug "Running libtoolize"
331 if test $? != 0; then
332 ad_fatal "libtoolize failed"
336 if test x$run_autoconf = xtrue; then
337 if test '!' -f configure; then
338 ad_fatal "creating configure script failed"
342 ad_debug "Ending configure creation"
346 # Creates the configure.ac script from the configure.ad fragments in
347 # the source tree. Takes the source configure file as argument which
348 # is used to create the actual configure.ac.
350 # Arguments: ad_make_configure_ac <configure_ac_source>
352 ad_make_configure_ac()
356 ad_debug "Starting creating configure.ac: $1"
359 ad_log "Following configure.ad files were processed into configure.ac:"
360 ad_log "--------------------------------------------------------------"
362 if test '!' -f $1; then
363 ad_fatal "The configure file '$1' does not exist"
366 check="`sed 's/^[ ]*//' < $1 | grep -v "^#" | grep -e "AD_INIT"`"
367 if test -z $check; then
368 rm -f configure.ad.cfs
369 rm -f $fname $fname.tmp
370 ad_fatal "The 'AD_INIT' macro has not been set in configure.ac"
373 rm -f configure.ac configure.ad.cfs
375 cfs=`find . -type f -name configure\*\.ad`
378 if test "x$i" = "x$1"; then
382 ad_debug "including $i"
385 cat $i >> configure.ad.cfs
388 if test -f configure.ad.cfs; then
389 check="`sed 's/^[ ]*//' < $1 | grep -v "^#" | grep -e "AD_INCLUDE_CONFIGURE"`"
390 if test -z $check; then
391 rm -f configure.ad.cfs
392 ad_warning "configure.ad fragments found but 'AD_INCLUDE_CONFIGURE' is not set"
396 # Header for configure.ac
397 fname="configure.tmp.ac"
399 # Automatically generated by Autodist $ver. Do not edit.
400 # To make changes edit the configure.ad file in the source tree.
402 # Source: configure.ad
403 # Generated: `date` by `whoami`
404 # Distribution: $distribution
409 ad_debug "creating configure.ac"
410 if test -f configure.ad.cfs; then
411 sed '/^AD_INCLUDE_CONFIGURE/ r configure.ad.cfs' $1 > $fname.tmp
412 sed -e "/^AD_INCLUDE_CONFIGURE/d" $fname.tmp >> $fname
413 rm -f configure.ad.cfs $fname.tmp
419 sed -e "/AD_INIT/s//AC_INIT([$distribution], [$dist_version], [$bug_report], [$package])/" $fname > $fname.tmp
421 # Remove AD_DISABLE_DEPENDENCIES
422 sed -e "/^AD_DISABLE_DEPENDENCIES/d" $fname.tmp > $fname
424 # Process for distribution
426 ad_process_file $fname $fname.tmp false
428 # Remove any trailing backslashes
429 if test -f "$fname.tmp"; then
430 sed -e :a -e '/\\$/N; s/[ ]*\\\n//; ta' < $fname.tmp > configure.ac
432 cp -p $fname configure.ac
434 rm -f $fname $fname.tmp
436 ad_log " ./configure.ad"
439 ad_debug "Ending creating configure.ac: $1"
443 # Creates the Makefile.in files by running the automake tool.
445 # Arguments: ad_make_makefile_ins
447 ad_make_makefile_ins()
449 ad_debug "Starting creating Makefile.in files"
451 if test "$AUTOMAKE"; then
452 ad_debug "Running automake"
454 if test $? != 0; then
455 ad_fatal "automake failed"
459 ad_debug "Ending creating Makefile.in files"
463 # Creates the Makefile.am files from the Makefile.ad files in the
464 # source tree. This runs the distribution specific processing for the
467 # Arguments: ad_make_makefile_ams
469 ad_make_makefile_ams()
471 ad_debug "Starting creating Makefile.am files"
474 ad_log "Following Makefile.ad files were processed into Makefile.am files:"
475 ad_log "------------------------------------------------------------------"
477 files=`find . -type f -name Makefile\.ad`
481 fname=`echo $ff | sed s/\.ad//`
482 ad_make_makefile_am $ff $fname.am
486 ad_debug "Ending creating Makefile.am files"
490 # Creates Makefile.am file from the Makefile.ad file.
492 # Arguments: ad_make_makefile_am <src> <dst>
494 ad_make_makefile_am()
500 # Disable dependencies if requested
501 dc=`sed 's/^[ ]*//' < configure.ad | grep -v "^#" \
502 | grep "AD_DISABLE_DEPENDENCIES"`
503 if test "$dc" = "AD_DISABLE_DEPENDENCIES"; then
507 # Header for the Makefile.am
509 # Automatically generated by Autodist $ver from Makefile.ad. Do not edit.
510 # To make changes edit the $f file in the source tree.
513 # Generated: `date` by `whoami`
514 # Distribution: $distribution
519 # Run the distribution processing for this Makefile.ad
520 ad_debug "Processing $f to be $fname"
521 ad_process_file $f $fname.tmp false
523 # Remove any trailing backslashes
524 if test -f "$fname.tmp"; then
525 sed -e :a -e '/\\$/N; s/[ ]*\\\n//; ta' < $fname.tmp >> $fname
530 # Enable dependencies if requested
531 if test x$am_deps = xtrue; then
532 # Get list of configure.ad's to get them into deps also
533 cfs=`find . -type f -name configure\*\.ad`
534 cfs=`echo $cfs | sed 's/\.\///g'`
538 # S_AD_ENABLE_DEPENDENCIES
539 \$(srcdir)/Makefile.am: Makefile.ad
540 cd \$(top_srcdir) && autodist -p makefile \$(subdir)/Makefile.ad \$(subdir)/Makefile.am && cd \$(subdir)
541 \$(srcdir)/configure.ac: $cfs
542 cd \$(top_srcdir) && autodist -p configure \$(top_srcdir)/configure.ad && cd \$(subdir)
543 # E_AD_ENABLE_DEPENDENCIES
551 # Processes all files with .ad suffix, with exception of configure*.ad
552 # and Makefile.ad files, for distribution from the source tree.
554 # Arguments: ad_process_ads false
558 ad_debug "Starting processing .ad files"
561 ad_log "Following .ad files were processed:"
562 ad_log "-----------------------------------"
564 files=`find . -type f -name \*\.ad \! -name configure\*\.ad \! -name Makefile\.ad`
567 fname=`echo $i | sed s/\.ad//`
569 ad_debug "Processing $i to be $fname"
570 ad_log " $i into $fname"
572 # Run the distribution processing for this file
573 ad_process_file $i $fname false
574 if test -f $fname; then
575 cp -p $i $fname || exit 1
581 ad_debug "Ending processing .ad files"
585 # Includes files specified in the distribution for inclusion. Used when
586 # creating the distribution for packaging.
588 # include has the following format in distfile:
590 # include <path> [<dest path>]
592 # If only source path, which may be file, directory or regular expression,
593 # is specified the path will be same in distribution. If the destination
594 # path is specified that will be the new name and/or new location of the
595 # source path. This, in effect, is a cp utility with ability to create
596 # directories if they do not exist.
598 # Arguments: ad_dist_includes <includeslist> <recursive> <log>
604 ad_debug "Starting running includes: $1 $2"
606 if test x$3 = xtrue; then
608 ad_log "Following files and directories were included in distribution:"
609 ad_log "--------------------------------------------------------------"
612 # By default do not expand pathnames
615 # Add : separator at the end
616 incs="`echo "$1" | sed 's/$/ : /'`"
622 if test "$i" = ":" && test -z "$src"; then
625 if test -z "$src"; then
629 if test -z "$dst" && test "$i" != ":"; then
635 ad_debug "Including $src into $dst"
637 if test -f "$src"; then
640 if test "$src" = "$dst"; then
641 # Add to same location
642 d=`echo $src | sed 's,/[^/]*$,,'`
643 if test "$d" != "$src" && test "$d" != "." && \
644 test '!' -d $am_distdir/$d; then
645 mkdir -p -- $am_distdir/$d || exit 1
648 # Add to different location
649 check=`echo "$dst" | sed 's/?//; s/*//; s/\[//; s/\]//'`
650 if test "$check" != "$dst"; then
651 ad_fatal "Invalid destination in 'include $src $dst'"
654 d=`echo $dst | sed 's,/[^/]*$,,'`
655 if test "$d" != "$dst" && test "$d" != "." && \
656 test '!' -d $am_distdir/$d; then
657 mkdir -p -- $am_distdir/$d || exit 1
661 if test x$3 = xtrue; then
662 ad_log " $src into $am_distdir/$d"
664 cp -p $src $am_distdir/$d || exit 1
666 elif test -d "$src"; then
669 if test "$src" = "$dst"; then
670 # Add to same location
671 d=`echo $src | sed 's,/[^/]*$,,'`
672 ds=`echo $src | sed 's/\/$//'`
673 if test "$ds" = "$d"; then
674 d=`echo $d | sed 's,/[^/]*$,,'`
676 if test "$ds" = "$d"; then
679 if test '!' -d $am_distdir/$d && test "$ds" != "$d"; then
680 mkdir -p -- $am_distdir/$d || exit 1
683 if test x$3 = xtrue; then
684 ad_log " $src into $am_distdir/$d"
686 cp -pR $src $am_distdir/$d || exit 1
688 # Add to different location
689 check=`echo "$dst" | sed 's/?//; s/*//; s/\[//; s/\]//'`
690 if test "$check" != "$dst"; then
691 ad_fatal "Invalid destination in 'include $src $dst'"
694 d=`echo $dst | sed 's,/[^/]*$,,'`
695 ds=`echo $dst | sed 's/\/$//'`
696 if test "$ds" = "$d"; then
697 d=`echo $d | sed 's,/[^/]*$,,'`
699 if test '!' -d $am_distdir/$d && test "$dst" != "$d"; then
700 mkdir -p -- $am_distdir/$d || exit 1
703 if test x$3 = xtrue; then
704 ad_log " $src into $am_distdir/$dst"
706 cp -pR $src $am_distdir/$dst || exit 1
709 elif test x$2 != xtrue; then
710 # We assume regular expression in filename
711 check=`echo "$src" | sed 's/?//; s/*//; s/\[//; s/\]//'`
712 if test "$check" == "$src"; then
713 if test '!' -a $src; then
714 ad_fatal "Including $src: No such file or directory"
721 # Recursively call this function with expanded pathnames. The
722 # reason why we don't let sh by default expand pathnames is that
723 # the include's destination is optional. If sh expands by default
724 # we don't know the destination. For this reason, we handle the
725 # expansion here ourselves.
727 # If src and dst are same, then expand the pathname as we'll copy
728 # matches to their own locations.
729 if test "$src" = "$dst"; then
730 # Expand pathnames, and format to our include format
732 srcs=`echo $src | sed -e 's/ / : /g' -e 's/^/ : /'` || exit 1
735 # Destination is new, and it has to be a directory.
736 check=`echo "$dst" | sed 's/?//; s/*//; s/\[//; s/\]//'`
737 if test "$check" != "$dst"; then
738 ad_fatal "Invalid destination in 'include $src $dst'"
741 # Make sure dst has / at the end, as this must be a directory
742 dst=`echo $dst | sed 's/\/$//; s/$/\//'`
745 dste=`echo $dst | sed 's/\\//\\\\\//g'` || exit 1
747 # Expand pathnames, and format to our include format
749 srcs=`echo $src | sed -e "s/ / $dste : /g" \
750 -e 's/^/ : /' -e "s/$/ $dste/"` || exit 1
754 # Include recursively
755 ad_dist_includes "$srcs" true
757 elif test '!' -a $src; then
758 ad_fatal "Including $src: No such file or directory"
765 if test x$3 = xtrue; then
771 ad_debug "Ending running includes: $1 $2"
775 # Excludes files specified in the distribution for exclusion. Used when
776 # creating the distribution for packaging.
778 # exclude has the following format in distfile:
782 # The path may be file, directory or regular expression.
784 # Arguments: ad_dist_includes <excludelist> <log>
788 ad_debug "Starting running excludes: $1"
790 if test x$2 = xtrue; then
792 ad_log "Following files and directories were excluded from distribution:"
793 ad_log "----------------------------------------------------------------"
797 cd $am_distdir || exit 1
800 ad_debug "Excluding $i"
801 if test x$2 = xtrue; then
808 if test x$2 = xtrue; then
812 ad_debug "Ending running excludes: $1"
816 # Processes the entire tree for distribution. This inspects files other
817 # than source and header files, with exception of any file with .ad
818 # suffix, and performs distribution processing for the file. The original
819 # file is replaced with the processed file. This function is used when
820 # creating the distribution for packaging.
822 # Arguments: ad_process_tree <directory>
826 ad_debug "Starting processing non-source files: $1"
828 # Take files, except source and .ad files.
829 files=`find $am_distdir -type f \! -name \*\.ad \( \
830 \! -name \*\.[cC] -a \
831 \! -name \*\.[cC][cCpP] -a \
832 \! -name \*\.[cC][xX][xX] -a \
833 \! -name \*\.[cC][pP][pP] -a \
834 \! -name \*\.[cC]++ -a \
836 \! -name \*\.[hH] -a \
838 \! -name \*\.[cC]\.in -a \
839 \! -name \*\.[cC][cCpP]\.in -a \
840 \! -name \*\.[cC][xX][xX]\.in -a \
841 \! -name \*\.[cC][pP][pP]\.in -a \
842 \! -name \*\.[cC]++\.in -a \
843 \! -name \*\.m\.in -a \
844 \! -name \*\.[hH]\.in -a \
845 \! -name \*\.hh\.in \)`
846 files=`echo $files | sed 's/$am_distdir//'`
850 ad_process_file $ff $ff.tmp true
851 if test -f $ff.tmp; then
853 mv -f $ff.tmp $ff || exit 1
857 ad_debug "Ending processing non-source files: $1"
861 # Processes the entire source tree for distribution. This inspects files
862 # in the source tree, with exception of any file with .ad suffix, and
863 # performs distribution processing for the file. The original file is
864 # replaced with the processed file. This function is used when creating
865 # the distribution for packaging.
867 # Call this before ad_process_tree().
869 # Arguments: ad_process_source_tree <directory>
871 ad_process_source_tree()
873 ad_debug "Starting processing source files: $1"
875 # We take only C/C++ (and other files that are run through traditional
876 # preprocessor) files since they use the C compiler friendly version
877 # of distdefs. Other files are not assumed to use them.
878 files=`find $am_distdir -type f \! -name \*\.ad \( \
880 -name \*\.[cC][cCpP] -o \
881 -name \*\.[cC][xX][xX] -o \
882 -name \*\.[cC][pP][pP] -o \
883 -name \*\.[cC]++ -o \
891 -name \*\.[fF][pP][pP] -o \
894 -name \*\.[cC]\.in -o \
895 -name \*\.[cC][cCpP]\.in -o \
896 -name \*\.[cC][xX][xX]\.in -o \
897 -name \*\.[cC][pP][pP]\.in -o \
898 -name \*\.[cC]++\.in -o \
900 -name \*\.[hH]\.in -o \
905 ad_process_source_file $ff $ff.tmp true
906 if test -f $ff.tmp; then
908 mv -f $ff.tmp $ff || exit 1
912 ad_debug "Ending processing source files: $1"
916 # Removes Autodist dependencies, as they cannot be delivered to distribution.
918 # Arguments: ad_remove_dependencies <distdir>
920 ad_remove_dependencies()
922 ad_debug "Removing dependencies"
924 ams=`find $1 -type f -name Makefile\.\*`
927 sed -e "/^# S_AD_ENABLE_DEPENDENCIES/,/^# E_AD_ENABLE_DEPENDENCIES/d" $i > $i.tmp
933 # Makes distribution sane, ala modtimes. Since we modify the distribution
934 # we need to make it sane after that.
936 # Arguments: ad_makedist_makesane
938 ad_makedist_makesane()
940 ad_debug "Making distribution file modtimes sane"
942 # DO NOT change these order unless you know what you are doing.
943 if test -f $am_distdir/configure.ac; then
944 touch $am_distdir/configure.ac
947 if test -f $am_distdir/aclocal.m4; then
948 touch $am_distdir/aclocal.m4
951 if test '!' -f Makefile; then
952 ad_fatal "Makefile: No such file or directory"
955 configh=`grep "^CONFIG_HEADER" Makefile | cut -d= -f2 | sed 's/^[ ]*//'`
956 touch $am_distdir/$configh.in 1>/dev/null 2>/dev/null
958 files=`find $am_distdir -type f -name Makefile\.in`
964 if test -f $am_distdir/configure; then
965 touch $am_distdir/configure
968 if test -f $am_distdir/config.status; then
969 touch $am_distdir/config.status
972 ad_debug "Distribution made sane"
976 # Creates distribution of the source tree. All files in the distribution
977 # will be processed and the distribution will be packaged.
979 # Arguments: ad_makedist
983 ad_log_open "makedist.log"
984 ad_debug "Starting distribution creation"
986 ad_log "Created distribution"
987 ad_log "--------------------"
990 if test '!' -f autodist.dist; then
991 ad_fatal "Autodist has not been run yet to prepare source tree"
994 if test -z $MAKE; then
995 ad_fatal "The MAKE variable is not set in autodist.conf"
998 # Get distdir from Makefile
999 if test '!' -f Makefile; then
1000 ad_fatal "The source tree is not configured, run ./configure first"
1003 # Parse the requested distribution
1004 distribution=`grep "dist:" < autodist.dist | cut -d: -f2` || exit 1
1005 dist_version=`grep "ver:" < autodist.dist | cut -d: -f2` || exit 1
1006 am_distdir=`grep "distdir:" < autodist.dist | cut -d: -f2` || exit 1
1007 params=`grep "params:" < autodist.dist | cut -d: -f2` || exit 1
1008 ad_parse_distribution $distribution false
1009 ad_log " Distribution: $distribution $dist_version"
1010 ad_log " Destination directory: $am_distdir"
1014 if test x$opt_no_dist = xtrue; then
1015 ad_fatal "The '$distribution' distribution cannot be packaged"
1018 # Run pre-dist-hooks
1019 ad_run_dist_hooks "$pre_dist_hooks" "$params"
1021 # Create distribution directory
1022 ad_debug "Creating distribution directory $am_distdir"
1023 $MAKE distdir || exit 1
1024 chmod -R a+r $am_distdir
1026 if test '!' -d $am_distdir; then
1027 ad_fatal "Distribution directory $am_distdir not created"
1030 # Run pre-process-dist-hooks
1031 ad_run_dist_hooks "$pre_p_dist_hooks" "$params"
1034 ad_dist_excludes "$excludes" true
1037 ad_dist_includes "$includes" false true
1039 # Include specific license file if specified
1040 if test "$license" != ""; then
1042 ad_log "License file in distribution:"
1043 ad_log "-----------------------------"
1044 ad_log " $license into $am_distdir/COPYING"
1046 cp -p $license $am_distdir/COPYING || exit 1
1049 # Remove dependencies
1050 ad_remove_dependencies $am_distdir
1052 # Process noprocesses, first pass
1053 ad_process_noprocess true
1056 ad_log "Following files were not re-licensed:"
1057 ad_log "-------------------------------------"
1059 # Process source files
1060 ad_debug "Process distribution source tree"
1061 ad_process_source_tree $am_distdir
1063 # Process non-source files
1064 ad_debug "Process distribution tree"
1065 ad_process_tree $am_distdir
1069 # Process noprocesses, second pass
1070 ad_process_noprocess false
1072 # Run post-process_dist-hooks
1073 ad_run_dist_hooks "$post_p_dist_hooks" "$params"
1075 # Make distribution sane
1076 ad_makedist_makesane
1079 ad_debug "Packaging distribution"
1080 tar chof $am_distdir.tar $am_distdir || exit 1
1083 ad_debug "Compressing distribution package"
1084 if test x$ad_gzip = xtrue; then
1085 ad_debug "Compressing distribution package $am_distdir.tar.gz"
1086 gzip -9 -c $am_distdir.tar > $am_distdir.tar.gz || exit 1
1088 if test x$ad_bzip2 = xtrue; then
1089 ad_debug "Compressing distribution package $am_distdir.tar.bz2"
1090 bzip2 -9 -c $am_distdir.tar > $am_distdir.tar.bz2 || exit 1
1092 if test x$ad_compress = xtrue; then
1093 ad_debug "Compressing distribution package $am_distdir.tar.Z"
1094 compress -c $am_distdir.tar > $am_distdir.tar.Z || exit 1
1096 if test x$ad_zip = xtrue; then
1097 rm -f $am_distdir.zip
1098 ad_debug "Compressing distribution package $am_distdir.zip"
1099 zip -rq $am_distdir.zip $am_distdir || exit 1
1101 rm -f $am_distdir.tar
1103 # Run post-dist-hooks
1104 ad_run_dist_hooks "$post_dist_hooks" "$params"
1109 ad_log "Distribution created successfully."
1111 ad_debug "Ending distribution creation"
1115 # Handles distribution options.
1117 # option has the following format in distfile:
1121 # Following options are supported:
1127 # Arguments: ad_handle_options <options>
1131 ad_debug "Handling options: $1"
1135 if test "$i" = "template"; then
1138 elif test "$i" = "no-dist"; then
1141 elif test "$i" = "no-inherit"; then
1149 # Clears set options
1151 # Arguments: ad_clear_options
1157 opt_no_inherit=false
1161 # Parses the distribution. Gets all distribution defines from the
1162 # distribution. This also expands all inherited distributions recursively
1163 # to get all inherited distribution defines. From inherited distributions
1164 # their name and package name is not inherited.
1166 # Arguments: ad_parse_distribution <distribution name> <inherit>
1168 ad_parse_distribution()
1187 ad_debug "Starting parsing distribution: $1 $2"
1189 if test '!' -f $distdir/$1; then
1190 ad_fatal "Distribution '$1' is not declared"
1193 # Get and enforce prereq version
1194 prereq=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1195 | grep "prereq " | cut -d' ' -f2- | sort | uniq`
1196 if test '!' -z $prereq; then
1197 if test "$ver" \< "$prereq"; then
1198 ad_fatal "Autodist $prereq or newer is required for distribution $1"
1203 inhs=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1204 | grep "inherit " | cut -d' ' -f2 | sort | uniq`
1207 defs=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1208 | grep "define " | cut -d' ' -f2 | sort | uniq`
1210 if test "$inhs" = "" && test "$defs" = ""; then
1211 ad_fatal "Distribution '$1' does not define anything"
1214 # Get undefined distdefs
1215 undefs=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1216 | grep "undef " | cut -d' ' -f2 | sort | uniq`
1219 incs=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1220 | grep "include " | sed 's/include / : /'`
1223 excs=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1224 | grep "exclude " | cut -d' ' -f2- | sort | uniq`
1227 nops=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1228 | grep "noprocess " | cut -d' ' -f2- | sort | uniq`
1231 opts=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1232 | grep "option " | cut -d' ' -f2- | sort | uniq`
1235 ad_handle_options "$opts"
1236 if test x$2 = xtrue && test x$opt_no_inherit = xtrue; then
1237 ad_fatal "Distribution '$1' cannot be inherited"
1239 if test x$2 = xfalse && test x$opt_template = xtrue; then
1240 ad_fatal "Template distribution '$1' cannot be prepared or packaged"
1243 ad_debug "inherits: $inhs"
1244 ad_debug "distdefs: $defs"
1245 ad_debug "includes: $incs"
1246 ad_debug "excludes: $excs"
1247 ad_debug "noprocess: $nops"
1248 ad_debug "undistdefs: $undefs"
1249 ad_debug "options: $opts"
1251 # Expand distdefs from inherited distributions
1254 if test x$1 = x$i; then
1255 ad_fatal "Infinite recursion detected. Fix the '$distdir/$1' \
1256 distribution to not have 'inherit $i' declared."
1259 if test '!' -f $distdir/$i; then
1260 ad_fatal "Distribution '$i' is not declared (inherited from '$1')"
1263 ad_parse_distribution $i true
1268 license=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1269 | grep "license " | cut -d' ' -f2`
1270 licenseh=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1271 | grep "license-header " | sed 's/license-header / : /'`
1273 ad_debug "license: $license"
1274 ad_debug "licenseh: $licenseh"
1276 if test x$2 = xfalse; then
1277 # Take rest of the stuff from top distribution
1279 # We take precedence on defined and undefined distdefs. Remove
1280 # undefined distdefs if we have defined them.
1283 ad_debug "defining undefined $d distdef"
1284 undistdefs=`echo $undistdefs | sed s/$d//g`
1287 # Get distribution name
1288 dname=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1289 | grep "name " | cut -d' ' -f2-`
1291 if test "$dname"; then
1295 # Get distribution package name (optional)
1296 dpname=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1297 | grep "package " | cut -d' ' -f2`
1299 if test "$dpname"; then
1302 package=$distribution
1305 # Get Bug-report email address (optional)
1306 bugr=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1307 | grep "bug-report " | cut -d' ' -f2-`
1309 if test "$bugr"; then
1313 ad_debug "distribution: $distribution"
1314 ad_debug "package: $package"
1315 ad_debug "bug-report: $bug_report"
1317 # Get hooks (optional)
1318 prh=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1319 | grep "pre-hook " | cut -d' ' -f2-`
1320 poh=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1321 | grep "post-hook " | cut -d' ' -f2-`
1322 prdh=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1323 | grep "pre-dist-hook " | cut -d' ' -f2-`
1324 podh=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1325 | grep "post-dist-hook " | cut -d' ' -f2-`
1326 prpdh=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1327 | grep "pre-process-dist-hook " | cut -d' ' -f2-`
1328 popdh=`sed 's/^[ ]*//' < $distdir/$1 | grep -v "^#" \
1329 | grep "post-process-dist-hook " | cut -d' ' -f2-`
1331 pre_hooks="$pre_hooks $prh"
1332 post_hooks="$post_hooks $poh"
1333 pre_dist_hooks="$pre_dist_hooks $prdh"
1334 post_dist_hooks="$post_dist_hooks $podh"
1335 pre_p_dist_hooks="$pre_p_dist_hooks $prpdh"
1336 post_p_dist_hooks="$post_p_dist_hooks $popdh"
1337 doptions="$doptions $opts"
1339 ad_handle_options "$doptions"
1340 ad_debug "options: $doptions"
1344 inherits="$inherits $inhs"
1345 distdefs="$distdefs $defs"
1346 includes="$includes $incs"
1347 excludes="$excludes $excs"
1348 noprocess="$noprocess $nops"
1349 undistdefs="$undistdefs $undefs"
1351 ad_debug "Ending parsing distribution: $1 $2"
1355 # Processes parsed distdefs. Removes duplicates, and undefined distdefs
1356 # from the distdefs.
1358 # Arguments: ad_process_distdefs
1360 ad_process_distdefs()
1362 ad_debug "Starting processing distdefs"
1365 ad_log "Following distdefs were processed:"
1366 ad_log "----------------------------------"
1368 # Remove all undefined distribution defines
1369 for i in $undistdefs
1371 ad_debug "undefining $i distdef"
1372 distdefs=`echo $distdefs | sed s/$i//g`
1375 rm -f autodist.tmp.defs
1377 # Remove duplicate distdefs
1380 echo $i >>autodist.tmp.defs
1382 distdefs=`sort < autodist.tmp.defs | uniq`
1383 distdefs=`echo $distdefs`
1384 rm -f autodist.tmp.defs
1393 ad_debug "distdefs=$distdefs"
1395 ad_debug "Ending processing distdefs"
1399 # Processes for a license header change.
1401 # Arguments: ad_process_license_header <scriptfile> <sourcefile>
1403 ad_process_license_header()
1405 ad_debug "Starting license header processing"
1407 # Add : separator at the end
1408 lics=`echo "$licenseh" | sed 's/$/ : /'`
1414 if test "$i" = ":" && test -z "$src"; then
1417 if test -z "$src"; then
1421 if test -z "$dst" && test "$i" != ":"; then
1424 ad_fatal "Missing argument in 'license-header $src'"
1427 ad_debug "Replacing $src license with $dst license"
1429 if test '!' -f $src; then
1430 ad_fatal "License header $src: No such file or directory"
1433 if test '!' -f $dst; then
1434 ad_fatal "License header $dst: No such file or directory"
1437 # Awk script to replace the license header
1438 fl=`sed q $src | sed 's/\\//\\\\\//g' > autodist.lsrc` || exit 1
1439 ll=`sed -n '$p' $src | sed 's/\\//\\\\\//g' > autodist.ldst` || exit 1
1440 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
1441 rm -f autodist.lsrc autodist.ldst
1447 ad_debug "Ending license header processing"
1451 # Process specified noprocesses. This is called during makedist.
1452 # The noprocess first copies the noprocess files and dirs into a temp
1453 # directory, and then removes them from the distdir. This way they are
1454 # not processed by Autodist. After processing they are returned to their
1455 # correct locations from the temp dir. Dirty, yeah, but the way we do
1456 # this until better one comes along.
1458 # Arguments: ad_process_noprocess <process>
1460 # If <process> is true this excludes and if false this includes.
1462 ad_process_noprocess()
1464 ad_debug "Starting running noprocesses"
1470 if test x$1 = xtrue; then
1472 ad_log "Following files and directories were not processed:"
1473 ad_log "---------------------------------------------------"
1475 f="$cur/autodist__noprocess"
1477 mkdir -p -- $f || exit 1
1479 # First, include them to new location with correct directory structure.
1480 old_am_distdir="$am_distdir"
1481 cd $am_distdir || exit 1
1484 nops=`echo $nops | sed -e 's/ / : /g' -e 's/^/ : /'` || exit 1
1485 ad_dist_includes "$nops" false false
1486 am_distdir="$old_am_distdir"
1488 # Then, remove from distdir (they are in temp dir now)
1498 # Copy from the temp dir back to distdir
1499 cd autodist__noprocess || exit 1
1500 old_am_distdir="$am_distdir"
1501 am_distdir="$cur/$old_am_distdir"
1503 nops=`echo $nops | sed -e 's/ / : /g' -e 's/^/ : /'` || exit 1
1505 ad_dist_includes "$nops" false false
1507 am_distdir="$old_am_distdir"
1509 rm -rf autodist__noprocess
1514 ad_debug "Ending running noprocesses"
1518 # Process a file given as argument for the distribution.
1520 # Arguments: ad_process_file <filepath> <dest_filepath> <re-license>
1529 # Process only regular files
1530 if test '!' -f $1; then
1534 ad_debug "Starting processing file: $1 $2"
1536 f="autodist.tmp.script"
1539 # If license header is provided, replace the license header in the file.
1540 if test x$3 = xtrue; then
1541 ad_process_license_header $f $1
1544 # Get defined distribution defines
1545 defs=`awk "/^#ifdef "$DP"_DIST_|^#else "$DP"_DIST_/ { print; }" \
1546 $1 |cut -d'*' -f2 |cut -d' ' -f2 | sort | uniq`
1548 # Get explicitly not-defined distribution defines
1549 ndefs=`awk "/^#ifndef "$DP"_DIST_|^#else !"$DP"_DIST_/ { print; }" \
1550 $1 |cut -d'*' -f2 |cut -d' ' -f2 | cut -d'!' -f2 | sort | uniq`
1552 ad_debug "defs in $1: $defs"
1553 ad_debug "ndefs in $1: $ndefs"
1555 # Create the script to include and exclude stuff in the file according
1556 # to the distribution defines
1559 ad_debug "processing ifdefs"
1565 if test x$d = x$i; then
1571 # If distribution define was not found exclude those lines from the file.
1572 # This also handles the #ifdef's #else (ie. #ifndef) branch.
1573 if test x$found = xfalse; then
1574 ad_debug "ifdef $d will be excluded (it is NOT defined)"
1575 echo "/^#ifdef $d$/,/^#else !$d$|^#endif $d$/ { next; }" >> $f
1577 echo "/^#else !$d$/,/^#endif $d$/ { next; }" >> $f
1582 ad_debug "processing ifndefs"
1588 if test x$d = x$i; then
1594 # If distribution define was found exclude those lines from the file.
1595 # This also handles the #ifndef's #else (ie. #ifdef) branch.
1596 if test x$found = xtrue; then
1597 ad_debug "ifndef $d will be excluded (it IS defined)"
1598 echo "/^#ifndef $d$/,/^#else $d$|^#endif $d$/ { next; }" >> $f
1600 echo "/^#else $d$/,/^#endif $d$/ { next; }" >> $f
1604 # Now process the file with the script
1607 # Those distdef lines that remain in the file are removed to make
1608 # the appearance prettier
1609 echo "/^#ifdef "$DP"_DIST_|^#endif "$DP"_DIST_|^#else "$DP"_DIST_|^#else !"$DP"_DIST_|^#ifndef "$DP"_DIST_/ { next; }" >> $f
1610 echo "{ print; }" >> $f
1612 # Execute the script
1613 cp -p $1 $2 || exit 1
1614 awk -f $f $1 > $2 || exit 1
1619 # Log if file was not relicensed
1620 if test -f "$1.norelicense"; then
1622 rm -f $1.norelicense
1625 ad_debug "Ending processing file: $1 $2"
1629 # Process a source file given as argument for the distribution.
1631 # Arguments: ad_process_source_file <filepath> <dest_filepath> <re-license>
1633 ad_process_source_file()
1640 # Process only regular files
1641 if test '!' -f $1; then
1645 ad_debug "Starting processing source file: $1 $2"
1647 f="autodist.tmp.script"
1650 # If license header is provided, replace the license header in the file.
1651 if test x$3 = xtrue; then
1652 ad_process_license_header $f $1
1655 # Get defined distribution defines
1656 defs=`awk '/^#ifdef SILC_DIST_|^#else \/\* SILC_DIST_/ { print; }' \
1657 $1 |cut -d'*' -f2 |cut -d' ' -f2 | sort | uniq`
1659 # Get explicitly not-defined distribution defines
1660 ndefs=`awk '/^#ifndef SILC_DIST_|^#else \/\* \!SILC_DIST_/ { print; }' \
1661 $1 |cut -d'*' -f2 |cut -d' ' -f2 | cut -d'!' -f2 | sort | uniq`
1663 ad_debug "defs in $1: $defs"
1664 ad_debug "ndefs in $1: $ndefs"
1666 # Create the script to include and exclude stuff in the file according
1667 # to the distribution defines
1670 ad_debug "processing ifdefs"
1676 if test x$d = x$i; then
1682 # If distribution define was not found exclude those lines from the file.
1683 # This also handles the #ifdef's #else (ie. #ifndef) branch.
1684 if test x$found = xfalse; then
1685 ad_debug "ifdef $d will be excluded (it is NOT defined)"
1686 echo "/^#ifdef $d$/,/^#else \/\* \!$d |^#endif \/\* $d / { next; }" >> $f
1688 echo "/^#else \/\* \!$d /,/^#endif \/\* $d / { next; }" >> $f
1693 ad_debug "processing ifndefs"
1699 if test x$d = x$i; then
1705 # If distribution define was found exclude those lines from the file.
1706 # This also handles the #ifndef's #else (ie. #ifdef) branch.
1707 if test x$found = xtrue; then
1708 ad_debug "ifndef $d will be excluded (it IS defined)"
1709 echo "/^#ifndef $d$/,/^#else \/\* $d |^#endif \/\* $d / { next; }" >> $f
1711 echo "/^#else \/\* $d /,/^#endif \/\* $d / { next; }" >> $f
1715 # Now process the file with the script
1718 # Those distdef lines that remain in the file are removed to make
1719 # the appearance prettier
1720 echo "/^#ifdef SILC_DIST_|^#endif \/\* SILC_DIST_|^#else \/\* SILC_DIST_|^#else \/\* \!SILC_DIST_|^#ifndef SILC_DIST_/ { next; }" >> $f
1721 echo "{ print; }" >> $f
1723 # Execute the script
1724 cp -p $1 $2 || exit 1
1725 awk -f $f $1 > $2 || exit 1
1730 # Log if file was not relicensed
1731 if test -f "$1.norelicense"; then
1733 rm -f $1.norelicense
1736 ad_debug "Ending processing source file: $1 $2"
1740 # Processes a file. This is the -p, --process option.
1742 # Arguments: ad_process <type> <src> <dst>
1746 ad_debug "Starting process: $1 $2 $3"
1750 if test '!' -f autodist.dist; then
1751 ad_fatal "Autodist has not been run yet to prepare source tree"
1754 # Parse distribution
1755 distribution=`grep "dist:" < autodist.dist | cut -d: -f2` || exit 1
1756 dist_version=`grep "ver:" < autodist.dist | cut -d: -f2` || exit 1
1757 ad_parse_distribution $distribution false
1764 ad_fatal "File type $1 requires <dst> argument"
1766 ad_make_makefile_am $2 $3
1770 ad_make_configure_ac $2
1775 ad_fatal "File type $1 requires <dst> argument"
1777 ad_process_file $2 $3 false
1782 ad_fatal "File type $1 requires <dst> argument"
1784 ad_process_source_file $2 $3 false
1788 ad_fatal "Unknown file type: $1";
1796 # Arguments: ad_run_hooks <hooks> <params>
1800 ad_debug "Running hooks: $1"
1803 ad_log "Hooks executed:"
1804 ad_log "--------------"
1808 if test '!' -f $i; then
1809 ad_fatal "Hook script $i does not exist"
1811 ad_log " sh $i \"$distribution\" \"$dist_version\" \"$package\" \"$2\""
1812 sh $i "$distribution" "$dist_version" "$package" "$2" || exit 1
1816 ad_debug "Ending running hooks: $1"
1822 # Arguments: ad_run_dist_hooks <hooks> <params>
1826 ad_debug "Starting running distributions hooks: $1"
1829 ad_log "Distribution hooks executed:"
1830 ad_log "----------------------------"
1834 if test '!' -f $i; then
1835 ad_fatal "Dist hook script $i does not exist"
1838 ad_log " sh $i \"$distribution\" \"$dist_version\" \"$package\" \"$am_distdir\" \"$2\""
1839 sh $i "$distribution" "$dist_version" "$package" "$am_distdir" "$2" || exit 1
1843 ad_debug "Ending running distribution hooks"
1846 ###############################################################################
1849 usage="Usage: autodist [options] [distribution] [version] [params]"
1851 Autodist prepares source tree for configuration, compilation and
1852 distribution. Generates Automake.am files from Automake.ad files,
1853 configure.ac file from configure.ad file(s), generates the configure
1854 script by running Autoconf tool, and generates Makefile.in files by
1855 running Automake tool.
1858 -h, --help print this help, then exit
1859 -V, --version print version number, then exit
1860 -v, --verbose verbosely report processing
1861 -d, --distdir <dir> search distributions from <dir>
1862 -s, --distdefs [<dist>] print distribution defines of <dist>, then exit
1863 -i, --init initialize Autodist environment, create default
1864 distribution directory and distribution, then exit
1865 -p, --process <type> <src> [<dst>]
1866 process file <src> into <dst> for distribution,
1867 <type> is 'makefile', 'configure', 'non-source'
1868 or 'source' and defines the type of <src>
1869 -m, --makedist create and package distribution
1870 --gzip create package compressed with gzip (default)
1871 --bzip2 create also package compressed with bzip2
1872 --compress create also package compressed with compress
1873 --zip create also package compressed with zip"
1876 # Process command line arguments
1878 while test $# -gt 0; do
1883 test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
1892 if test $# -eq 0; then
1893 ad_parse_distribution $distribution false
1894 echo "Distribution: ${distribution}" 1>&2;
1896 ad_parse_distribution $1 false
1897 echo "Distribution: ${1}" 1>&2;
1900 echo "Distdefs:" 1>&2;
1913 if test $# -ge 2; then
1916 echo "${usage}" 1>&2;
1945 echo "${usage}" 1>&2;
1947 echo "${help}" 1>&2;
1952 echo "@PACKAGE@ (@PACKAGE_NAME@) $ver" 1>&2;
1953 echo "Written by Pekka Riikonen" 1>&2;
1955 echo "Copyright (C) 2004 - 2007 SILC Project" 1>&2;
1957 This is free software; see the source for copying conditions. There is NO
1958 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. " 1>&2;
1966 echo "${usage}" 1>&2;
1976 ad_log_open "autodist.log"
1978 ad_log "Processing source tree for compilation and configuration"
1979 ad_log "--------------------------------------------------------"
1983 # Parse the requested distribution
1985 if test $# != 0; then
1986 distribution="${1}";
1987 distfile=$distribution
1991 ad_parse_distribution $distribution false
1993 if test $# != 0; then
1994 dist_version="${1}";
1997 ad_log " Distribution: $distribution $dist_version"
2002 ad_debug "Preparing source tree for configuration and compilation..."
2003 ad_debug "Preparing $distribution distribution version $dist_version"
2006 # Create the distribution defines header file
2008 if test "$DISTDEFS"; then
2009 ad_create_distdefs_h
2011 ad_fatal "DISTDEFS not defined in $distdir/autodist.conf"
2014 # Get extra parameters from command line
2015 if test $# != 0; then
2022 ad_run_hooks "$pre_hooks" "$@"
2025 # Generate the Makefile.am files from Makefile.ad files
2027 ad_make_makefile_ams
2030 # Generate the configure.ac from configure.ad file(s)
2032 ad_make_configure_ac ./configure.ad
2035 # Process all files with .ad suffix for distribution processing
2040 # Generate configure script
2045 # Generate Makefile.in files
2047 ad_make_makefile_ins
2050 # Create autodist.dist
2052 ad_debug "Creating autodist.dist"
2053 echo "dist:$distfile" > autodist.dist
2054 echo "ver:$dist_version" >> autodist.dist
2055 echo "distdir:$package-$dist_version" >> autodist.dist
2056 echo "params:$@" >> autodist.dist
2061 ad_run_hooks "$post_hooks" "$@"
2063 ad_log "Source tree processed successfully."
2064 ad_debug "Done, now run ./configure and make."