Adding new projects

Work in progress

sipXecs is made up of many separate projects: 45 and counting. If you ever had an idea to develop and sipXecs add-on, then this document will show you how to build your add-on easily for sipXecs.

Step 1. Become familiar with autoconf, automake and GNU Make

These tools are used to assemble sipXecs projects and even assemble CDs. They for a common build interface for each project. There are no claims that these tools are easy to use or better then other tools, just that they are used here for integration they are fairly flexible and have proper documentation online.

Step 2. Create a skeleton project

Constraints:

  1. Your project must be located in top level source directory.
  2. It must have same version number as sibling sipXecs projects.

Step 3. Hook into sipXecs build process

Create file autoconf file

./custom/custom.m4
AC_CONFIG_FILES([mak/01-mycompany.mk:custom/mycompany.mk.in])

Then create automake file

./custom/mycompany.mk.in
sipx += myproject

You'll notice here that you didn't edit a single file of sipXecs. That means you will not have to maintain any patches to sipXecs.

Optional: Adding dependencies

Sometimes your project uses a package that isn't normally found on all distributions. Other times the package is available, but it's of an incompatible version on some distributions. Alternatives should be explored before pulling in a dependencies but once you've done that and are convinced you need add a dependency, then you can follow these instructions.