[atkmm/atkmm-2-24] generate_defs_and_docs.sh: Update for atk built with meson
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [atkmm/atkmm-2-24] generate_defs_and_docs.sh: Update for atk built with meson
- Date: Wed, 13 Sep 2017 11:20:37 +0000 (UTC)
commit c7d806e10a900042f993a660385fe4cbbeb9e129
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date: Wed Sep 13 13:16:59 2017 +0200
generate_defs_and_docs.sh: Update for atk built with meson
When atk is built with meson instead of autotools, generated .h and .c
files are stored in atk/build/atk. Files in that directory shall be read
when atk_docs.xml and the .defs files are generated.
codegen/generate_defs_and_docs.sh | 68 ++++++++++++++++++++++++++++++-------
1 files changed, 55 insertions(+), 13 deletions(-)
---
diff --git a/codegen/generate_defs_and_docs.sh b/codegen/generate_defs_and_docs.sh
index 7d5cce4..b38e191 100755
--- a/codegen/generate_defs_and_docs.sh
+++ b/codegen/generate_defs_and_docs.sh
@@ -8,8 +8,8 @@
# glibmm/tools/defs_gen/docextract_to_xml.py
# glibmm/tools/defs_gen/h2def.py
# glibmm/tools/enum.pl
-# atk/atk/*.h
-# atk/atk/*.c
+# atk/atk/*.h atk/build/atk/*.h
+# atk/atk/*.c atk/build/atk/*.c
# atkmm/codegen/extradefs/generate_extra_defs
# Generated files:
@@ -18,22 +18,64 @@
# atkmm/atk/src/atk_methods.defs
# atkmm/atk/src/atk_signals.defs
+# To update the atk_docs.xml file and the .defs files:
+# 1. ./generate_defs_and_docs.sh
+# Generates atk/src/atk_signals.defs.orig and atk/src/atk_signals.defs.
+# If any hunks from the patch file fail to apply, apply them manually to the
+# atk_signals.defs file, if required.
+# 2. Optional: Remove atk/src/atk_signals.defs.orig.
+
+# To update the atk_signals.defs file and the patch file:
+# 1. Like step 1 when updating only the docs.xml and .defs files.
+# 2. Apply new patches manually to the atk_signals.defs file.
+# 3. ./generate_defs_and_docs.sh --make-patch
+# 4. Like step 2 when updating only the nly the docs.xml and .defs files.
+
GLIBMM_TOOLS_DIR=../../glibmm/tools
ATK_DIR=../../atk
ATKMM_ATK_SRC_DIR=../atk/src
-$GLIBMM_TOOLS_DIR/defs_gen/docextract_to_xml.py \
- -s $ATK_DIR/atk \
- >$ATKMM_ATK_SRC_DIR/atk_docs.xml
+if [ $# -eq 0 ]
+then
+ # Documentation
+ PARAMS="--with-properties --no-recursion"
+ for dir in $ATK_DIR/atk $ATK_DIR/build/atk; do
+ if [ -d "$dir" ]; then
+ PARAMS="$PARAMS -s $dir"
+ fi
+ done
+ $GLIBMM_TOOLS_DIR/defs_gen/docextract_to_xml.py $PARAMS \
+ >$ATKMM_ATK_SRC_DIR/atk_docs.xml
-$GLIBMM_TOOLS_DIR/enum.pl \
- $ATK_DIR/atk/*.h \
- >$ATKMM_ATK_SRC_DIR/atk_enums.defs
+ shopt -s nullglob # Skip a filename pattern that matches no file
-$GLIBMM_TOOLS_DIR/defs_gen/h2def.py \
- $ATK_DIR/atk/*.h \
- >$ATKMM_ATK_SRC_DIR/atk_methods.defs
+ # Enums
+ $GLIBMM_TOOLS_DIR/enum.pl \
+ $ATK_DIR/atk/*.h $ATK_DIR/build/atk/*.h \
+ >$ATKMM_ATK_SRC_DIR/atk_enums.defs
-extradefs/generate_extra_defs \
- >$ATKMM_ATK_SRC_DIR/atk_signals.defs
+ # Functions and methods
+ $GLIBMM_TOOLS_DIR/defs_gen/h2def.py \
+ $ATK_DIR/atk/*.h $ATK_DIR/build/atk/*.h \
+ >$ATKMM_ATK_SRC_DIR/atk_methods.defs
+ # Properties and signals
+ extradefs/generate_extra_defs \
+ >$ATKMM_ATK_SRC_DIR/atk_signals.defs
+ if [ -f $ATKMM_ATK_SRC_DIR/atk_signals.defs.patch ]; then
+ # patch version 2.7.5 does not like directory names.
+ cd "$ATKMM_ATK_SRC_DIR"
+ PATCH_OPTIONS="--backup --version-control=simple --suffix=.orig"
+ patch $PATCH_OPTIONS atk_signals.defs atk_signals.defs.patch
+ else
+ echo "File $ATKMM_ATK_SRC_DIR/atk_signals.defs.patch does not exist."
+ echo "You may have to patch $ATKMM_ATK_SRC_DIR/atk_signals.defs manually."
+ fi
+elif [ "$1" = "--make-patch" ]
+then
+ ATKMM_ATK_SRC_DIR_FILE=$ATKMM_ATK_SRC_DIR/atk_signals.defs
+ diff --unified=5 $ATKMM_ATK_SRC_DIR_FILE.orig $ATKMM_ATK_SRC_DIR_FILE > $ATKMM_ATK_SRC_DIR_FILE.patch
+else
+ echo "Usage: $0 [--make-patch]"
+ exit 1
+fi
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]