X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=assembler%2Fb43-asm;h=9585b1c2a34805715ad7d8449706d922b087cb40;hb=24bd77160095f5cebc08260bdb58eadd1dac3e4f;hp=f910a6b0f3ec846c3ca08d82c3f1b503e3723e99;hpb=900539d3af0679acea61145f0e64254518d7fce7;p=b43-tools.git diff --git a/assembler/b43-asm b/assembler/b43-asm index f910a6b..9585b1c 100755 --- a/assembler/b43-asm +++ b/assembler/b43-asm @@ -10,7 +10,7 @@ # The b43-asm backend binary B43_ASM="b43-asm.bin" # The C preprocessor binary -CPP="cpp" +CPP="gcc -E" # This variable is changed by the installer scripts. @@ -41,11 +41,25 @@ 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 4 + exit 5 fi fi -$CPP -traditional-cpp "$infile" | $B43_ASM "-" "$outfile" $@ +$CPP -x c++ -traditional-cpp $cpp_args "$infile" | $B43_ASM "-" "$outfile" --__real_infile "$infile" $@