Mon, 31 Mar 2025 01:43:20 -0500
Add Pango to the gobject introspection and gi-docgen for libpurple
Testing Done:
Called in the turtles and verified the warnings were gone.
Reviewed at https://reviews.imfreedom.org/r/3948/
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
1 | Title: C Plugin Tutorial |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
2 | Slug: c-plugin-tutorial |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
3 | |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
4 | C plugins are native plugins. They have complete access to all of the API, |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
5 | and can do basically whatever they want. |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
6 | |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
7 | # Getting Started |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
8 | |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
9 | To develop a plugin you need to have the libpurple source code or development |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
10 | headers for your platform. It is generally a good idea to compile against the |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
11 | same version of libpurple that you are running. You may also want to develop |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
12 | against the code in our Mercurial repository if you need to use a new feature. |
| 10468 | 13 | |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
14 | # An Example |
| 10468 | 15 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
16 | I know every tutorial has a hello world, so why should libpurple be any |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
17 | different? |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
18 | |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
19 | ```c |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
20 | #include <purple.h> |
| 10468 | 21 | |
|
40933
60f4b2a6d66a
Update the C plugin tutorial to use the gplugin macros
Gary Kramlich <grim@reaperworld.com>
parents:
39413
diff
changeset
|
22 | static GPluginPluginInfo * |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
23 | hello_world_query(GError **error) { |
|
36796
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
24 | const gchar * const authors[] = { |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
25 | "Author Name <aname@example.com>", |
|
36796
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
26 | NULL |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
27 | }; |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
28 | |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
29 | return purple_plugin_info_new ( |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
30 | "id", "hello_world", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
31 | "name", "Hello World!", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
32 | "version", "1.0", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
33 | "category", "Example", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
34 | "summary", "Hello World Plugin", |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
35 | "description", "Creates a \"Hello World!\" notification when loaded", |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
36 | "authors", authors, |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
37 | "website", "http://helloworld.tld", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
38 | "abi-version", PURPLE_ABI_VERSION, |
|
36796
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
39 | NULL |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
40 | ); |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
41 | } |
| 10468 | 42 | |
| 43 | static gboolean | |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
44 | hello_world_load(GPluginPlugin *plugin, GError **error) { |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
45 | PurpleNotification *notification = NULL; |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
46 | PurpleNotificationManager *manager = NULL; |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
47 | |
|
42988
c2357ee36551
Replace Purple.Notification.new_generic with Purple.Notification.new
Gary Kramlich <grim@reaperworld.com>
parents:
42931
diff
changeset
|
48 | notification = purple_notification_new(NULL, "Hello World!"); |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
49 | purple_notification_set_subtitle(notification, |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
50 | "This is the Hello World! plugin :)"); |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
51 | |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
52 | manager = purple_notification_manager_get_default(); |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
53 | purple_notification_manager_add(manager, notification); |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
54 | g_clear_object(¬ification); |
| 10468 | 55 | |
| 56 | return TRUE; | |
| 57 | } | |
| 58 | ||
|
36796
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
59 | static gboolean |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
60 | hello_world_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) { |
|
36796
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
61 | return TRUE; |
| 10468 | 62 | } |
| 63 | ||
|
40933
60f4b2a6d66a
Update the C plugin tutorial to use the gplugin macros
Gary Kramlich <grim@reaperworld.com>
parents:
39413
diff
changeset
|
64 | GPLUGIN_NATIVE_PLUGIN_DECLARE(hello_world) |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
65 | ``` |
| 10468 | 66 | |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
67 | Okay, so what does all this mean? We start off by including `purple.h`. This |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
68 | file includes all the libpurple header files. |
| 10468 | 69 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
70 | `hello_world_query`, `hello_world_load` and `hello_world_unload` are functions |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
71 | that must be implemented in every plugin. These functions are named according |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
72 | to the value passed to `GPLUGIN_NATIVE_PLUGIN_DECLARE` which is described |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
73 | below. |
| 10468 | 74 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
75 | `hello_world_query` is called when the plugin is queried by the plugin system, |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
76 | and returns various information about the plugin in form of a newly created |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
77 | instance of [class@GPlugin.PluginInfo] or a subclass. For a list of all |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
78 | available properties, see [ctor@PluginInfo.new]. |
| 10468 | 79 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
80 | If anything should go wrong during the query you can return an error by using |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
81 | [func@GLib.set_error] on the `error` argument. |
|
40933
60f4b2a6d66a
Update the C plugin tutorial to use the gplugin macros
Gary Kramlich <grim@reaperworld.com>
parents:
39413
diff
changeset
|
82 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
83 | `hello_world_load` is called when the plugin is loaded. That is the user has |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
84 | enabled the plugin or libpurple is loading a plugin that was previously loaded. |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
85 | You can initialize any variables, register dynamic types, and so on in this |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
86 | function. In this plugin we'll just use it to create and display a |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
87 | notification. Just like `hello_world_query` if there are any errors that arise, |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
88 | you can call [func@GLib.set_error] on the `error` argument and return `FALSE`. |
|
36905
d256e7a2ec4c
Changed dox files to xml files for gtk-doc, and included them in the top-level XMLs.
Ankit Vani <a@nevitus.org>
parents:
36900
diff
changeset
|
89 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
90 | `hello_world_unload` is called when the plugin is unloaded. That is, when the |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
91 | user has manually unloaded the plugin or the program is shutting down. We can |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
92 | use it to wrap up everything, and free our variables. If the program is |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
93 | shutting down, the `shutdown` argument will be `TRUE`. Again, if there are any |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
94 | errors, you can call [func@GLib.set_error] on the `error` argument and return |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
95 | `FALSE`. |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
96 | |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
97 | Finally we have `GPLUGIN_NATIVE_PLUGIN_DECLARE()`. It is a helper macro that |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
98 | makes creating plugins easier. It has a single argument which is the prefix |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
99 | used for the `_query`, `_load`, and `_unload` functions. |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
100 | |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
101 | # Building |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
102 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
103 | You may want to compile your plugin by using your libpurple from the packages |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
104 | on your system. You can easily do this with meson build system. Let's say |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
105 | you've already wrote the hello world plugin and saved it as `hello_world.c`. |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
106 | Create a file named `meson.build`: |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
107 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
108 | ```python |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
109 | project('hello_world_plugin', 'c') |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
110 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
111 | libpurple_dep = dependency('purple-3') |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
112 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
113 | PURPLE_PLUGINDIR = libpurple_dep.get_pkgconfig_variable('plugindir') |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
114 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
115 | library('libhelloworld', 'hello_world.c', |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
116 | c_args : [ |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
117 | '-DG_LOG_USE_STRUCTURED', |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
118 | '-DG_LOG_DOMAIN="PurplePlugin-HelloWorld"' |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
119 | ], |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
120 | dependencies : [libpurple_dep], |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
121 | name_prefix : '', |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
122 | install : true, |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
123 | install_dir : PURPLE_PLUGINDIR) |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
124 | ``` |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
125 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
126 | This `meson.build` file will build your plugin and install it into the right |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
127 | location for libpurple to find it. |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
128 | |
|
42875
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
129 | If you are using this example to compile your own plugin. You should change the |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
130 | project name at the beginning of the file as well as the library name which in |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
131 | this case is `libhelloworld`. You will also need to change the `G_LOG_DOMAIN` |
|
e13c0a30d6e9
Update the C plugin how to
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
132 | macro to your own log domain. |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
133 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
134 | Now, you can quickly build your plugin with the following commands: |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
135 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
136 | ``` |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
137 | meson setup build |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
138 | meson compile -C build |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
139 | meson install -C build |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
140 | ``` |