blob: e42daff350bb51d274cf9209f274a1f31f0ac0c7 (
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/bin/bash
# The script assumes it resides in the tools/gen_scripts directory and
# the defs files will be placed in glib/src.
# To update the g[lib|module|object]_functions.defs files:
# 1. ./glib_generate_methods.sh
# Generates glib/src/glib_functions.defs.orig and glib/src/g[lib|module|object]_functions.defs.
# If any hunks from the patch file fail to apply, apply them manually to the
# glib_functions.defs file, if required.
# 2. Optional: Remove glib/src/glib_functions.defs.orig.
# To update the g[lib|module|object]_functions.defs files and the patch file:
# 1. Like step 1 when updating only the g[lib|module|object]_functions.defs files.
# 2. Apply new patches manually to the glib_functions.defs file.
# 3. ./glib_generate_methods.sh --make-patch
# 4. Like step 2 when updating only the g[lib|module|object]_functions.defs files.
source "$(dirname "$0")/init_generate.sh"
out_dir="$root_dir/glib/src"
shopt -s extglob # Enable extended pattern matching
shopt -s nullglob # Skip a filename pattern that matches no file
if [ $# -eq 0 ]
then
# Process files whose names end with .h, but not with private.h.
"$gen_methods" "$source_prefix"/glib/!(*private).h "$source_prefix"/glib/deprecated/!(*private).h \
"$build_prefix"/glib/!(*private).h "$build_prefix"/glib/deprecated/!(*private).h > "$out_dir"/glib_functions.defs
"$gen_methods" "$source_prefix"/gmodule/!(*private).h "$build_prefix"/gmodule/!(*private).h > "$out_dir"/gmodule_functions.defs
"$gen_methods" "$source_prefix"/gobject/!(*private).h "$build_prefix"/gobject/!(*private).h > "$out_dir"/gobject_functions.defs
# patch version 2.7.5 does not like directory names.
cd "$out_dir"
patch_options="--backup --version-control=simple --suffix=.orig"
patch $patch_options glib_functions.defs glib_functions.defs.patch
elif [ "$1" = "--make-patch" ]
then
out_dir_file="$out_dir"/glib_functions.defs
diff --unified=5 "$out_dir_file".orig "$out_dir_file" > "$out_dir_file".patch
else
echo "Usage: $0 [--make-patch]"
exit 1
fi
|