diff kdiff3/README @ 73:f7dad0aa6146

KDiff3-0.9.90-Qt4
author joachim99
date Sun, 14 May 2006 20:09:06 +0000
parents 8febbfb1148c
children 08ea9b86c12c
line wrap: on
line diff
--- a/kdiff3/README	Tue Apr 18 21:16:38 2006 +0000
+++ b/kdiff3/README	Sun May 14 20:09:06 2006 +0000
@@ -3,7 +3,7 @@
 
 Author: Joachim Eibl  (joachim.eibl at gmx.de)
 Copyright: (C) 2002-2006 by Joachim Eibl
-KDiff3-Version: 0.9.89
+KDiff3-Version: 0.9.90-Qt4
 
 
 KDiff3 is a program that
@@ -36,148 +36,72 @@
 
     For details see file "COPYING".
 
-Exception from the GPL:
-    As a special exception, the copyright holder Joachim Eibl gives permission
-    to link this program with the Qt-library (commercial or non-commercial edition)
-    from Trolltech (www.trolltech.com), and he permits to distribute the resulting
-    executable, without including the source code for the Qt-library in the
-    source distribution.
-
 
 Requirements & Installation:
-   Version 0.9.89 provides special support for KDE3, but it can also be
-   built without KDE3 if the Qt-libraries are available.
-   (I also test and use the program under Windows.)
+   The version 0.9.90-Qt4 requires Qt 4.x.y (from www.trolltech.com) for compilation. 
+   (Qt-version >= 4.1.2 is recommended.)
 
    You always need
-      - kdiff3-0.9.89.tar.gz
+      - kdiff3-0.9.90-Qt4.tar.gz
 
-   For building the KDE3-version
-      - KDE>=3.1 and QT>=3.1-libraries. (QT>=3.2 is recommended)
-      - gcc, g++ with version >=3.2
+      - for Un*x:    gcc, g++ with version >=3.4.2
+                     Qt-X11-libraries
 
-   For building the Qt-only-version
-      - QT-libraries (version >=3.1.0).
-        (www.trolltech.com)
-      - for Un*x:    gcc, g++ with version >=3.2
-      - for Windows: VC6 / VC7.1
+      - for Windows: Qt-win-libs
+                     If you have the Qt4 commercial edition, then compile with Visual Studio.
+                     If you use the Qt4 open source edition, then you'll need MinGW.
+                     I verified that compilation and debugging works with these packages (probably newer ones will also work):
+                     - gcc-core-3.4.2-20040916-1.tar.gz  
+                     - binutils-2.15.91-20040904-1.tar.gz  
+                     - gcc-g++-3.4.2-20040916-1.tar.gz   
+                     - mingw-runtime-3.9.tar.gz 
+                     - mingw32-make-3.80.0-3.tar.gz 
+                     - w32api-3.6.tar.gz (see also the note below)
+                     - gdb-5.2.1-1.exe (for debugging)
+                      
+                     (Note: At the time of writing this README, the MinGW-package that was part
+                     of qt-win-opensource-4.1.2-mingw.exe lacked the latest w32api needed for 
+                     KDiff3-compilation. You will need to unpack w32api-3.6.tar.gz or newer
+                     from www.mingw.org into your MinGW-directory.)
 
-   On some distributions it will be necessary to install developer
-   packages (RPMs) that contain include files for compilation:
-      - xorg-x11-devel (or x11-devel)
-      - qt-devel
-      - kdelibs-devel
+      - for Mac:     gcc, g++ with version >=3.4.2
+                     Qt-Mac-libraries
 
-Installation for KDE3:
-   - Make sure your shell-variable QTDIR is correct. (echo $QTDIR).
-     If it doesn't contain the correct path, type
-        export QTDIR=your_path_to_qt  (e.g. /usr/lib/qt3)
-   - cd into the directory kdiff3-0.9.89 and type
-   - ./configure --prefix=/opt/kde3           (your KDE3 directory here)
-   - (make clean)                    (Required if you already compiled once.)
-   - make                            (Run compilation)
-   - make install                    (You must have root-rights for this step.)
 
-   For details also see the generic instructions in file "INSTALL".
+Note for KDE-users:
+   The version 0.9.90-Qt4 doesn't provide support for KDE-3.x
+   because KDE-3.x.y requires Qt3. 
+   If you need KDE-specific features like KIO-support stick to the
+   normal version 0.9.90.
 
-   If some icons are not visible or don't seem right, probably the prefix
-   was wrong. Check where your KDE3 installation is located and
-   use that directory with the prefix-option of configure.
+Build-instructions (Unix or Mac):
+   - Make sure your shell-variable QTDIR is correct and that 
+     your path contains the Qt4-bin-directory.
+   - cd into the directory kdiff3-0.9.90-Qt4/src and type
+   - qmake kdiff3.pro
+   - make (or "gmake" for GNU-Make)
 
-   This command should tell you: kde-config --prefix
+Build-instructions (Windows):
+   - Run your qtvars.bat in the Qt4-bin directory.
+     (This should set your QTDIR, QMAKESPEC and PATH-environment-variables.)
+   - cd into the directory kdiff3-0.9.90-Qt4/src and type
+   - qmake kdiff3.pro
+   - make (which calls either "mingw32-make" or "nmake")
 
-   For SuSE and most distributions the prefix usually is /opt/kde3.
-   For Redhat/Fedora and Mandrake the prefix usually is /usr.
-   For a local installation, that doesn't need root rights try
-   - ./configure --prefix=$KDEHOME  ($KDEHOME probably is the same as $HOME/.kde)
-   - make
-   - make install    (Installs everything in $KDEHOME. No root rights required.)
-   - Run $KDEHOME/bin/kdiff3. ($KDEHOME/bin is probably not in your path.)
-   Warning: If a local installation and a global installation exist, the local
-            menu, toolbar, help etc. will be used, even if you start the global
-            executable. To avoid confusion, better remove the local version then.
-            (rm -R `find $KDEHOME -name "*kdiff3*" -not -name "kdiff3*rc"`)
-
-   On Fedora-64-bit systems the following configure-line was reported to work:
-   ./configure --prefix=`kde-config --prefix` --enable-libsuffix=64 --with-qt-libraries=/usr/lib64/qt-3.3/lib/
-   Both --enable-libsuffix=64 and -with-qt-libraries=/usr/lib64/qt-3.3/lib/ are needed;
-   without the first one it fails to find the KDE libraries,
-   and without the second one it fails to find libqt-mt
-   (strangely enough: libqt-mt is in /usr/lib64/qt-3.3/lib, 
-   and "configure" tries /usr/lib64/qt-3.3/lib64)
-   If your qt-libraries are elsewhere please adapt the path accordingly.
-
-   Some secondary dependencies aren't correctly discovered by configure.
-   If e.g the a linker error appears telling you something like
-   "Can't find -lacl" this probably means that you have to install 
-   libacl-devel-*.rpm etc.
-
-   If you run an older version of KDE and the make-process fails in the
-   doc- or po-directory, cd to the src-directory and run "make" there. Also run 
-   "make install" there. This hopefully will create a working kdiff3-binary,
-   although without doc and language support.
-
-Upgrading KDiff3 for KDE:
-   If you already installed an older version or KDiff3 and you have the 
-   impression, that the new version doesn't work as described, you should try to 
-   remove all files belonging to KDiff3 before reinstalling. 
-   Try this search command to locate KDiff3-related files:
-      find $HOME/.kde /usr /opt -iname "*kdiff3*"
-   (Will take a few minutes.)
-   
-
-
-Installation for the Qt-only-platforms for Un*x:
-   (for Qt >=3.1.0)
-   - Make sure your shell-variable QTDIR is correct. (echo $QTDIR).
-     If it doesn't contain the correct path, type
-        export QTDIR=your_path_to_qt  (e.g. /usr/lib/qt)
-   - cd into the directory kdiff3-0.9.89/src and type
-   - make -f Makefile.qt
-   - make -f Makefile.qt install     (You must have root-rights for this step.)
-     (copies the files into /usr/local/bin and /usr/local/share/doc/kdiff3)
-   - Note: The file kdiff3.pro was used to generate the Makefile.qt:
-           qmake kdiff3.pro -o Makefile.qt
-   If you want to build the Qt-only version _and_ the KDE-version, do this
-   in separate directories, otherwise there will be errors. 
-
-Build for Windows:
- Use qmake and kdiff3.pro to generate
- an appropriate Makefile.
-     qmake kdiff3.pro -o Makefile
-
-
-Building Kdiff3 for Mac OSX 10.3.8 (by Mark Teel)
---------------------------------------------------------
-   1) Install Qt/Mac with thread support and static libraries.
-   2) cd .../kdiff3-0.9.89
-   3) Create a makefile for kdiff3 by executing:
-      qmake src/kdiff3.pro -o Makefile.qt
-   4) Edit Makefile.qt and add the definition "KDIFF3" to the following two lines:
-      CFLAGS   = -pipe -Wall -W -Os  -DKDIFF3 -DQT_NO_DEBUG ...
-      CXXFLAGS = -pipe -Wall -W -Os  -DKDIFF3 -DQT_NO_DEBUG ...
-   5) Edit Makefile.qt and change the include path like so:
-      (old) INCPATH  = -I/Library/qt3/mkspecs/default -Isrc ...
-      (new) INCPATH  = -I/Library/qt3/mkspecs/macx-g++ -Isrc ...
-   6) KDiff3-0.9.88-specific: Edit src/kdiff3.cpp line 290 like this:
-         statusBar()->setSizeGripEnabled(true);
-   7) KDiff3-0.9.88-specific: (not necessary for 0.9.89 or later)
-      Edit /usr/include/mach/ppc/processor_info.h and replace all instances of
-      "unsigned int word" found in the four register unions (on lines 44, 65, 
-      74, 82) as follows:
-      (old)
-         unsigned int word;
-      (new)
-      #if defined(KDIFF3)
-         unsigned word;
-      #else
-         unsigned int word;
-      #endif
-   8) Execute:
-      make -f Makefile.qt
-   9) After the build completes copy kdiff3 from the kdiff3-0.9.89 directory to
-      /Applications
-
+Debugging with MinGW under Windows:
+- cd into the directory kdiff3-0.9.90-Qt4/src
+- edit the file "Makefile.Debug" and in the LFLAGS replace "-Wl,-subsystem,windows" with "-Wl,-subsystem,console"
+  (this is necessary so that gdb can send a break signal to the running program)
+- make debug (create a debuggable executable)
+- gdb debug\kdiff3.exe
+- At the "(gdb)"-prompt type "run" and enter to start.
+- While the program runs you can't set breakpoints, first interrupt it with Ctrl-C.
+- Use "help" to find out about how to use gdb. (Important commands: run, break, backtrace, print, quit)
+  Using break with c++-methods requires to specify the parameter types too. Breakpoints in constructors might not work.
+- I've tested graphical gdb-frontends too: 
+    1. Insight (also from mingw.org) worked until I wanted to interrupt the program for setting breakpoints.
+    2. Dev-Cpp: The debugger said that the app crashed before even launching it.
+  Result: For Windows I recommend gdb on the console. Please tell me when things have improved!
 
 Start from commandline:
 - Comparing 2 files:     kdiff3 file1 file2