annotate kdiff3/README @ 73:f7dad0aa6146

KDiff3-0.9.90-Qt4
author joachim99
date Sun, 14 May 2006 20:09:06 +0000
parents 8febbfb1148c
children 08ea9b86c12c
rev   line source
joachim99@2 1 KDiff3-Readme
joachim99@2 2 =============
joachim99@2 3
joachim99@69 4 Author: Joachim Eibl (joachim.eibl at gmx.de)
joachim99@69 5 Copyright: (C) 2002-2006 by Joachim Eibl
joachim99@73 6 KDiff3-Version: 0.9.90-Qt4
joachim99@2 7
joachim99@2 8
joachim99@2 9 KDiff3 is a program that
joachim99@53 10 - compares and merges two or three input files or directories,
joachim99@2 11 - shows the differences line by line and character by character (!),
joachim99@2 12 - provides an automatic merge-facility and
joachim99@2 13 - an integrated editor for comfortable solving of merge-conflicts
joachim99@53 14 - has support for KDE-KIO (ftp, sftp, http, fish, smb)
joachim99@53 15 - and has an intuitive graphical user interface.
joachim99@53 16
joachim99@53 17
joachim99@53 18 Do you want help translating? Read the README in the po-subdirectory!
joachim99@2 19
joachim99@2 20
joachim99@2 21 Licence:
joachim99@2 22 GNU GENERAL PUBLIC LICENSE, Version 2, June 1991
joachim99@2 23 This program is free software; you can redistribute it and/or modify
joachim99@2 24 it under the terms of the GNU General Public License as published by
joachim99@2 25 the Free Software Foundation; either version 2 of the License, or
joachim99@2 26 (at your option) any later version.
joachim99@2 27
joachim99@2 28 This program is distributed in the hope that it will be useful,
joachim99@2 29 but WITHOUT ANY WARRANTY; without even the implied warranty of
joachim99@2 30 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
joachim99@2 31 GNU General Public License for more details.
joachim99@2 32
joachim99@2 33 You should have received a copy of the GNU General Public License
joachim99@2 34 along with this program; if not, write to the Free Software
joachim99@69 35 Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02111-1307 USA
joachim99@2 36
joachim99@2 37 For details see file "COPYING".
joachim99@2 38
joachim99@2 39
joachim99@2 40 Requirements & Installation:
joachim99@73 41 The version 0.9.90-Qt4 requires Qt 4.x.y (from www.trolltech.com) for compilation.
joachim99@73 42 (Qt-version >= 4.1.2 is recommended.)
joachim99@2 43
joachim99@12 44 You always need
joachim99@73 45 - kdiff3-0.9.90-Qt4.tar.gz
joachim99@2 46
joachim99@73 47 - for Un*x: gcc, g++ with version >=3.4.2
joachim99@73 48 Qt-X11-libraries
joachim99@12 49
joachim99@73 50 - for Windows: Qt-win-libs
joachim99@73 51 If you have the Qt4 commercial edition, then compile with Visual Studio.
joachim99@73 52 If you use the Qt4 open source edition, then you'll need MinGW.
joachim99@73 53 I verified that compilation and debugging works with these packages (probably newer ones will also work):
joachim99@73 54 - gcc-core-3.4.2-20040916-1.tar.gz
joachim99@73 55 - binutils-2.15.91-20040904-1.tar.gz
joachim99@73 56 - gcc-g++-3.4.2-20040916-1.tar.gz
joachim99@73 57 - mingw-runtime-3.9.tar.gz
joachim99@73 58 - mingw32-make-3.80.0-3.tar.gz
joachim99@73 59 - w32api-3.6.tar.gz (see also the note below)
joachim99@73 60 - gdb-5.2.1-1.exe (for debugging)
joachim99@73 61
joachim99@73 62 (Note: At the time of writing this README, the MinGW-package that was part
joachim99@73 63 of qt-win-opensource-4.1.2-mingw.exe lacked the latest w32api needed for
joachim99@73 64 KDiff3-compilation. You will need to unpack w32api-3.6.tar.gz or newer
joachim99@73 65 from www.mingw.org into your MinGW-directory.)
joachim99@12 66
joachim99@73 67 - for Mac: gcc, g++ with version >=3.4.2
joachim99@73 68 Qt-Mac-libraries
joachim99@2 69
joachim99@2 70
joachim99@73 71 Note for KDE-users:
joachim99@73 72 The version 0.9.90-Qt4 doesn't provide support for KDE-3.x
joachim99@73 73 because KDE-3.x.y requires Qt3.
joachim99@73 74 If you need KDE-specific features like KIO-support stick to the
joachim99@73 75 normal version 0.9.90.
joachim99@2 76
joachim99@73 77 Build-instructions (Unix or Mac):
joachim99@73 78 - Make sure your shell-variable QTDIR is correct and that
joachim99@73 79 your path contains the Qt4-bin-directory.
joachim99@73 80 - cd into the directory kdiff3-0.9.90-Qt4/src and type
joachim99@73 81 - qmake kdiff3.pro
joachim99@73 82 - make (or "gmake" for GNU-Make)
joachim99@58 83
joachim99@73 84 Build-instructions (Windows):
joachim99@73 85 - Run your qtvars.bat in the Qt4-bin directory.
joachim99@73 86 (This should set your QTDIR, QMAKESPEC and PATH-environment-variables.)
joachim99@73 87 - cd into the directory kdiff3-0.9.90-Qt4/src and type
joachim99@73 88 - qmake kdiff3.pro
joachim99@73 89 - make (which calls either "mingw32-make" or "nmake")
joachim99@58 90
joachim99@73 91 Debugging with MinGW under Windows:
joachim99@73 92 - cd into the directory kdiff3-0.9.90-Qt4/src
joachim99@73 93 - edit the file "Makefile.Debug" and in the LFLAGS replace "-Wl,-subsystem,windows" with "-Wl,-subsystem,console"
joachim99@73 94 (this is necessary so that gdb can send a break signal to the running program)
joachim99@73 95 - make debug (create a debuggable executable)
joachim99@73 96 - gdb debug\kdiff3.exe
joachim99@73 97 - At the "(gdb)"-prompt type "run" and enter to start.
joachim99@73 98 - While the program runs you can't set breakpoints, first interrupt it with Ctrl-C.
joachim99@73 99 - Use "help" to find out about how to use gdb. (Important commands: run, break, backtrace, print, quit)
joachim99@73 100 Using break with c++-methods requires to specify the parameter types too. Breakpoints in constructors might not work.
joachim99@73 101 - I've tested graphical gdb-frontends too:
joachim99@73 102 1. Insight (also from mingw.org) worked until I wanted to interrupt the program for setting breakpoints.
joachim99@73 103 2. Dev-Cpp: The debugger said that the app crashed before even launching it.
joachim99@73 104 Result: For Windows I recommend gdb on the console. Please tell me when things have improved!
joachim99@69 105
joachim99@2 106 Start from commandline:
joachim99@2 107 - Comparing 2 files: kdiff3 file1 file2
joachim99@2 108 - Merging 2 files: kdiff3 file1 file2 -o outputfile
joachim99@2 109 - Comparing 3 files: kdiff3 file1 file2 file3
joachim99@2 110 - Merging 3 files: kdiff3 file1 file2 file3 -o outputfile
joachim99@2 111 Note that file1 will be treated as base of file2 and file3.
joachim99@2 112
joachim99@12 113 If all files have the same name but are in different directories, you can
joachim99@12 114 reduce typework by specifying the filename only for the first file. E.g.:
joachim99@12 115 - Comparing 3 files: kdiff3 dir1/filename dir2 dir3
joachim99@12 116 (This also works in the open-dialog.)
joachim99@12 117
joachim99@2 118 If you start without arguments, then a dialog will appear where you can
joachim99@2 119 select your files via a filebrowser.
joachim99@2 120
joachim99@2 121 For more documentation, see the help-menu or the subdirectory doc.
joachim99@2 122
joachim99@2 123 Have fun!