summaryrefslogtreecommitdiff
path: root/share/cmake-3.17/Modules/Compiler/XL-Fortran/cpp
blob: 1fd62c26a04eb4807e3b6adb779d8adbba71dbd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env bash

# Source file.
src="$(printf %q "$1")"
shift

# Output file the compiler expects.
out="$(printf %q "$1")"
shift

# Create the file the compiler expects.  It will check syntax.
>"$out"

cpp='cpp'
opts=''
while test "$#" != 0; do
    case "$1" in
    # Extract the option for the path to cpp.
    --cpp) shift; cpp="$(printf %q "$1")" ;;
    # Extract the option for our own output file.
    --out) shift; out="$(printf %q "$1")" ;;
    # Collect the rest of the command line.
    *) opts="$opts $(printf %q "$1")" ;;
    esac
    shift
done

# Execute the real preprocessor tool.
eval "exec $cpp $src $out $opts"