PTC 2.0 C++ API X11 CLASSES Version 2.0.1 (alpha)

The X11 classes are Copyright (c) 1998 Christian Nentwich (brn@eleet.mcb.at)
The PTC 2.0 C++ API is (c) 1998 Glenn Fiedler (ptc@gaffer.org)

This package and all included source code is licensed under the GNU LGPL
Please refer to the included file COPYING.LIB for the exact terms
------------------------------------------------------------------------------


This file will tell you how to compile PTC 2.0.1 for X


  1. Quick installation

  2. More useful parameters
	- Configure parameters
	    Specifying a different compiler (egcs, pgcc, ...)
	    Troubleshooting: 'configure' doesn't work
  	    Troubleshooting: Lots of missing symbols with gcc 2.7.* (do not
	      		     go over -O2 with gcc 2.7.* or lower)
	- Different Makefile commands (making just examples, ...)
	- Troubleshooting: 'make debug' doesn't work in examples/* !!
	


Quick installation
---------------------

  Type './configure' or if your shell is quite old 'sh ./configure' or 
'csh ./configure'.

  Then type 'make'. That's it.

  What you get from this is:
    - A release library in the library/static/release directory
    - A debug library in the library/static/debug directory
    - Release versions of the examples in the release/ subdirectory of
      each example
    - Debug versions of the examples in the debug/ subdirectory of each
      example




More useful parameters
-------------------------

  You do have some influence on how 'configure' will work. For example, you
can change the compiler you want to use or the flags to pass to the compiler:
  
   'CXX=/usr/local/bin/g++ CXXFLAGS="-mpentium -O6" ./configure'

  This will use the compiler and flags specified above (on my system, that is
pgcc 1.0.3a). If this does not seem to change the compiler, try using the 'env'
command:

   'env CXX=/usr/local/bin/g++ CXXFLAGS="-mpentium -O6" ./configure

  Please note that the whole tree will have to be remade now or otherwise
you might get missing symbols. It would be a wise idea to do a 'make distclean'
before running configure this way.


TROUBLESHOOTING  
  If your './configure' does not want to run, try and type 'sh configure' or
'csh configure'. If that does not help you, you might want to try and rebuild
the configure script using automake (if you have it). Simply type 'automake'
in the main directory.
  If it still does not work, please send a bug report and you will hear from
me within a day's time.


TROUBLESHOOTING
  gcc 2.7.* really does NOT like exception handling very much. On my system
and on one SGI I tried it on, it messed up the code when I used optimisation
flags >-O2. Therefore: -O2 is the MAXIMUM on gcc. Of course there is no reason
not to use -O6 on pgcc ;)


  Now for the top level Makefile. You can type 'make command' where command is
any one of the following:

	'all'			Same as typing 'make', builds everything
	'release'		Build only a release library
	'debug'			Build only a debug library
	'releaseexamples'	Build only the release version of the examples
	'debugexamples'		Build only the debug version of the examples

	'clean'			Delete all object (*.o) files
	'distclean'		Delete all object files, executables, libraries
				Makefiles, i.e. restore a sane state :)


TROUBLESHOOTING
  If you type 'make debug' or 'make release' in any of the example/* 
directories or in source/static you will - no doubt - find out that nothing
happens, or worse, it fucks up. So don't.
  The reason for this is that I am a weirdo and I still haven't updated the
lower level Makefiles to use a proper syntax.

  If you want to make a debug example or a debug library from the lower level
directories (e.g. examples/tunnel, ...), then use the following command:

   'make LIBRARY=debug'



That's it for now :)
brn

-----
Last modified 24/7/1998
