10d02842fSSascha Wildner#!/bin/bash 20d02842fSSascha Wildner 30d02842fSSascha Wildner#****************************************************************************** 40d02842fSSascha Wildner# 50d02842fSSascha Wildner# ACPICA package generation script for Cygwin/Windows execution 60d02842fSSascha Wildner# 70d02842fSSascha Wildner# Requires cygwin be installed - http://www.cygwin.com 80d02842fSSascha Wildner# and its /bin be *first* in your path. 90d02842fSSascha Wildner# 100d02842fSSascha Wildner# Windows packages require pkzip25 (free, and is available from numerous 110d02842fSSascha Wildner# sources - search for "pkzip25" or "pkzip25.exe") 120d02842fSSascha Wildner# 130d02842fSSascha Wildner# Execute this script from the acpica/generate/release directory. 140d02842fSSascha Wildner# 150d02842fSSascha Wildner# Constructed packages are placed in the acpica/generate/release/current 160d02842fSSascha Wildner# directory. 170d02842fSSascha Wildner# 180d02842fSSascha Wildner# Line Terminators: Windows source packages leave the CR/LF terminator. 190d02842fSSascha Wildner# Unix packages convert the CR/LF terminators to LF only. 200d02842fSSascha Wildner# 210d02842fSSascha Wildner# Usage: 220d02842fSSascha Wildner# 230d02842fSSascha Wildner# build <package_type> <target_type> 240d02842fSSascha Wildner# 250d02842fSSascha Wildner# where: 260d02842fSSascha Wildner# <package_type> is one of: 270d02842fSSascha Wildner# source - Build an ACPICA source package (core and all tools) 280d02842fSSascha Wildner# test - Build an ACPICA test suite package 290d02842fSSascha Wildner# binary - Build an ACPICA binary tools package 300d02842fSSascha Wildner# 310d02842fSSascha Wildner# <target_type> is one of: 320d02842fSSascha Wildner# win - Generate Windows package (Intel license, CRLF line terminators) 330d02842fSSascha Wildner# unix - Generate Unix package (Intel license, LF line terminators) 340d02842fSSascha Wildner# unix2 - Generate Unix package (dual license, LF line terminators) 350d02842fSSascha Wildner# 360d02842fSSascha Wildner#****************************************************************************** 370d02842fSSascha Wildner 380d02842fSSascha Wildner# Configuration 390d02842fSSascha Wildner 400d02842fSSascha WildnerZIP_UTILITY="/cygdrive/c/windows/pkzip25.exe" 410d02842fSSascha WildnerACPISRC="libraries/acpisrc.exe" 420d02842fSSascha WildnerDOS2UNIX="dos2unix" 430d02842fSSascha WildnerUNIX2DOS="unix2dos" 440d02842fSSascha Wildner 450d02842fSSascha Wildner# Filenames and paths 460d02842fSSascha Wildner 470d02842fSSascha WildnerTARGET_DIR="generate/release/current" 480d02842fSSascha WildnerTEMP_DIR=acpitemp 490d02842fSSascha WildnerTEST_PREFIX=acpitests 500d02842fSSascha WildnerSOURCE_PREFIX=acpica 510d02842fSSascha WildnerBINARY_PREFIX=iasl 520d02842fSSascha WildnerPACKAGE_SUFFIX=`date +%Y%m%d` 530d02842fSSascha Wildner 540d02842fSSascha WildnerNPARAM=$# 550d02842fSSascha Wildner 560d02842fSSascha Wildner 570d02842fSSascha Wildner#****************************************************************************** 580d02842fSSascha Wildner# 590d02842fSSascha Wildner# Miscellaneous utility functions 600d02842fSSascha Wildner# 610d02842fSSascha Wildner#****************************************************************************** 620d02842fSSascha Wildner 630d02842fSSascha Wildnerusage() 640d02842fSSascha Wildner{ 650d02842fSSascha Wildner echo "$1" 660d02842fSSascha Wildner echo 670d02842fSSascha Wildner echo "Low-level build script for ACPICA release packages" 680d02842fSSascha Wildner echo "Usage:" 690d02842fSSascha Wildner echo " $0 source <win | unix | unix2>" 700d02842fSSascha Wildner echo " $0 test <win | unix>" 710d02842fSSascha Wildner echo " $0 binary <win>" 720d02842fSSascha Wildner} 730d02842fSSascha Wildner 740d02842fSSascha Wildnerbanner() 750d02842fSSascha Wildner{ 760d02842fSSascha Wildner echo 770d02842fSSascha Wildner echo "$1" 780d02842fSSascha Wildner echo 790d02842fSSascha Wildner} 800d02842fSSascha Wildner 810d02842fSSascha Wildnercheck_zip_utility_exists() 820d02842fSSascha Wildner{ 830d02842fSSascha Wildner # 840d02842fSSascha Wildner # Need pkzip (or similar) to build the windows packages 850d02842fSSascha Wildner # 860d02842fSSascha Wildner if [ ! -e "$ZIP_UTILITY" ]; then 870d02842fSSascha Wildner echo "ZIP_UTILITY ($ZIP_UTILITY) does not exist!" 880d02842fSSascha Wildner exit 1 890d02842fSSascha Wildner fi 900d02842fSSascha Wildner} 910d02842fSSascha Wildner 920d02842fSSascha Wildnerconvert_to_unix_line_terminators() 930d02842fSSascha Wildner{ 940d02842fSSascha Wildner # 950d02842fSSascha Wildner # Convert all CR/LF pairs to Unix format (LF only) 960d02842fSSascha Wildner # 970d02842fSSascha Wildner cd $TEMP_DIR 980d02842fSSascha Wildner echo "Starting CR/LF to LF (UNIX) full source conversion" 990d02842fSSascha Wildner find . -name "*" | xargs $DOS2UNIX -q 1000d02842fSSascha Wildner echo "Completed CR/LF to LF (UNIX) full source conversion" 1010d02842fSSascha Wildner cd .. 1020d02842fSSascha Wildner} 1030d02842fSSascha Wildner 1040d02842fSSascha Wildnerconvert_to_dos_line_terminators() 1050d02842fSSascha Wildner{ 1060d02842fSSascha Wildner # 1070d02842fSSascha Wildner # Convert all lone LF terminators to CR/LF 1080d02842fSSascha Wildner # Note: Checks shell scripts only (*.sh) 1090d02842fSSascha Wildner # 1100d02842fSSascha Wildner cd $TEMP_DIR 1110d02842fSSascha Wildner echo "Starting LF to CR/LF (DOS) script conversion" 1120d02842fSSascha Wildner find . -name "*.sh" | xargs $UNIX2DOS -q 1130d02842fSSascha Wildner echo "Completed LF to CR/LF (DOS) script conversion" 1140d02842fSSascha Wildner cd .. 1150d02842fSSascha Wildner} 1160d02842fSSascha Wildner 1170d02842fSSascha Wildnerinsert_dual_license_headers() 1180d02842fSSascha Wildner{ 1190d02842fSSascha Wildner # 1200d02842fSSascha Wildner # Need acpisrc utility to insert the headers 1210d02842fSSascha Wildner # 1220d02842fSSascha Wildner if [ ! -e "$ACPISRC" ]; then 1230d02842fSSascha Wildner echo "acpisrc ($ACPISRC) does not exist!" 1240d02842fSSascha Wildner exit 1 1250d02842fSSascha Wildner fi 1260d02842fSSascha Wildner 1270d02842fSSascha Wildner # 1280d02842fSSascha Wildner # Insert the dual license into *.c and *.h files 1290d02842fSSascha Wildner # 1300d02842fSSascha Wildner echo "Inserting dual-license into all source files" 1310d02842fSSascha Wildner $ACPISRC -h -y $TEMP_DIR 1320d02842fSSascha Wildner} 1330d02842fSSascha Wildner 1340d02842fSSascha Wildnerbuild_unix_package() 1350d02842fSSascha Wildner{ 1360d02842fSSascha Wildner convert_to_unix_line_terminators 1370d02842fSSascha Wildner 1380d02842fSSascha Wildner # 1390d02842fSSascha Wildner # Build release package 1400d02842fSSascha Wildner # 1410d02842fSSascha Wildner rm -r -f $PACKAGE_FILENAME 1420d02842fSSascha Wildner mv $TEMP_DIR $PACKAGE_FILENAME 1430d02842fSSascha Wildner tar czf $PACKAGE_FILENAME.tar.gz $PACKAGE_FILENAME 1440d02842fSSascha Wildner 1450d02842fSSascha Wildner # 1460d02842fSSascha Wildner # Move the completed package 1470d02842fSSascha Wildner # 1480d02842fSSascha Wildner mv $PACKAGE_FILENAME.tar.gz $TARGET_DIR 1490d02842fSSascha Wildner mv $PACKAGE_FILENAME $TEMP_DIR 1500d02842fSSascha Wildner} 1510d02842fSSascha Wildner 1520d02842fSSascha Wildnerbuild_windows_package() 1530d02842fSSascha Wildner{ 1540d02842fSSascha Wildner convert_to_dos_line_terminators 1550d02842fSSascha Wildner 1560d02842fSSascha Wildner # 1570d02842fSSascha Wildner # Build release package 1580d02842fSSascha Wildner # 1590d02842fSSascha Wildner cd $TEMP_DIR 1600d02842fSSascha Wildner rm -r -f ../$TARGET_DIR/$PACKAGE_FILENAME 1610d02842fSSascha Wildner $ZIP_UTILITY -silent -add -max -dir -sort=name ../$TARGET_DIR/$PACKAGE_FILENAME 1620d02842fSSascha Wildner cd .. 1630d02842fSSascha Wildner} 1640d02842fSSascha Wildner 1650d02842fSSascha Wildner 1660d02842fSSascha Wildner#****************************************************************************** 1670d02842fSSascha Wildner# 1680d02842fSSascha Wildner# generate_source_package 1690d02842fSSascha Wildner# 1700d02842fSSascha Wildner# Generates the ACPICA source code packages (core and all tools) 1710d02842fSSascha Wildner# 1720d02842fSSascha Wildner# Arguments: 1730d02842fSSascha Wildner# %1 - Target type (win or unix or unix2) 1740d02842fSSascha Wildner# 1750d02842fSSascha Wildner#****************************************************************************** 1760d02842fSSascha Wildner 1770d02842fSSascha Wildnergenerate_source_package () 1780d02842fSSascha Wildner{ 1790d02842fSSascha Wildner # 1800d02842fSSascha Wildner # Parameter evaluation 1810d02842fSSascha Wildner # 1820d02842fSSascha Wildner if [ $1 == win ]; then 1830d02842fSSascha Wildner PACKAGE_NAME=Windows 1840d02842fSSascha Wildner PACKAGE_TYPE=Win 1850d02842fSSascha Wildner LICENSE=Intel 1860d02842fSSascha Wildner check_zip_utility_exists 1870d02842fSSascha Wildner 1880d02842fSSascha Wildner elif [ $1 == unix ]; then 1890d02842fSSascha Wildner PACKAGE_NAME="Unix (Intel License)" 1900d02842fSSascha Wildner PACKAGE_TYPE=Unix 1910d02842fSSascha Wildner LICENSE=Intel 1920d02842fSSascha Wildner 1930d02842fSSascha Wildner elif [ $1 == unix2 ]; then 1940d02842fSSascha Wildner PACKAGE_NAME="Unix (Dual License)" 1950d02842fSSascha Wildner PACKAGE_TYPE=Unix 1960d02842fSSascha Wildner LICENSE=Dual 1970d02842fSSascha Wildner 1980d02842fSSascha Wildner else 1990d02842fSSascha Wildner usage "Invalid argument ($1)" 2000d02842fSSascha Wildner exit 1 2010d02842fSSascha Wildner fi 2020d02842fSSascha Wildner 2030d02842fSSascha Wildner PACKAGE_FILENAME=$SOURCE_PREFIX-$1-$PACKAGE_SUFFIX 2040d02842fSSascha Wildner banner "ACPICA - Generating $PACKAGE_NAME source code package ($PACKAGE_FILENAME)" 2050d02842fSSascha Wildner 2060d02842fSSascha Wildner # 2070d02842fSSascha Wildner # Make directories common to all source packages 2080d02842fSSascha Wildner # 2090d02842fSSascha Wildner mkdir $TEMP_DIR 2100d02842fSSascha Wildner mkdir $TEMP_DIR/libraries 2110d02842fSSascha Wildner mkdir $TEMP_DIR/generate 2120d02842fSSascha Wildner mkdir $TEMP_DIR/generate/lint 2130d02842fSSascha Wildner mkdir $TEMP_DIR/generate/release 2140d02842fSSascha Wildner mkdir $TEMP_DIR/generate/unix 2150d02842fSSascha Wildner mkdir $TEMP_DIR/generate/unix/acpibin 2160d02842fSSascha Wildner mkdir $TEMP_DIR/generate/unix/acpidump 21720294b7eSSascha Wildner mkdir $TEMP_DIR/generate/unix/acpiexamples 2180d02842fSSascha Wildner mkdir $TEMP_DIR/generate/unix/acpiexec 2190d02842fSSascha Wildner mkdir $TEMP_DIR/generate/unix/acpihelp 2200d02842fSSascha Wildner mkdir $TEMP_DIR/generate/unix/acpisrc 2210d02842fSSascha Wildner mkdir $TEMP_DIR/generate/unix/acpixtract 2220d02842fSSascha Wildner mkdir $TEMP_DIR/generate/unix/iasl 2230d02842fSSascha Wildner mkdir $TEMP_DIR/tests 2240d02842fSSascha Wildner mkdir $TEMP_DIR/tests/misc 2250d02842fSSascha Wildner mkdir $TEMP_DIR/tests/templates 2260d02842fSSascha Wildner mkdir -p $TEMP_DIR/source/os_specific/service_layers 2270d02842fSSascha Wildner 2280d02842fSSascha Wildner # 2290d02842fSSascha Wildner # Copy ACPICA subsystem source code 2300d02842fSSascha Wildner # 2310d02842fSSascha Wildner cp -r documents/changes.txt $TEMP_DIR/changes.txt 2320d02842fSSascha Wildner cp -r source/common $TEMP_DIR/source/common 2330d02842fSSascha Wildner cp -r source/components $TEMP_DIR/source/ 2340d02842fSSascha Wildner cp -r source/include $TEMP_DIR/source/include 2350d02842fSSascha Wildner cp -r generate/release/*.sh $TEMP_DIR/generate/release 2360d02842fSSascha Wildner 2370d02842fSSascha Wildner # 2380d02842fSSascha Wildner # Copy iASL compiler and tools source 2390d02842fSSascha Wildner # 2400d02842fSSascha Wildner cp -r source/compiler $TEMP_DIR/source/compiler 2410d02842fSSascha Wildner cp -r source/tools $TEMP_DIR/source/tools 2420d02842fSSascha Wildner 2430d02842fSSascha Wildner # 2440d02842fSSascha Wildner # Copy iASL/ACPICA miscellaneous tests (not full test suites) 2450d02842fSSascha Wildner # 2460d02842fSSascha Wildner cp -r tests/misc/*.asl $TEMP_DIR/tests/misc 2470d02842fSSascha Wildner cp -r tests/templates/Makefile $TEMP_DIR/tests/templates 2480d02842fSSascha Wildner cp -r tests/templates/templates.sh $TEMP_DIR/tests/templates 2490d02842fSSascha Wildner 2500d02842fSSascha Wildner # 2510d02842fSSascha Wildner # Copy all OS-specific interfaces 2520d02842fSSascha Wildner # 2530d02842fSSascha Wildner cp source/os_specific/service_layers/*.c $TEMP_DIR/source/os_specific/service_layers 2540d02842fSSascha Wildner 2550d02842fSSascha Wildner # 2560d02842fSSascha Wildner # Copy generic UNIX makefiles 2570d02842fSSascha Wildner # 2580d02842fSSascha Wildner cp Makefile $TEMP_DIR 2590d02842fSSascha Wildner cp generate/unix/readme.txt $TEMP_DIR/generate/unix/readme.txt 2600d02842fSSascha Wildner cp generate/unix/Makefile* $TEMP_DIR/generate/unix 2610d02842fSSascha Wildner cp generate/unix/acpibin/Makefile $TEMP_DIR/generate/unix/acpibin 2620d02842fSSascha Wildner cp generate/unix/acpidump/Makefile $TEMP_DIR/generate/unix/acpidump 26320294b7eSSascha Wildner cp generate/unix/acpiexamples/Makefile $TEMP_DIR/generate/unix/acpiexamples 2640d02842fSSascha Wildner cp generate/unix/acpiexec/Makefile $TEMP_DIR/generate/unix/acpiexec 2650d02842fSSascha Wildner cp generate/unix/acpihelp/Makefile $TEMP_DIR/generate/unix/acpihelp 2660d02842fSSascha Wildner cp generate/unix/acpisrc/Makefile $TEMP_DIR/generate/unix/acpisrc 2670d02842fSSascha Wildner cp generate/unix/acpixtract/Makefile $TEMP_DIR/generate/unix/acpixtract 2680d02842fSSascha Wildner cp generate/unix/iasl/Makefile $TEMP_DIR/generate/unix/iasl 2690d02842fSSascha Wildner 2700d02842fSSascha Wildner # 2710d02842fSSascha Wildner # Copy Lint directory 2720d02842fSSascha Wildner # 2730d02842fSSascha Wildner cp -r generate/lint $TEMP_DIR/generate 2740d02842fSSascha Wildner rm -f $TEMP_DIR/generate/lint/co* 2750d02842fSSascha Wildner rm -f $TEMP_DIR/generate/lint/env* 2760d02842fSSascha Wildner rm -f $TEMP_DIR/generate/lint/lib* 2770d02842fSSascha Wildner rm -f $TEMP_DIR/generate/lint/LintOut.txt 2780d02842fSSascha Wildner 2790d02842fSSascha Wildner if [ $PACKAGE_TYPE == Unix ]; then 2800d02842fSSascha Wildner # 2810d02842fSSascha Wildner # Unix/Linux-specific activities 2820d02842fSSascha Wildner # 2830d02842fSSascha Wildner # For Unix2 case, insert the dual license header into all source files 2840d02842fSSascha Wildner # 2850d02842fSSascha Wildner if [ $LICENSE == Dual ]; then 2860d02842fSSascha Wildner insert_dual_license_headers 2870d02842fSSascha Wildner fi 2880d02842fSSascha Wildner 2890d02842fSSascha Wildner build_unix_package 2900d02842fSSascha Wildner 2910d02842fSSascha Wildner else 2920d02842fSSascha Wildner # 2930d02842fSSascha Wildner # Windows-specific activities 2940d02842fSSascha Wildner # 2950d02842fSSascha Wildner 296*d0dff17aSSascha Wildner # Copy project files for MS Visual Studio 2017 2970d02842fSSascha Wildner 298*d0dff17aSSascha Wildner mkdir $TEMP_DIR/generate/msvc2017 299*d0dff17aSSascha Wildner cp -r generate/msvc2017/*.sln $TEMP_DIR/generate/msvc2017/ 300*d0dff17aSSascha Wildner cp -r generate/msvc2017/*.dsp $TEMP_DIR/generate/msvc2017/ 301*d0dff17aSSascha Wildner cp -r generate/msvc2017/*.dsw $TEMP_DIR/generate/msvc2017/ 302*d0dff17aSSascha Wildner cp -r generate/msvc2017/*.vcxproj $TEMP_DIR/generate/msvc2017/ 3030d02842fSSascha Wildner 3040d02842fSSascha Wildner build_windows_package 3050d02842fSSascha Wildner fi 3060d02842fSSascha Wildner 3070d02842fSSascha Wildner banner "ACPICA - Completed $PACKAGE_NAME source code package ($PACKAGE_FILENAME)" 3080d02842fSSascha Wildner} 3090d02842fSSascha Wildner 3100d02842fSSascha Wildner 3110d02842fSSascha Wildner#****************************************************************************** 3120d02842fSSascha Wildner# 3130d02842fSSascha Wildner# generate_test_package 3140d02842fSSascha Wildner# 3150d02842fSSascha Wildner# Generates the ACPICA test suite packages 3160d02842fSSascha Wildner# 3170d02842fSSascha Wildner# Arguments: 3180d02842fSSascha Wildner# %1 - Target type (win or unix) 3190d02842fSSascha Wildner# 3200d02842fSSascha Wildner#****************************************************************************** 3210d02842fSSascha Wildner 3220d02842fSSascha Wildnergenerate_test_package() 3230d02842fSSascha Wildner{ 3240d02842fSSascha Wildner # 3250d02842fSSascha Wildner # Parameter evaluation 3260d02842fSSascha Wildner # 3270d02842fSSascha Wildner if [ $1 == win ]; then 3280d02842fSSascha Wildner PACKAGE_NAME=Windows 3290d02842fSSascha Wildner PACKAGE_TYPE=Win 3300d02842fSSascha Wildner check_zip_utility_exists 3310d02842fSSascha Wildner 3320d02842fSSascha Wildner elif [ $1 == unix ]; then 3330d02842fSSascha Wildner PACKAGE_NAME="Unix" 3340d02842fSSascha Wildner PACKAGE_TYPE=Unix 3350d02842fSSascha Wildner 3360d02842fSSascha Wildner else 3370d02842fSSascha Wildner usage "Invalid argument ($1)" 3380d02842fSSascha Wildner exit 1 3390d02842fSSascha Wildner fi 3400d02842fSSascha Wildner 3410d02842fSSascha Wildner PACKAGE_FILENAME=$TEST_PREFIX-$1-$PACKAGE_SUFFIX 3420d02842fSSascha Wildner banner "ACPICA - Generating $PACKAGE_NAME test suite package ($PACKAGE_FILENAME)" 3430d02842fSSascha Wildner 3440d02842fSSascha Wildner # 3450d02842fSSascha Wildner # Copy the ASL Test source 3460d02842fSSascha Wildner # 3470d02842fSSascha Wildner mkdir $TEMP_DIR 3480d02842fSSascha Wildner cp -r tests $TEMP_DIR/tests 3490d02842fSSascha Wildner 3500d02842fSSascha Wildner # 3510d02842fSSascha Wildner # Delete extraneous files 3520d02842fSSascha Wildner # 3530d02842fSSascha Wildner cd $TEMP_DIR 3540d02842fSSascha Wildner find . -name "tmp" | xargs rm -r -f 3550d02842fSSascha Wildner find . -name "aml" | xargs rm -r -f 3560d02842fSSascha Wildner find . -name "CVS" | xargs rm -r -f 3570d02842fSSascha Wildner cd .. 3580d02842fSSascha Wildner 3590d02842fSSascha Wildner if [ $PACKAGE_TYPE == Unix ]; then 3600d02842fSSascha Wildner # 3610d02842fSSascha Wildner # Unix/Linux-specific activities 3620d02842fSSascha Wildner # 3630d02842fSSascha Wildner build_unix_package 3640d02842fSSascha Wildner 3650d02842fSSascha Wildner else 3660d02842fSSascha Wildner # 3670d02842fSSascha Wildner # Windows-specific activities 3680d02842fSSascha Wildner # 3690d02842fSSascha Wildner build_windows_package 3700d02842fSSascha Wildner fi 3710d02842fSSascha Wildner 3720d02842fSSascha Wildner banner "ACPICA - Completed $PACKAGE_NAME test suite package ($PACKAGE_FILENAME)" 3730d02842fSSascha Wildner} 3740d02842fSSascha Wildner 3750d02842fSSascha Wildner 3760d02842fSSascha Wildner#****************************************************************************** 3770d02842fSSascha Wildner# 3780d02842fSSascha Wildner# generate_binary_package 3790d02842fSSascha Wildner# 3800d02842fSSascha Wildner# Generates the ACPICA binary package (Currently Windows only) 3810d02842fSSascha Wildner# 3820d02842fSSascha Wildner# Arguments: 3830d02842fSSascha Wildner# %1 - Target type (win) 3840d02842fSSascha Wildner# 3850d02842fSSascha Wildner#****************************************************************************** 3860d02842fSSascha Wildner 3870d02842fSSascha Wildnergenerate_binary_package() 3880d02842fSSascha Wildner{ 3890d02842fSSascha Wildner # 3900d02842fSSascha Wildner # Parameter evaluation 3910d02842fSSascha Wildner # 3920d02842fSSascha Wildner if [ $1 == win ]; then 3930d02842fSSascha Wildner PACKAGE_NAME=Windows 3940d02842fSSascha Wildner PACKAGE_TYPE=Win 3950d02842fSSascha Wildner check_zip_utility_exists 3960d02842fSSascha Wildner 3970d02842fSSascha Wildner else 3980d02842fSSascha Wildner usage "Invalid argument ($1)" 3990d02842fSSascha Wildner exit 1 4000d02842fSSascha Wildner fi 4010d02842fSSascha Wildner 4020d02842fSSascha Wildner PACKAGE_FILENAME=$BINARY_PREFIX-$1-$PACKAGE_SUFFIX 4030d02842fSSascha Wildner banner "ACPICA - Generating $PACKAGE_NAME binary tools package ($PACKAGE_FILENAME)" 4040d02842fSSascha Wildner 4050d02842fSSascha Wildner # 4060d02842fSSascha Wildner # Copy executables and documentation 4070d02842fSSascha Wildner # 4080d02842fSSascha Wildner mkdir $TEMP_DIR 4090d02842fSSascha Wildner cp -r documents/changes.txt $TEMP_DIR/changes.txt 4100d02842fSSascha Wildner cp libraries/acpibin.exe $TEMP_DIR 4110d02842fSSascha Wildner cp libraries/acpidump.exe $TEMP_DIR 4120d02842fSSascha Wildner cp libraries/acpiexec.exe $TEMP_DIR 4130d02842fSSascha Wildner cp libraries/acpihelp.exe $TEMP_DIR 4140d02842fSSascha Wildner cp libraries/acpisrc.exe $TEMP_DIR 4150d02842fSSascha Wildner cp libraries/acpixtract.exe $TEMP_DIR 4160d02842fSSascha Wildner cp libraries/iasl.exe $TEMP_DIR 4170d02842fSSascha Wildner cp tests/misc/badcode.asl $TEMP_DIR 4180d02842fSSascha Wildner 4190d02842fSSascha Wildner build_windows_package 4200d02842fSSascha Wildner banner "ACPICA - Completed $PACKAGE_NAME binary tools package ($PACKAGE_FILENAME)" 4210d02842fSSascha Wildner} 4220d02842fSSascha Wildner 4230d02842fSSascha Wildner 4240d02842fSSascha Wildner#****************************************************************************** 4250d02842fSSascha Wildner# 4260d02842fSSascha Wildner# main 4270d02842fSSascha Wildner# 4280d02842fSSascha Wildner# Arguments: 4290d02842fSSascha Wildner# $1 (package_type) is one of: 4300d02842fSSascha Wildner# source - Build an ACPICA source package (core and all tools) 4310d02842fSSascha Wildner# test - Build an ACPICA test suite package 4320d02842fSSascha Wildner# binary - Build an ACPICA binary tools package 4330d02842fSSascha Wildner# 4340d02842fSSascha Wildner# $2 (target_type) is one of: 4350d02842fSSascha Wildner# win - Generate Windows package (Intel license, CRLF line terminators) 4360d02842fSSascha Wildner# unix - Generate Unix package (Intel license, LF line terminators) 4370d02842fSSascha Wildner# unix2 - Generate Unix package (dual license, LF line terminators) 4380d02842fSSascha Wildner# 4390d02842fSSascha Wildner#****************************************************************************** 4400d02842fSSascha Wildner 4410d02842fSSascha Wildnerset -e # Abort on any error 4420d02842fSSascha Wildner 4430d02842fSSascha Wildnerif [ $NPARAM -ne 2 ]; then 4440d02842fSSascha Wildner usage "Wrong argument count ($NPARAM)" 4450d02842fSSascha Wildner exit 1 4460d02842fSSascha Wildnerfi 4470d02842fSSascha Wildner 4480d02842fSSascha Wildner# 4490d02842fSSascha Wildner# cd from acpica/generate/release to acpica 4500d02842fSSascha Wildner# 4510d02842fSSascha Wildnercd ../.. 4520d02842fSSascha Wildner 4530d02842fSSascha Wildner# 4540d02842fSSascha Wildner# Ensure that the temporary directory is created fresh 4550d02842fSSascha Wildner# 4560d02842fSSascha Wildnerrm -rf $TEMP_DIR 4570d02842fSSascha Wildner 4580d02842fSSascha Wildner# 4590d02842fSSascha Wildner# Parameter evaluation 4600d02842fSSascha Wildner# 4610d02842fSSascha Wildnerif [ $1 == source ]; then 4620d02842fSSascha Wildner generate_source_package $2 4630d02842fSSascha Wildner 4640d02842fSSascha Wildnerelif [ $1 == test ]; then 4650d02842fSSascha Wildner generate_test_package $2 4660d02842fSSascha Wildner 4670d02842fSSascha Wildnerelif [ $1 == binary ]; then 4680d02842fSSascha Wildner generate_binary_package $2 4690d02842fSSascha Wildner 4700d02842fSSascha Wildnerelse 4710d02842fSSascha Wildner usage "Invalid argument ($1)" 4720d02842fSSascha Wildner exit 1 4730d02842fSSascha Wildnerfi 4740d02842fSSascha Wildner 4750d02842fSSascha Wildner# 4760d02842fSSascha Wildner# Remove temporary directory 4770d02842fSSascha Wildner# 4780d02842fSSascha Wildnerrm -rf $TEMP_DIR 479