[gtk+/wip/meson: 11/73] meson: replace gentypefuncs.d with python script
- From: Tim-Philipp Müller <tpm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/meson: 11/73] meson: replace gentypefuncs.d with python script
- Date: Wed, 22 Mar 2017 09:33:00 +0000 (UTC)
commit cbd2208c233be9d5d5227acd947207af8f6d609d
Author: Tim-Philipp Müller <tim centricular com>
Date: Sat Sep 10 12:10:59 2016 +0100
meson: replace gentypefuncs.d with python script
gtk/gentypefuncs.d | 45 ---------------------------------------------
gtk/gentypefuncs.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
gtk/meson.build | 3 +--
3 files changed, 50 insertions(+), 47 deletions(-)
---
diff --git a/gtk/gentypefuncs.py b/gtk/gentypefuncs.py
new file mode 100644
index 0000000..46beebd
--- /dev/null
+++ b/gtk/gentypefuncs.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import sys
+import re
+import os
+
+debug = os.getenv('GTK_GENTYPEFUNCS_DEBUG') is not None
+
+out_file = sys.argv[1]
+in_files = sys.argv[2:]
+
+funcs = []
+
+
+if debug: print 'Output file: ', out_file
+
+if debug: print len(in_files), 'input files'
+
+for filename in in_files:
+ if debug: print 'Input file: ', filename
+ with open(filename, "r") as f:
+ for line in f:
+ line = line.rstrip('\n').rstrip('\r')
+ # print line
+ match = re.search(r'\bg[td]k_[a-zA-Z0-9_]*_get_type\b', line)
+ if match:
+ func = match.group(0)
+ if not func in funcs:
+ funcs.append(func)
+ if debug: print 'Found', func
+
+file_output = 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS\n'
+
+funcs = sorted(funcs)
+
+for f in funcs:
+ if f.startswith('gdk_x11') or f.startswith('gtk_socket') or f.startswith('gtk_plug'):
+ file_output += '#ifdef GDK_WINDOWING_X11\n'
+ file_output += '*tp++ = {0}();\n'.format(f)
+ file_output += '#endif\n'
+ else:
+ file_output += '*tp++ = {0}();\n'.format(f)
+
+if debug: print len(funcs), 'functions'
+
+ofile = open(out_file, "w")
+ofile.write(file_output)
+ofile.close()
diff --git a/gtk/meson.build b/gtk/meson.build
index 3a3fa8b..eac09be 100644
--- a/gtk/meson.build
+++ b/gtk/meson.build
@@ -737,8 +737,7 @@ gtkprivatetypebuiltins_c = custom_target(
command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtkprivatetypebuiltins.c.template',
'@OUTPUT@', '@INPUT@']
)
-d_compiler = find_program('dmd')
-gentypefuncs_prog = find_program('gentypefuncs.d')
+gentypefuncs_prog = find_program('gentypefuncs.py')
# Generate gtktypefuncs.c
typefuncs = custom_target(
'typefuncs',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]