Home | History | Annotate | Line # | Download | only in release
      1 #!/bin/bash
      2 
      3 #******************************************************************************
      4 #
      5 # ACPICA release generation script for Cygwin/Windows execution
      6 #
      7 # front end for build.sh
      8 #
      9 # Copies any existing packages to the archive directory.
     10 #
     11 # Generates 3 types of package:
     12 #   1) Standard ACPICA source, everything except test suites
     13 #   2) ACPICA test suites (very large)
     14 #   3) Windows binary tools (Windows does not include generation tools)
     15 #
     16 # Note: "unix" generation builds the source with the standard Intel license
     17 # in each file header. "unix2" builds the source with the dual license instead.
     18 # this has been requested by some OS vendors, notably FreeBSD.
     19 #
     20 #******************************************************************************
     21 
     22 # Configuration
     23 
     24 NPARAM=$#
     25 BUILD_TESTS=1
     26 
     27 # Filenames and paths
     28 
     29 ARCHIVE_DIR=archive
     30 RELEASE_DIR=current
     31 
     32 
     33 #******************************************************************************
     34 #
     35 # Miscellaneous utility functions
     36 #
     37 #******************************************************************************
     38 
     39 usage()
     40 {
     41 	echo "$1"
     42 	echo
     43 	echo "Master script to create ACPICA release packages"
     44 	echo "Usage:"
     45 	echo "    $0 [notest]"
     46 }
     47 
     48 move_all_files_to_archive()
     49 {
     50 	cd $RELEASE_DIR
     51 
     52 	for file in *
     53 	do
     54 		if [ -d $file ]; then
     55 			rm -r -f ../$ARCHIVE_DIR/$file
     56 			mv -f $file ../$ARCHIVE_DIR
     57 			echo "Moved directory $file to $ARCHIVE_DIR directory"
     58 		else
     59 			cp $file ../$ARCHIVE_DIR
     60 			echo "Moved $file ($(ls -al $file | awk '{print $5}') bytes) to $ARCHIVE_DIR directory"
     61 			rm $file
     62 		fi
     63 	done
     64 
     65 	cd ..
     66 }
     67 
     68 
     69 #******************************************************************************
     70 #
     71 # main
     72 #
     73 # Arguments:
     74 #    $1 (optional) notest - do not generate the ACPICA test suite packages
     75 #
     76 #******************************************************************************
     77 
     78 set -e		# Abort on any error
     79 
     80 #
     81 # Parameter evaluation
     82 #
     83 if [ $NPARAM -gt 1 ]; then
     84 	usage "Wrong argument count ($NPARAM)"
     85 	exit 1
     86 
     87 elif [ $NPARAM -eq 1 ]; then
     88 	if [ $1 == notest ]; then
     89 		BUILD_TESTS=0
     90 	else
     91 		usage "Invalid argument ($1)"
     92 		exit 1
     93 	fi
     94 fi
     95 
     96 #
     97 # Move and preserve any previous versions of the various release packages
     98 #
     99 if [ -e $RELEASE_DIR ]; then
    100 
    101 	# Create archive directory if necessary
    102 
    103 	mkdir -p $ARCHIVE_DIR
    104 
    105 	#
    106 	# Save any older versions of the release packages
    107 	#
    108 	if [ "$(ls -A $RELEASE_DIR)" ]; then
    109 		echo "Moving previous packages to $ARCHIVE_DIR directory"
    110 
    111 		move_all_files_to_archive
    112 		echo "Completed move of previous packages to $ARCHIVE_DIR directory"
    113 	fi
    114 
    115 else
    116 	# Just create the release directory
    117 	mkdir -p $RELEASE_DIR
    118 fi
    119 
    120 # ACPICA source code (core subsystem and all tools/utilities)
    121 
    122 bash build.sh source win
    123 bash build.sh source unix
    124 bash build.sh source unix2
    125 
    126 # Optionally build the test suite packages (built by default)
    127 
    128 if [ $BUILD_TESTS -eq 1 ]; then
    129 
    130 	# ACPICA test suites (A unix2 build has not been requested by users)
    131 
    132 	bash build.sh test win
    133 	bash build.sh test unix
    134 
    135 else
    136 	echo "**** Test suites not built because the notest option was used"
    137 fi
    138 
    139 # ACPICA binary tools (Windows only)
    140 
    141 bash build.sh binary win
    142 
    143 echo
    144 echo "ACPICA - Summary of generated packages:"
    145 echo
    146 ls $RELEASE_DIR -g -G -t
    147