Compiling xmlfy

xmlfy is written in generic C and uses as few external libraries as possible so that it remains as portable as possible.

The compiler of choice is gcc but most ANSI compatible C compilers should also work.

Compiling and Installing

Prepare

  • Download and unzip the source code into a temporary folder.
  • Read the license and agree to its terms and conditions of use.

Un*x compile

    % cd xmlfy-<version>
    % make clean
    % make all
    

Win32 compile

  • There are lots of ways to compile a C program on a Windows platform, e.g Microsoft Visual C/C++, Borland C/C++ Builder, GNU Mingw, Watcom just to name a few. Each compiler has its own idiosyncrasies and compatibility concerns that are beyond the scope of this document.

    The author only caters for a Microsoft Visual C/C++ compilation at the command line.

  • C:> CD xmlfy-<version>\xmlfy
    C:> NMAKE /f Makefile_Win32 clean all
    

Testing

  • A number of test cases are included and should be executed to ensure previous functionality has been preserved.
  • % make test
    
  • To run the test cases for a Win32 distribution refer to the instructions inside the following makefile.
    xmlfy-<version>\Makefile

Building a distribution

  • If your operating system is supported you can manufacture a native package of xmlfy.
  • % make dist
    
  • To correctly package xmlfy for a Win32 distribution refer to the instructions inside the following makefile.
    xmlfy-<version>\Makefile

Installing

  • If your operating system was supported and a native package was manufactured for the platform you were using then you can use your favourite package management tool to install this software which is probably the better option in the long run.

    To install a native xmlfy package please refer to the Installation section in the main documentation.

  • If you were not lucky then you can use the classic style install options.
  • % make install
    

    or

    % make DESTDIR=<root_path> bindir=<bin_path> mandir=<man_path> install
    

    Where:
    <root_path> = Root path prefix for bindir and mandir. Defaults to empty string
    <bin_path> = The path to the bin directory. Defaults to /usr/bin
    <man_path> = The path to the man directory. Defaults to /usr/share/man