#!/bin/sh
set -uef
generate_c_code=
next_arg_is_name="no"
for arg in "$@"; do
if [ "$next_arg_is_name" = "yes" ]; then
generate_c_code="$arg"
next_arg_is_name="no"
continue
fi
case "$arg" in
--generate-c-code)
next_arg_is_name="yes"
;;
--generate-c-code=*)
generate_c_code="${arg#--generate-c-code=}"
;;
esac
done
gdbus-codegen "$@"
if [ -n "$generate_c_code" ]; then
# HACK: This is a work around for gdbus-codegen crashing when
# we build with GLIB_VERSION_MAX_ALLOWED. See:
# https://bugzilla.gnome.org/show_bug.cgi?id=710133
sed -e '1i\
#ifdef GLIB_VERSION_MAX_ALLOWED\
#undef GLIB_VERSION_MAX_ALLOWED\
#endif' \
"$generate_c_code.c" > "$generate_c_code.$$"
mv "$generate_c_code.$$" "$generate_c_code.c"
fi