147 lines
3.1 KiB
Bash
Executable File
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
|