From 406f4cd170c7ca7133ef369567a2431bb5f6f1c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 9 Apr 2017 06:09:04 +0200 Subject: [PATCH] docs: Update instructions for extension additions for meson The steps for adding a new extension are clearly different in meson, so update the instructions accordingly. Don't bother with keeping the existing autotools steps - supporting both build systems in parallel is just temporary, autotools is on its way out. Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/31 --- HACKING.md | 14 +++++++------- extensions/meson.build.template | 8 ++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 extensions/meson.build.template diff --git a/HACKING.md b/HACKING.md index 217bd505..f8786287 100644 --- a/HACKING.md +++ b/HACKING.md @@ -1,13 +1,13 @@ ## Creating a New Extension -To create a new extension, add a subdirectory in extensions. -Then create a Makefile.am like the one in example, replacing -the EXTENSION_ID with the basename of your extension, which -must match the UUID in metadata.json. -If you need additional files, add them to EXTENSION_EXTRA. +To create a new extension, add a subdirectory in extensions. Then create +a meson.build from the provided [template](extensions/meson.build.template). +If you need additional sources, add them to extension_sources. Similarily add +GSettings schemas to extension_schemas and other files to extension_data. -Then modify extensions/Makefile.am and configure.ac. It should -be pretty self-explanatory. +Then modify the [toplevel Meson file](meson.build) to add the new +extension name in the appropriate set (that is one of classic_extensions, +default_extensions or all_extensions). Don't forget to add any translatable file to po/POTFILES.in, and then you're done. diff --git a/extensions/meson.build.template b/extensions/meson.build.template new file mode 100644 index 00000000..e83e528b --- /dev/null +++ b/extensions/meson.build.template @@ -0,0 +1,8 @@ +extension_data += configure_file( + input: metadata_name + '.in', + output: metadata_name, + configuration: metadata_conf +) + +# extension_sources += files('prefs.js') +# extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')