aboutsummaryrefslogtreecommitdiffstats
path: root/INSTALL.md
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-06-12 20:59:29 -0400
committerDavid Robillard <d@drobilla.net>2022-06-12 20:59:29 -0400
commit4a53d311b5b612fcb9fe1f73c48c6c12cf7e085f (patch)
treefe85ff406b00599202a0e5fb28beaa199a0a1ab8 /INSTALL.md
parent153b828d02919209aa75c7631f1fdfdc008ea386 (diff)
downloadserd-4a53d311b5b612fcb9fe1f73c48c6c12cf7e085f.tar.gz
serd-4a53d311b5b612fcb9fe1f73c48c6c12cf7e085f.tar.bz2
serd-4a53d311b5b612fcb9fe1f73c48c6c12cf7e085f.zip
Rename INSTALL to INSTALL.md and add a link from README
Diffstat (limited to 'INSTALL.md')
-rw-r--r--INSTALL.md66
1 files changed, 66 insertions, 0 deletions
diff --git a/INSTALL.md b/INSTALL.md
new file mode 100644
index 00000000..9b54f51e
--- /dev/null
+++ b/INSTALL.md
@@ -0,0 +1,66 @@
+Installation Instructions
+=========================
+
+Basic Installation
+------------------
+
+Building this software requires only Python. To install with default options:
+
+ ./waf configure
+ ./waf
+ ./waf install # or sudo ./waf install
+
+Configuration Options
+---------------------
+
+All supported options can be viewed using the command:
+
+ ./waf --help
+
+Most options only need to be passed during the configure stage, for example:
+
+ ./waf configure --prefix=/usr
+ ./waf
+ ./waf install
+
+Compiler Configuration
+----------------------
+
+Several standard environment variables can be used to control how compilers are
+invoked:
+
+ * CC: Path to C compiler
+ * CFLAGS: C compiler options
+ * CXX: Path to C++ compiler
+ * CXXFLAGS: C++ compiler options
+ * CPPFLAGS: C preprocessor options
+ * LINKFLAGS: Linker options
+
+Library Versioning
+------------------
+
+This library uses semantic versioning <http://semver.org/>.
+
+Several major versions can be installed in parallel. The shared library name,
+include directory, and pkg-config file are suffixed with the major version
+number. For example, a library named "foo" at version 1.x.y might install:
+
+ /usr/include/foo-1/foo/foo.h
+ /usr/lib/foo-1.so.1.x.y
+ /usr/lib/pkgconfig/foo-1.pc
+
+Dependencies can check for the package "foo-1" with pkg-config.
+
+Packaging
+---------
+
+Everything can be installed to a specific root directory by passing a --destdir
+option to the install stage (or setting the DESTDIR environment variable),
+which adds a prefix to all install paths. For example:
+
+ ./waf configure --prefix=/usr
+ ./waf
+ ./waf install --destdir=/tmp/package
+
+Packages should allow parallel installation of several major versions. For
+example, the above would be packaged as "foo-1". \ No newline at end of file