Revert "metadata: Make JACK_METADATA_* constant"
[jack2.git] / compat / README.md
blob73b53dcbe6539cbca23ddd80d3b404b3c56e4723
1 # Operating System Compatibility Modules for WAF
3 This directory contains waf modules that aid compatibility across
4 different operating systems. Here a module is a pluggable and reusable
5 piece of code for the waf build system along with necessary
6 replacements.
8 To create a new compatibility module simply create a new subdirectory
9 containing a `wscript` file and any necessary replacement files. The
10 `wscript` must define the `options`, `configure` and `build` functions.
12 To use the modules you need to call `recurse` in your `options`,
13 `configure` and `build` commands. For example
14 ```python
15 def options(opt):
16     # Do stuff...
17     opt.recurse('compat')
18     # Do other stuff...
20 def configure(conf):
21     # Do stuff...
22     conf.recurse('compat')
23     # Do other stuff...
25 def build(bld):
26     # Do stuff...
27     bld.recurse('compat')
28     # Do other stuff...
29 ```
30 assuming this directory is called `compat`. After doing this you need to
31 take any necessary actions described in the modules you want to use.
33 The code in this directory is intended to be generic and reusable. When
34 writing new modules, please keep this in mind. Whenever necessary it
35 should be possible to make this directory a git submodule and all the
36 subdirectories other submodules, to aid reuse.
38 If you would like to use these modules in another project, please file
39 an issue so that we can join forces and maintain the compatabilitiy
40 modules in a separate repository.