summary refs log tree commit diff stats
path: root/plugins/python
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2016-12-13 16:12:03 -0500
committerPatrick Griffis <tingping@tingping.se>2017-06-13 23:54:51 -0400
commit628100c19f5d82747170acdf2917cba8c119ccbf (patch)
tree351a7e9714a1a58390ba349808df5703cef25c3e /plugins/python
parent2edf50d4ddc61ce6f73bf02263c9bdd09632c66b (diff)
build: Replace Autotools with Meson
Quick rundown of benefits:

- Much faster:
  - Autotools (with autogen): 22 seconds
  - Meson: 7 seconds
  - Meson (with ccache): 2 seconds

- Simpler:
  - ~1000 lines smaller
  - Single simple language

- Potentially better Windows (Visual Studio) support

What is not done:

- Complete Windows support
- OSX support (easy)

Closes #2013
Closes #1937
Closes #1803
Diffstat (limited to 'plugins/python')
-rw-r--r--plugins/python/Makefile.am9
-rw-r--r--plugins/python/meson.build13
-rw-r--r--plugins/python/python.c2
3 files changed, 15 insertions, 9 deletions
diff --git a/plugins/python/Makefile.am b/plugins/python/Makefile.am
deleted file mode 100644
index 3c574edf..00000000
--- a/plugins/python/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-libdir = $(hexchatlibdir)
-
-lib_LTLIBRARIES = python.la
-python_la_SOURCES = python.c
-python_la_LDFLAGS = $(PLUGIN_LDFLAGS) -module
-python_la_LIBADD = $(PYTHON_LIBS) $(GLIB_LIBS)
-python_la_CPPFLAGS = -I$(top_srcdir)/src/common $(PYTHON_CPPFLAGS)
-python_la_CFLAGS = $(GLIB_CFLAGS)
-
diff --git a/plugins/python/meson.build b/plugins/python/meson.build
new file mode 100644
index 00000000..e24f0c6f
--- /dev/null
+++ b/plugins/python/meson.build
@@ -0,0 +1,13 @@
+python_opt = get_option('with-python')
+if python_opt.startswith('python3')
+  python_dep = dependency(python_opt, version: '>= 3.3')
+else
+  python_dep = dependency(python_opt, version: '>= 2.7')
+endif
+
+shared_module('python', 'python.c',
+  dependencies: [libgio_dep, hexchat_plugin_dep, python_dep],
+  install: true,
+  install_dir: plugindir,
+  name_prefix: '',
+)
diff --git a/plugins/python/python.c b/plugins/python/python.c
index 6d88e4dd..705fe9e6 100644
--- a/plugins/python/python.c
+++ b/plugins/python/python.c
@@ -69,6 +69,8 @@
 #include "hexchat-plugin.h"
 #undef _POSIX_C_SOURCE	/* Avoid warnings from /usr/include/features.h */
 #undef _XOPEN_SOURCE
+#undef HAVE_MEMRCHR /* Avoid redefinition in Python.h */
+#undef HAVE_STRINGS_H
 #include <Python.h>
 #include <structmember.h>
 #include <pythread.h>