Mercurial > hg > easyhg-kdiff3
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