Prosody installation guide: building software components

After doing the first-time build, go to each of directories listed below and run 'make'. Note that if you are using Visual Studio on Windows and you have built everything with the Visual Studio Project files, then all of these components have already been built and you can proceed to run the tests described in Prosody installation guide.

If you don't want to use 'make', build the targets in each directory as described in Prosody installation guide: building without using the Makefiles.

Directory under $(TiNG) Contents
libutil library of small items used in various places - essential
apilib API library - essential
highapi High level API library. This is necessary if you use any of the high level API functions. It is also used by some of the test programs in the test directory.
call Call control API library. This is only used by a few test programs in the test directory. To build this you must also have the Aculab call control software installed.
switch Switch driver API library. This is only used by a few test and diagnostic programs in the test and $(TiNG)/diag directories. To build this you must also have the Aculab switch driver software installed.
adsilib An implementation of ADSI (see ADSI library). This is only needed for a very few test programs.
rtcplib An implementation of RTCP (see Prosody RTCP library). This is only needed for a very few test programs.
v8lib An implementation of the V.8 standard (see V.8 library). This is only needed for a very few test programs.
class C++ classes which drive the standard C API. This is only needed for a very few test programs.
diag/* Various test and diagnostic programs. Each of these has its own directory. These programs are not intended as examples. They may use undocumented features or be written in a way which is inappropriate for a general application.
test/* Various test programs. Each of these has its own directory. In addition there is a directory Testlib which contains some code which is common to several programs. Build in this directory first and then build each test program in turn. These programs generally use the documented API correctly, so if you look at how they do things they will not mislead you into using undocumented features. Some of these may even be useful as a starting point for writing applications.

If you cannot build an item, unless it is described above as 'essential', it may be worth noting what item failed and continuing to build the later items. In particular, for Prosody S and Prosody X, it is possible to run some tests without the call or switch having built.

The program 't0' used in many makefiles is built as part of the first time build.

Obviously you can do all the building automatically with a command like this:

	for i in libutil apilib highapi adsilib rtcplib v8lib call switch class; do (cd $i; make) done
	for i in diag/* test/* ; do test -f $i/$TiNGTARGET/objlist && (cd $i; make) done

That works in a standard shell, such as is used with Linux, or available as part of the Cygwin tools for Windows. Using the CMD.EXE command interpreter on Windows, the equivalent is:

	for %d in (libutil apilib highapi adsilib rtcplib v8lib call switch diag test) do (pushd %d & make & popd)
	for /d %d in (diag\\* test\\*) do (pushd %d & (if exist WINNT_V6\objlist make ) & popd)

You are now ready to run the tests described in Prosody installation guide.