johnsonjh/duma

View on GitHub
Attic/INSTALL

Summary

Maintainability
Test Coverage
This documents describes if and how the library is installed on your system.

I. environments with CMake:

  clone/checkout sources with git. cd into the sources.
  then execute create and change to a build directory:
      mkdir build
      cd build

  run cmake:
      cmake ../
  optionally, you might add additional options like here:
      cmake -DCMAKE_BUILD_TYPE=Debug ../
  or, change destination prefix (for not requiring sudo):
      cmake -DCMAKE_INSTALL_PREFIX=~ ../
  or
      cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain_gcc-8.cmake ../
  or following for using Visual Studio
  (see https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html )
      cmake -G "Visual Studio 16 2019" -A x64 ../

  with a tool like 'ccmake' or 'cmake-gui' you can change configuration
  exploring all the available options:
      ccmake .
      cmake-gui .

  when finished, then build the library, tests and examples
      cmake --build .

  for running tests, execute:
      ctest

   for installation (sudo depending on CMAKE_INSTALL_PREFIX):
      [sudo] cmake --build . --target install
   with 'make' as cmake target you can simplify to:
      [sudo] make install

   for uninstall:
      [sudo] cmake --build . --target uninstall


  the examples should be run within a debugger/IDE.


II. Linux/Unix environments (including Cygwin and MinGW):

  Configure the options by editing the Makefile.
    Read carefully the description of options at top of the Makefile.
    Take care for the special OS/OSTYPE depending sections.
    Especially if you are going to use the LD_PRELOAD mechanism.

  Call GNU make often called 'gmake' for building the library.
  GNU make is called 'mingw32-make' for MinGW.

  Add option 'OSTYPE=msys' when calling make for MinGW from command prompt
  Add option 'OSTYPE=msys-sh' when calling make for MinGW from shell prompt
  Add option 'OSTYPE=cygwin' when calling make for Cygwin.
  Add option 'OS=osx' when calling make for MacOS X or Darwin.
  Add option 'OS=freebsd' when calling make for FreeBSD.
  Add option 'OS=netbsd' when calling make for NetBSD.
  Add option 'OS=solaris' when calling make for Solaris.
  Add option 'OS=linux' when calling make for Linux.

  Get system user with 'su' or 'sudo', if you are going
  to install into system directories

  Call 'make' or 'gmake install' to install into system directories.

  Note: You need not install DUMA. Setting system PATH for duma.sh
    or INCLUDE/LIBS variables after compilation may suffice, too.
    The (outdated) manual page should be installed as well.


III. Windows 2000/XP, Visual Studio Environments:

  Compile and run 'createconf', that generates the file duma_config.h.
  Compile 'dumalib' and set the directories 'INCLUDE' and 'LIBS'
  in your environment or project.


IV. Solaris Environment:

  Add the location(s) of the GNU tool-chain (gmake, gcc, ar, ..) to the PATH:
  On my Solaris 10 installation with the Companion CD it is:
    /opt/sfw/bin and /opt/sfw/lib/bin

  Also notice that the Makefile has to contain some special settings so that
  the compiled executable can dynamically find and link to libstdc++. Have a
  look at the Solaris section in DUMA's Makefile.


V. FreeBSD Environment:

  At least on my FreeBSD-6.2 installation i have to set the shell environment
  variable with 'export DUMA_DISABLE_BANNER=1' before running any programs
  linked with libduma.a. There seems to be an initialization problem with
  the pthreads library.


VI. NetBSD Environment:

  At least on my NetBSD-3.1 (HOSTTYPE=i386; OSTYPE=netbsdelf) installation
  i always get exactly one memory leak. I've not tested to install.



Hayati Ayguen

15 September 2005,
updated 31 July 2007
updated 11 August 2007
updated 18 August 2007
updated 28 August 2007
updated 17 March 2009
updated 30 May 2021