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