nexmon – Rev 1

Subversion Repositories:
Rev:
#!/bin/sh
#
#  b43-asm preprocessing frontend
#
#  Copyright (c) 2010 Michael Buesch <m@bues.ch>
#  Licensed under the GNU/GPL version 2.
#


# The b43-asm backend binary
B43_ASM="b43-asm.bin"
# The C preprocessor binary
CPP="gcc -E"


# This variable is changed by the installer scripts.
installed=0
if [ $installed -eq 0 ] && [ -x "./$B43_ASM" ]; then
        B43_ASM="./$B43_ASM"
fi

# Probe the CPP binary
$CPP --help >/dev/null 2>&1
if [ $? -ne 0 ]; then
        echo "ERROR: Failed to execute the C preprocessor \"$CPP\""
        exit 1
fi
# Probe the b43-asm binary
$B43_ASM a b --help >/dev/null 2>&1
if [ $? -ne 0 ]; then
        echo "ERROR: Failed to execute the b43-asm binary \"$B43_ASM\""
        exit 2
fi

if [ $# -lt 2 ]; then
        $B43_ASM --help
        exit 3
fi
infile="$1"
shift
outfile="$1"
shift

cpp_args=
if [ "$1" = "--cpp-args" ]; then
        shift
        while [ "$1" != "--" ]; do
                if [ $# -eq 0 ]; then
                        echo "ERROR: --cpp-args must be terminated by --"
                        exit 4
                fi
                cpp_args="$cpp_args $1"
                shift
        done
        shift
fi

if [ "$infile" != "-" ]; then
        if ! [ -r "$infile" ]; then
                echo "ERROR: Can not read input file \"$infile\""
                exit 5
        fi
fi

$CPP -x c++ -traditional-cpp $cpp_args "$infile" | $B43_ASM "-" "$outfile" --__real_infile "$infile" $@