Fixing build for GCC 4.9
[platform/upstream/cairo.git] / util / xr2cairo
1 #!/bin/sh
2 set -e
3
4 if [ $# -lt 1 ]; then
5     argv0=`basename $0`
6     echo "$argv0: Convert source code written for Xr to use Cairo instead." >&2
7     echo "" >&2
8     echo "Usage: $argv0 file [...]" >&2
9     exit 1
10 fi
11
12 xr2cairo() {
13         file=$1
14         backup=$file.xr
15
16         if [ -e $backup ]; then
17                 echo "Warning: Backup file $backup already exists --- not backing up this time." >&2
18         else
19                 cp $file $backup
20         fi
21         sed -e '
22                 s/\(Xr[a-zA-Z]*\)RGB/\1Rgb/g
23                 s/\(Xr[a-zA-Z]*\)NextTo/\1Similar/g
24
25                 s/Xr\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)/\Lcairo_\1_\2_\3_\4_\5\E/g
26                 s/Xr\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)/\Lcairo_\1_\2_\3_\4\E/g
27                 s/Xr\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z]\+\)/\Lcairo_\1_\2_\3\E/g
28                 s/Xr\([A-Z]\+[a-z]\+\)\([A-Z]\+[a-z0-9]\+\)/\Lcairo_\1_\2\E/g
29                 s/Xr\([A-Z]\+[a-z]\+\)/\Lcairo_\1\E/g
30
31                 s/\(cairo_\(operator\|status\|fill_rule\|line_cap\|line_join\|filter\|format\)_[a-z0-9_]\{2,\}\)/\U\1/g
32
33                 s/cairo_\(fill_rule\|line_cap\|line_join\|format\|operator\|status\|filter\|surface\|matrix\)$/cairo_\1_t/g
34                 s/cairo_\(fill_rule\|line_cap\|line_join\|format\|operator\|status\|filter\|surface\|matrix\)\([^_]\)/cairo_\1_t\2/g
35                 s/_cairo_\(fill_rule\|line_cap\|line_join\|format\|operator\|status\|filter\|surface\|matrix\)_t/cairo_\1/g
36                 s/cairo_state/cairo_t/g
37                 s/_cairo_t\([^a-zA-Z0-9_]\)/cairo\1/g
38
39                 s/Xr\.h/cairo.h/g
40
41                 ' $backup > $file
42 }
43
44 while [ $# -gt 0 ]; do
45         file=$1
46         shift
47         xr2cairo $file
48 done
49