				 xxdiff README
			 ------------------------------
					
xxdiff is a graphical file and directories comparison and merge tool.

Official home page: http://xxdiff.sourceforge.net
Author: Martin Blais <blais@iro.umontreal.ca>

Full documentation is available from the Help menu or web site.


Building from source:
------------------------------

#
# External dependencies.
#
# To build Qt, you'll need:
#
# - GNU make.  You will need GNU make.  Don't waste your time with other makes,
#   many are known not to work (Sun's, as well as OSF1).
#
# - A C++ compiler with a decent STL
#
# - flex and bison
#
# - Qt-2.3.x  (Note: xxdiff has not yet been ported to Qt-3.x)
#
# - tmake-1.7 or more (old versions, e.g. tmake-1.4, have problems with the
#   INTERFACE keyword and don't generate appropriate rules for building the .ui
#   files).
#


#
# compile xxdiff itself
#
# http://www.trolltech.com.  Make sure your TMAKEPATH is properly set to point
# to the architecture specific tmake directory.

cd xxdiff/src
tmake xxdiff.pro > Makefile
make


#
# installation
#
su - 
install xxdiff/src/xxdiff /usr/X11R6/bin

# you can generate HTML documentation with 'xxdiff --help-html' if you want.



Building from source, under Windows:
------------------------------

This has not been done with success yet.

Here is some advice:

 - install Cygwin
 - install qt non-commercial version
 - use nmake.exe
 - you'll have to hack the makefile produced by tmake, it's not working.
 - you'll have to add DEFINES += QT_DLL to the compilation options

Please don't bother me with Windows compilation questions, it's
endless, complicated, and non-interesting. If you want to
compile under Windows, you've got to be somewhat of a hacker,
and then I'm sure you don't need me for that. You're on your
own. Besides, I wouldn't have the answer anyway.

Known limitations under Windows:

 - you cannot spawn the editor, that's been ifdef'ed out.



Packaging:
------------------------------

   * Source packaging:
     tools/release_src

   * Simple binary packaging (all platforms):
     tools/release_bin

   * Redhat Linux packaging:
     tools/release_i386_rpm

   * Debian Linux packaging:
     See web page for link to current port.

   * OpenBSD packaging:
     In the ports tree.

   * SGI packaging:
     tools/release_mips_tardist
     # to install the SGI package you'll need fw_qt and it's prerequisites.

     # installing from tardist package.
     inst -f xxdiff-<version>.mips.tardist
     > go




The author's own release process:
------------------------------

   0) check 
      1a) tmake makefile is in release
      1b) version number is correct

   1) apply release tag to cvs files 

   2) build (see instructions above)
      2a) run tests in xxdiff/test

   3) build packages (see instructions above)

   4) distribute
      - add release to sourceforge project
      - upload to sourceforge htdocs (secondary download location)
      - upload to sourceforge web page
      - upload to rhcontrib.bero.org

   5) announce
      - sourceforge project release announcement
      - update web site
      - freshmeat
      - rh-contrib (bero)
      - qt-interest
      - cervisia ml
      - wincvs ml
      - sgi freeware
      - discreet

