Mercurial > hg > easyhg-kdiff3
diff kdiff3/README @ 80:fcd146072e0c
0.9.93
author | joachim99 |
---|---|
date | Tue, 06 Jan 2009 17:51:29 +0000 |
parents | 1184fc843210 |
children | 4e6ebbbae925 |
line wrap: on
line diff
--- a/kdiff3/README Tue Jan 06 17:15:53 2009 +0000 +++ b/kdiff3/README Tue Jan 06 17:51:29 2009 +0000 @@ -2,24 +2,50 @@ ============= Author: Joachim Eibl (joachim.eibl at gmx.de) -Copyright: (C) 2002-2006 by Joachim Eibl -KDiff3-Version: 0.9.92 +Copyright: (C) 2002-2008 by Joachim Eibl +KDiff3-Version: 0.9.93 +KDiff3 runs best on KDE but can be built without it, depending only on Qt-libs. +These are available for Un*x, Windows, Mac. +Thus there are many setup possibilities to consider. + +From version 0.9.93 on the main target platform is KDE4/Qt4. +For KDiff3 for KDE3/Qt3 use KDiff3-0.9.92 or older. + +Contents +-------- + +- Introduction +- License +- Requirements & Installation + - For KDE4 + - With Qt4-libs, without KDE + - for Linux/Un*x + - for Windows + - Debugging with MinGW under Windows: + - for Mac: Building KDiff3 for Mac OSX (with Intel processor) as a universal binary +- Additional hints + + +Introduction +------------ KDiff3 is a program that - compares and merges two or three input files or directories, - shows the differences line by line and character by character (!), - provides an automatic merge-facility and - an integrated editor for comfortable solving of merge-conflicts -- has support for KDE-KIO (ftp, sftp, http, fish, smb) -- and has an intuitive graphical user interface, -- also supports 64 bit systems. (Some build issues are discussed in here.) - +- has support for KDE-KIO (ftp, sftp, http, fish, smb), +- has an intuitive graphical user interface, +- provides a context menu for KDE-Konqueror and Windows-Explorer, +- supports 64 bit systems. (Some build issues are discussed in here.) Do you want help translating? Read the README in the po-subdirectory! -License: +License +------- + GNU GENERAL PUBLIC LICENSE, Version 2, June 1991 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,242 +65,143 @@ 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) + to link this program with the Qt-library (commercial or open source 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.91 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.) - It is now also possible to build with Qt4 (See further below). +Requirements & Installation +--------------------------- + +- for KDE4: + From version 0.9.93 on KDiff3 supports KDE4. + For installation on most distributions you usually also require these packages (names as on opensuse): + - g++ (g++, version 3.4 or newer) + - libqt4-devel (Qt4-libs, version 4.4.0 or newer) + - libkde4-devel (KDE4 Header files and development libraries) + - libkonq-devel (optional, needed for the kdiff3-plugin, if not installed + then the contextmenu plugin for konqueror won't be built.) + - cmake (>2.6, checks dependencies and creates the Makefiles appopriate for your system) + + Typically in a terminal (e.g. konsole) you cd into the kdiff3-directory and run these commands. + + mkdir release # create sub directory + cd release # cd into that directory + kde4-config --prefix # Find out your KDE4-directory and note the result + cmake .. -DCMAKE_INSTALL_PREFIX=<KDE4-prefix> # create Makefile, replace <KDE4-prefix> with the prior result + make # run make (compile and link) + sudo make install # install as root user + + Now KDiff3 should be ready to use. Type "kdiff3" to start it. + There should also be a entry in your KDE-start menu in "(Applications->)Development". + + For creating a debug version: + mkdir debug + cd debug + kde4-config --prefix # Find out your KDE4-directory and note the result + cmake .. -DCMAKE_INSTALL_PREFIX=<KDE4-prefix> -DCMAKE_BUILD_TYPE=debugfull + make + sudo make install + + The <KDE4-prefix> depends on your distribution: + The command "kde4-config --prefix" should tell you. + - For opensuse 11 use "/usr". + +- Building KDiff3 with Qt4-libs, but without KDE + - for Linux/Un*x + - for Windows + - for Mac + + The version 0.9.93 requires Qt 4.4.0 or newer (from www.trolltech.com) for compilation. You always need - - kdiff3-0.9.91.tar.gz - - For building the KDE3-version - - KDE>=3.3 and QT>=3.3-libraries. (but not with KDE4) - - gcc, g++ with version >=3.2 - - For building the Qt-only-version - - QT-libraries (version >=3.3.0, but <4.0 or >=4.2.0). - (www.trolltech.com) - - for Un*x: gcc, g++ with version >=3.2 - - for Windows: VC6 / VC7.1 - - 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 - -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.91 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". - - 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. - - This command should tell you: kde-config --prefix - - 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.) - - -Building an RPM for Fedora Core (by Vadim Likhota) - Copy kdiff3-0.9.91.tar.gz into /usr/src/redhat/SOURCE - Copy kdiff3.spec into /usr/src/redhat/SPEC - Run rpmbuild -bb --target i686 kdiff3.spec - Find kdiff3-0.9.91-fc.i686.rpm in /usr/src/redhat/RPMS/I386 - - -Installation for the Qt-only-platforms for Un*x: - (for Qt >=3.3.0 but <4.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.91/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. - - A user reported that on his 64-bit machine running FC4 he had to edit his Makefile.qt - LIBS = $(SUBLIBS) -L/usr/lib64/ -L$(QTDIR)/lib64/ -L/usr/lib -L$(QTDIR)/lib/ -L/usr/X11R6/lib/ -L/usr/X11R6/lib64/ -lqt-mt -lXext -lX11 -lm -lpthread - - -Build for Windows: - Use qmake and kdiff3.pro to generate - an appropriate Makefile. - qmake kdiff3.pro -o Makefile - - -Building KDiff3 (Qt3) for Mac OSX 10.3.8 (by Mark Teel) -------------------------------------------------------- - 1) Install Qt/Mac with thread support and static libraries. - 2) cd .../kdiff3-0.9.91/src - 3) Create a makefile for kdiff3 by executing: - qmake kdiff3.pro -o Makefile.qt - 4) 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 ... - 5) Execute: - make -f Makefile.qt - 6) After the build completes copy kdiff3 from the kdiff3-0.9.91/src directory to - /Applications - -Building KDiff3 (Qt4) for Mac OSX (with Intel processor) as a universal binary (by Michael Schmidt) ---------------------------------------------------------------------------------------------------- - 1) Install Qt/Mac 4.x with thread support, static libraries and universal flag. - 2) cd .../kdiff3-0.9.91/src-QT4 - 3a) Create a makefile for kdiff3 by executing: - qmake kdiff3.pro - 3b) optionally generate XCode-Project (for debugging purposes only) by executing: - qmake -spec macx-xcode kdiff3.pro - 4) Execute: - make - 5) After the build completes copy kdiff3 from the kdiff3-0.9.91/src-QT4 directory to - /Applications - ----------------------------------------------------------------- - -Building KDiff3 with Qt4: - -Requirements & Installation: - The version 0.9.91 requires Qt 4.2.0 (from www.trolltech.com) for compilation. - - You always need - - kdiff3-0.9.91.tar.gz + - kdiff3-0.9.93.tar.gz - for Un*x: gcc, g++ with version >=3.4.2 Qt-X11-libraries - for Windows: Qt-win-libs - If you have the Qt4 commercial edition, then compile with Visual Studio. + If you have the Qt4 commercial edition, then compile with Visual Studio.NET2003 or newer. 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.) + - Use MinGW-5.1.4.exe or newer to install the following or newer: + - gcc-core-3.4.5-20060117-1.tar.gz + - binutils-2.17.50-20060824-1.tar.gz + - gcc-g++-3.4.5-20060117-1.tar.gz + - mingw-runtime-3.14.tar.gz + - mingw32-make-3.81-2.tar.gz + - w32api-3.11.tar.gz + - gdb-6.3-2.exe (for debugging) - for Mac: gcc, g++ with version >=3.4.2 Qt-Mac-libraries + - Optional: Qt Creator IDE: Development environment optimized for Qt (http://trolltech.com/developer/qt-creator) + Build-instructions (Un*x): + - Make sure your shell-variable QTDIR is correct and that + your path contains the Qt4-bin-directory. + - cd into the directory kdiff3-0.9.93/src-QT4 and type + - qmake kdiff3.pro + - make (or "gmake" for GNU-Make) -Note for KDE-users: - The version 0.9.91-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.91. + Build-instructions (Windows): + - set QTDIR=<QT4-dir> e.g.: c:\qt\4.4.1 + set "PATH=%QTDIR%\bin;%PATH%" + - cd into the directory kdiff3-0.9.93\src-Qt4 and type + - qmake kdiff3.pro + - Either "nmake" for Visual Studio or "mingw32-make" depending on what you have. -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.91/src-QT4 and type - - qmake kdiff3.pro - - make (or "gmake" for GNU-Make) + Debugging with MinGW under Windows: + - Qt Creator worked very good as debugger frontend too! + - Debugging without gdb on the console: + - The qt-win-opensource-4.4.1-mingw.exe only installs release dlls. You will have to compile the + debug dlls yourself. Enter the qt-4.4.1-directory and run "configure -debug" and then "mingw32-make". + - cd into the directory kdiff3-0.9.93\src-Qt4 + - 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) + - mingw32-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. -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.91/src-Qt4 and type - - qmake kdiff3.pro - - make (which calls either "mingw32-make" or "nmake") + Building KDiff3 (Qt4) for Mac OSX (with Intel processor) as a universal binary (by Michael Schmidt) + 1) Install Qt/Mac 4.x with thread support, static libraries and universal flag. + (For Qt4 run "configure -static"; only necessary if the final binary should not require shared Qt4-libs.) + 2) cd .../kdiff3-0.9.93/src-QT4 + 3a) Create a makefile for kdiff3 by executing: + qmake kdiff3.pro + 3b) optionally generate XCode-Project (for debugging purposes only) by executing: + qmake -spec macx-xcode kdiff3.pro + 4) Execute: + make + 5) After the build completes copy kdiff3 from the kdiff3-0.9.93/src-QT4 directory to + /Applications -Debugging with MinGW under Windows: -- The qt-win-opensource-4.2.0-mingw.exe only installs release dlls. You will have to compile the - debug dlls yourself. Enter the qt-4.2.0-directory and run "configure -debug" and then "make". -- cd into the directory kdiff3-0.9.91/src-Qt4 -- 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! (End of KDiff3 with Qt4-instructions) ------------------------------------------------------------------------ +Additional hints +---------------- -Start from commandline: -- Comparing 2 files: kdiff3 file1 file2 -- Merging 2 files: kdiff3 file1 file2 -o outputfile -- Comparing 3 files: kdiff3 file1 file2 file3 -- Merging 3 files: kdiff3 file1 file2 file3 -o outputfile - Note that file1 will be treated as base of file2 and file3. + Start from commandline: + - Comparing 2 files: kdiff3 file1 file2 + - Merging 2 files: kdiff3 file1 file2 -o outputfile + - Comparing 3 files: kdiff3 file1 file2 file3 + - Merging 3 files: kdiff3 file1 file2 file3 -o outputfile + Note that file1 will be treated as base of file2 and file3. -If all files have the same name but are in different directories, you can -reduce typework by specifying the filename only for the first file. E.g.: -- Comparing 3 files: kdiff3 dir1/filename dir2 dir3 -(This also works in the open-dialog.) + If all files have the same name but are in different directories, you can + reduce typework by specifying the filename only for the first file. E.g.: + - Comparing 3 files: kdiff3 dir1/filename dir2 dir3 + (This also works in the open-dialog.) -If you start without arguments, then a dialog will appear where you can -select your files via a filebrowser. + If you start without arguments, then a dialog will appear where you can + select your files via a filebrowser. -For more documentation, see the help-menu or the subdirectory doc. + For more documentation, see the help-menu or the subdirectory doc. -Have fun! + Have fun!