Thu, 08 Aug 2024 21:34:07 -0500
Move the documentation into more appropriate places
This moves the libpurple documentation into the libpurple directory, the Pidgin
documentation into the pidgin directory, and removes the old protocols
documentation remnants.
Testing Done:
Ran the `doc` target and had the turtles check in on things.
Reviewed at https://reviews.imfreedom.org/r/3365/
|
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 | |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
4 | ## C Plugin Tutorial |
| 10468 | 5 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
6 | ### Introduction |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
7 | |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
8 | C plugins are native plugins. They have complete access to all of the API, |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
9 | and can do basically whatever they want. All of the protocol plugins are |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
10 | also written in C. |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
11 | |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
12 | ### Getting Started |
| 10468 | 13 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
14 | To develop a plugin you need to have the libpurple and (for UI plugins) the |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
15 | Pidgin/Finch source code or development headers. It is generally a good idea |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
16 | to compile against the same version of Pidgin that you are running. You may |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
17 | also want to develop against the code in our Mercurial repository if you need |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
18 | to use a new feature. Please do not abuse our Mercurial repository, however. |
| 10468 | 19 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
20 | ### An Example |
| 10468 | 21 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
22 | 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
|
23 | different? |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
24 | |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
25 | ```c |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
26 | #include <purple.h> |
| 10468 | 27 | |
|
40933
60f4b2a6d66a
Update the C plugin tutorial to use the gplugin macros
Gary Kramlich <grim@reaperworld.com>
parents:
39413
diff
changeset
|
28 | static GPluginPluginInfo * |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
29 | 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
|
30 | 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
|
31 | "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
|
32 | NULL |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
33 | }; |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
34 | |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
35 | 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
|
36 | "id", "hello_world", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
37 | "name", "Hello World!", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
38 | "version", "1.0", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
39 | "category", "Example", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
40 | "summary", "Hello World Plugin", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
41 | "description", "Displays a \"Hello World!\" message when loaded", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
42 | "authors", authors, |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
43 | "website", "http://helloworld.tld", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
44 | "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
|
45 | NULL |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
46 | ); |
|
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
47 | } |
| 10468 | 48 | |
| 49 | static gboolean | |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
50 | hello_world_load(GPluginPlugin *plugin, GError **error) { |
|
16260
3e2e3df543f0
Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@pidgin.im>
parents:
15864
diff
changeset
|
51 | purple_notify_message(plugin, PURPLE_NOTIFY_MSG_INFO, "Hello World!", |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
52 | "This is the Hello World! plugin :)", |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
53 | NULL, NULL, NULL, NULL); |
| 10468 | 54 | |
| 55 | return TRUE; | |
| 56 | } | |
| 57 | ||
|
36796
ebb632962d4e
Updated C-HOWTO.dox according to the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36793
diff
changeset
|
58 | static gboolean |
|
42782
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
59 | 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
|
60 | return TRUE; |
| 10468 | 61 | } |
| 62 | ||
|
40933
60f4b2a6d66a
Update the C plugin tutorial to use the gplugin macros
Gary Kramlich <grim@reaperworld.com>
parents:
39413
diff
changeset
|
63 | GPLUGIN_NATIVE_PLUGIN_DECLARE(hello_world) |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
64 | ``` |
| 10468 | 65 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
66 | Okay, so what does all this mean? We start off by including purple.h. This |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
67 | file includes all the libpurple header files. |
| 10468 | 68 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
69 | `hello_world_query`, `hello_world_load` and `hello_world_unload` are functions |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
70 | that must be implemented in every plugin. These functions are named according |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
71 | 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
|
72 | below. |
| 10468 | 73 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
74 | `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
|
75 | and returns various information about the plugin in form of a newly created |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
76 | instance of `GPluginPluginInfo` or a subclass. For a list of all available |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
77 | properties, see `purple_plugin_info_new()`. |
| 10468 | 78 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
79 | If anything should go wrong during the query you can return an error by using |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
80 | `g_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
|
81 | |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
82 | `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
|
83 | 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
|
84 | You can initialize any variables, register dynamic types, and so on in this |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
85 | function. Plugins may also want to add their preferences to the pref |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
86 | tree--more about that later. In this plugin we'll just use it to display a |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
87 | message. Just like `hello_world_query` if there are any errors that arise, you |
|
41165
24e2c88a7fc2
Ran codespell on the libpurple docs that were converted to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
41164
diff
changeset
|
88 | can call `g_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 |
|
41638
abc29c6a3e59
fix the missing argument in the C plugin tutorial
William Goodspeed <>
parents:
41165
diff
changeset
|
92 | use it to wrap up everything, and free our variables. If the program is shutting |
|
abc29c6a3e59
fix the missing argument in the C plugin tutorial
William Goodspeed <>
parents:
41165
diff
changeset
|
93 | down, the `shutdown` argument will be `TRUE`. Again, if there are any errors, you |
|
abc29c6a3e59
fix the missing argument in the C plugin tutorial
William Goodspeed <>
parents:
41165
diff
changeset
|
94 | can call `g_set_error()` on the `error` argument and return `FALSE`. |
|
41164
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
95 | |
|
d861b10105fb
Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents:
40933
diff
changeset
|
96 | 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
|
97 | 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
|
98 | 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
|
99 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
100 | ### Building |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
101 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
102 | 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
|
103 | 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
|
104 | 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
|
105 | 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
|
106 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
107 | ```python |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
108 | 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
|
109 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
110 | 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
|
111 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
112 | 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
|
113 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
114 | 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
|
115 | c_args : [ |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
116 | '-DG_LOG_USE_STRUCTURED', |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
117 | '-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
|
118 | ], |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
119 | dependencies : [libpurple_dep], |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
120 | name_prefix : '', |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
121 | install : true, |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
122 | install_dir : PURPLE_PLUGINDIR) |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
123 | ``` |
|
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 | 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
|
126 | 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
|
127 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
128 | If you're using this example to compile your own plugin. You |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
129 | should change the project name at the beginning of the file and change the |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
130 | library name which in this case is `libhelloworld`. You will also need to |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
131 | change the `G_LOG_DOMAIN` macro to your own log domain. |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
132 | |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
133 | 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
|
134 | |
|
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 | meson setup build |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
137 | meson compile -C build |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
138 | meson install -C build |
|
9271f4acf563
Fix a number of issues with the C plugin tutorial
Gary Kramlich <grim@reaperworld.com>
parents:
41638
diff
changeset
|
139 | ``` |