acpica/generate/release/release.sh
Robert Moore da6cdf79da Update unix tarball packages to match ACPICA source tree.
Changes the generation of the unix source code packages to match
the directory structure of the ACPICA git source tree. Thus,
makefiles will work on both the git tree and the tarball tree.
ACPICA BZ 867.
2012-01-18 13:54:00 -08:00

147 lines
3.1 KiB
Bash
Executable File

#!/bin/bash
#******************************************************************************
#
# ACPICA release generation script for Cygwin/Windows execution
#
# front end for build.sh
#
# Copies any existing packages to the archive directory.
#
# Generates 3 types of package:
# 1) Standard ACPICA source, everything except test suites
# 2) ACPICA test suites (very large)
# 3) Windows binary tools (Windows does not include generation tools)
#
# Note: "unix" generation builds the source with the standard Intel license
# in each file header. "unix2" builds the source with the dual license instead.
# this has been requested by some OS vendors, notably FreeBSD.
#
#******************************************************************************
# Configuration
NPARAM=$#
BUILD_TESTS=1
# Filenames and paths
ARCHIVE_DIR=archive
RELEASE_DIR=current
#******************************************************************************
#
# Miscellaneous utility functions
#
#******************************************************************************
usage()
{
echo "$1"
echo
echo "Master script to create ACPICA release packages"
echo "Usage:"
echo " $0 [notest]"
}
move_all_files_to_archive()
{
cd $RELEASE_DIR
for file in *
do
if [ -d $file ]; then
rm -r -f ../$ARCHIVE_DIR/$file
mv -f $file ../$ARCHIVE_DIR
echo "Moved directory $file to $ARCHIVE_DIR directory"
else
cp $file ../$ARCHIVE_DIR
echo "Moved $file ($(ls -al $file | awk '{print $5}') bytes) to $ARCHIVE_DIR directory"
rm $file
fi
done
cd ..
}
#******************************************************************************
#
# main
#
# Arguments:
# $1 (optional) notest - do not generate the ACPICA test suite packages
#
#******************************************************************************
set -e # Abort on any error
#
# Parameter evaluation
#
if [ $NPARAM -gt 1 ]; then
usage "Wrong argument count ($NPARAM)"
exit 1
elif [ $NPARAM -eq 1 ]; then
if [ $1 == notest ]; then
BUILD_TESTS=0
else
usage "Invalid argument ($1)"
exit 1
fi
fi
#
# Move and preserve any previous versions of the various release packages
#
if [ -e $RELEASE_DIR ]; then
# Create archive directory if necessary
mkdir -p $ARCHIVE_DIR
#
# Save any older versions of the release packages
#
if [ "$(ls -A $RELEASE_DIR)" ]; then
echo "Moving previous packages to $ARCHIVE_DIR directory"
move_all_files_to_archive
echo "Completed move of previous packages to $ARCHIVE_DIR directory"
fi
else
# Just create the release directory
mkdir -p $RELEASE_DIR
fi
# ACPICA source code (core subsystem and all tools/utilities)
bash build.sh source win
bash build.sh source unix
bash build.sh source unix2
# Optionally build the test suite packages (built by default)
if [ $BUILD_TESTS -eq 1 ]; then
# ACPICA test suites (A unix2 build has not been requested by users)
bash build.sh test win
bash build.sh test unix
else
echo "**** Test suites not built because the notest option was used"
fi
# ACPICA binary tools (Windows only)
bash build.sh binary win
echo
echo "ACPICA - Summary of generated packages:"
echo
ls $RELEASE_DIR -g -G -t