Merge branch 'vendor/TNFTP'
[dragonfly.git] / sys / contrib / dev / acpica / generate / release / release.sh
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