Mac c3270 install shell script
#!/bin/zsh

################################################################################
#              A quick script to setup c3270 and Xcode if needed.              #
#                    by Clayton Slaughter and William Young                    #
#                       clayton.thomas.slaughter@ibm.com                       #
#                             william.young@ibm.com                            #
################################################################################

# Make sure script is run as root
if [[ $UID -ne 0 ]]; then
    echo "This script must be run as root. Please run:\nsudo $0"
    exit 1
fi

# Set a bunch of variables
macver=$(/usr/bin/sw_vers -productVersion)
xcode_fooler=/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress


# Define the xcode install function
install_xcode () {
    touch $xcode_fooler
    install_candidate=$(softwareupdate -l | grep -B 1 -E 'Command Line Tools' | awk -F'*' '/^ *\*/ {    print }' | sed -e 's/Label: //' -e 's/^ *Label: //' -e 's/^ *//' -e 's/^* //' | sort -V | tail -n1)
    if [[ ! -z $install_candidate ]]; then
        softwareupdate -i $install_candidate
    fi
    rm $xcode_fooler
    if [[ ${macver:3} -gt 13 ]]; then
        if [[ ! -f /Library/Developer/CommandLineTools/usr/bin/git ]]; then 
            echo "Xcode tools could not be installed automatically";
            echo "please run 'xcode-select --install' manually to install the Xcode Command Line Tools, then rerun this script.";
            exit 100
        fi
    elif [[ ${macver:3} -gt 7 ]]; then
        if [[ ! -f /Library/Developer/CommandLineTools/usr/bin/git ]] || [[ ! -f /usr/include/iconv.h ]]; then
            echo "Xcode tools could not be installed automatically";
            echo "Please run 'xcode-select --install' manually to install the Xcode Command Line Tools, then rerun this script.";
            exit 100
        fi
    fi
}

# Actual script starts here.

echo "Checking for Xcode..."
# Get Xcode if needed
if [[ ${macver:3} -gt 13 ]]; then
    if [[ ! -f /Library/Developer/CommandLineTools/usr/bin/git ]]; then 
        install_xcode
    fi
elif [[ ${macver:3} -gt 7 ]]; then
    if [[ ! -f /Library/Developer/CommandLineTools/usr/bin/git ]] || [[ ! -f /usr/include/iconv.h ]]; then
        install_xcode
    fi
else
    # Tell them their Mac is too dang old.
    echo "Sorry, but your version of OS X is unsupported."
    exit 27
fi
echo "Xcode is installed."

# Make temp work dir
wrkdir=$(mktemp -d)
cd $wrkdir
echo "Building in $PWD"
# Grab the source code
curl http://x3270.bgp.nu/download/03.06/suite3270-3.6ga8-src.tgz | tar -x
cd suite3270-3.6

# Build and install
./configure --enable-c3270
if [[ $? -eq 0 ]]; then
    make
    if [[ $? -eq 0 ]]; then
        make install
    else
        echo "Make failed. Contact your system administrator."
    fi
else
    echo "The configuration of c3270 failed. Contact your system administrator."
fi

if [[ $1 == "noclean" ]]; then
    echo "Not cleaning work directory"
    echo $wrkdir
    exit 0
fi
rm -rf $wrkdir