lavfi: Add infrastructure for building OpenCL source into libavfilter
[ffmpeg.git] / tools / cl2c
1 #!/bin/sh
2 # Convert an OpenCL source file into a C source file containing the
3 # OpenCL source as a C string.  Also adds a #line directive so that
4 # compiler messages are useful.
5
6 input="$1"
7 output="$2"
8
9 name=$(basename "$input" | sed 's/.cl$//')
10
11 cat >$output <<EOF
12 // Generated from $input
13 const char *ff_opencl_source_$name =
14 "#line 1 \"$input\"\n"
15 EOF
16
17 # Convert \ to \\ and " to \", then add " to the start and end of the line.
18 cat "$input" | sed 's/\\/\\\\/g;s/\"/\\\"/g;s/^/\"/;s/$/\\n\"/' >>$output
19
20 echo ";" >>$output