annotate kdiff3/README @ 69:8febbfb1148c

KDiff3 0.9.89
author joachim99
date Mon, 10 Apr 2006 08:40:51 +0000
parents d7cafcda8c99
children f7dad0aa6146
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@69 6 KDiff3-Version: 0.9.89
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@12 39 Exception from the GPL:
joachim99@12 40 As a special exception, the copyright holder Joachim Eibl gives permission
joachim99@12 41 to link this program with the Qt-library (commercial or non-commercial edition)
joachim99@12 42 from Trolltech (www.trolltech.com), and he permits to distribute the resulting
joachim99@12 43 executable, without including the source code for the Qt-library in the
joachim99@12 44 source distribution.
joachim99@12 45
joachim99@2 46
joachim99@2 47 Requirements & Installation:
joachim99@69 48 Version 0.9.89 provides special support for KDE3, but it can also be
joachim99@12 49 built without KDE3 if the Qt-libraries are available.
joachim99@66 50 (I also test and use the program under Windows.)
joachim99@2 51
joachim99@12 52 You always need
joachim99@69 53 - kdiff3-0.9.89.tar.gz
joachim99@2 54
joachim99@12 55 For building the KDE3-version
joachim99@66 56 - KDE>=3.1 and QT>=3.1-libraries. (QT>=3.2 is recommended)
joachim99@12 57 - gcc, g++ with version >=3.2
joachim99@12 58
joachim99@12 59 For building the Qt-only-version
joachim99@53 60 - QT-libraries (version >=3.1.0).
joachim99@12 61 (www.trolltech.com)
joachim99@12 62 - for Un*x: gcc, g++ with version >=3.2
joachim99@66 63 - for Windows: VC6 / VC7.1
joachim99@12 64
joachim99@69 65 On some distributions it will be necessary to install developer
joachim99@69 66 packages (RPMs) that contain include files for compilation:
joachim99@69 67 - xorg-x11-devel (or x11-devel)
joachim99@69 68 - qt-devel
joachim99@69 69 - kdelibs-devel
joachim99@2 70
joachim99@2 71 Installation for KDE3:
joachim99@2 72 - Make sure your shell-variable QTDIR is correct. (echo $QTDIR).
joachim99@2 73 If it doesn't contain the correct path, type
joachim99@2 74 export QTDIR=your_path_to_qt (e.g. /usr/lib/qt3)
joachim99@69 75 - cd into the directory kdiff3-0.9.89 and type
joachim99@12 76 - ./configure --prefix=/opt/kde3 (your KDE3 directory here)
joachim99@12 77 - (make clean) (Required if you already compiled once.)
joachim99@12 78 - make (Run compilation)
joachim99@12 79 - make install (You must have root-rights for this step.)
joachim99@2 80
joachim99@2 81 For details also see the generic instructions in file "INSTALL".
joachim99@2 82
joachim99@12 83 If some icons are not visible or don't seem right, probably the prefix
joachim99@12 84 was wrong. Check where your KDE3 installation is located and
joachim99@12 85 use that directory with the prefix-option of configure.
joachim99@58 86
joachim99@58 87 This command should tell you: kde-config --prefix
joachim99@58 88
joachim99@12 89 For SuSE and most distributions the prefix usually is /opt/kde3.
joachim99@66 90 For Redhat/Fedora and Mandrake the prefix usually is /usr.
joachim99@12 91 For a local installation, that doesn't need root rights try
joachim99@12 92 - ./configure --prefix=$KDEHOME ($KDEHOME probably is the same as $HOME/.kde)
joachim99@12 93 - make
joachim99@12 94 - make install (Installs everything in $KDEHOME. No root rights required.)
joachim99@12 95 - Run $KDEHOME/bin/kdiff3. ($KDEHOME/bin is probably not in your path.)
joachim99@12 96 Warning: If a local installation and a global installation exist, the local
joachim99@12 97 menu, toolbar, help etc. will be used, even if you start the global
joachim99@12 98 executable. To avoid confusion, better remove the local version then.
joachim99@12 99 (rm -R `find $KDEHOME -name "*kdiff3*" -not -name "kdiff3*rc"`)
joachim99@12 100
joachim99@69 101 On Fedora-64-bit systems the following configure-line was reported to work:
joachim99@69 102 ./configure --prefix=`kde-config --prefix` --enable-libsuffix=64 --with-qt-libraries=/usr/lib64/qt-3.3/lib/
joachim99@69 103 Both --enable-libsuffix=64 and -with-qt-libraries=/usr/lib64/qt-3.3/lib/ are needed;
joachim99@69 104 without the first one it fails to find the KDE libraries,
joachim99@69 105 and without the second one it fails to find libqt-mt
joachim99@69 106 (strangely enough: libqt-mt is in /usr/lib64/qt-3.3/lib,
joachim99@69 107 and "configure" tries /usr/lib64/qt-3.3/lib64)
joachim99@69 108 If your qt-libraries are elsewhere please adapt the path accordingly.
joachim99@69 109
joachim99@69 110 Some secondary dependencies aren't correctly discovered by configure.
joachim99@69 111 If e.g the a linker error appears telling you something like
joachim99@69 112 "Can't find -lacl" this probably means that you have to install
joachim99@69 113 libacl-devel-*.rpm etc.
joachim99@69 114
joachim99@69 115 If you run an older version of KDE and the make-process fails in the
joachim99@69 116 doc- or po-directory, cd to the src-directory and run "make" there. Also run
joachim99@69 117 "make install" there. This hopefully will create a working kdiff3-binary,
joachim99@69 118 although without doc and language support.
joachim99@69 119
joachim99@53 120 Upgrading KDiff3 for KDE:
joachim99@53 121 If you already installed an older version or KDiff3 and you have the
joachim99@53 122 impression, that the new version doesn't work as described, you should try to
joachim99@53 123 remove all files belonging to KDiff3 before reinstalling.
joachim99@53 124 Try this search command to locate KDiff3-related files:
joachim99@53 125 find $HOME/.kde /usr /opt -iname "*kdiff3*"
joachim99@53 126 (Will take a few minutes.)
joachim99@53 127
joachim99@53 128
joachim99@12 129
joachim99@12 130 Installation for the Qt-only-platforms for Un*x:
joachim99@12 131 (for Qt >=3.1.0)
joachim99@12 132 - Make sure your shell-variable QTDIR is correct. (echo $QTDIR).
joachim99@12 133 If it doesn't contain the correct path, type
joachim99@12 134 export QTDIR=your_path_to_qt (e.g. /usr/lib/qt)
joachim99@69 135 - cd into the directory kdiff3-0.9.89/src and type
joachim99@12 136 - make -f Makefile.qt
joachim99@12 137 - make -f Makefile.qt install (You must have root-rights for this step.)
joachim99@12 138 (copies the files into /usr/local/bin and /usr/local/share/doc/kdiff3)
joachim99@12 139 - Note: The file kdiff3.pro was used to generate the Makefile.qt:
joachim99@12 140 qmake kdiff3.pro -o Makefile.qt
joachim99@66 141 If you want to build the Qt-only version _and_ the KDE-version, do this
joachim99@66 142 in separate directories, otherwise there will be errors.
joachim99@12 143
joachim99@12 144 Build for Windows:
joachim99@53 145 Use qmake and kdiff3.pro to generate
joachim99@12 146 an appropriate Makefile.
joachim99@12 147 qmake kdiff3.pro -o Makefile
joachim99@12 148
joachim99@12 149
joachim99@69 150 Building Kdiff3 for Mac OSX 10.3.8 (by Mark Teel)
joachim99@69 151 --------------------------------------------------------
joachim99@69 152 1) Install Qt/Mac with thread support and static libraries.
joachim99@69 153 2) cd .../kdiff3-0.9.89
joachim99@69 154 3) Create a makefile for kdiff3 by executing:
joachim99@69 155 qmake src/kdiff3.pro -o Makefile.qt
joachim99@69 156 4) Edit Makefile.qt and add the definition "KDIFF3" to the following two lines:
joachim99@69 157 CFLAGS = -pipe -Wall -W -Os -DKDIFF3 -DQT_NO_DEBUG ...
joachim99@69 158 CXXFLAGS = -pipe -Wall -W -Os -DKDIFF3 -DQT_NO_DEBUG ...
joachim99@69 159 5) Edit Makefile.qt and change the include path like so:
joachim99@69 160 (old) INCPATH = -I/Library/qt3/mkspecs/default -Isrc ...
joachim99@69 161 (new) INCPATH = -I/Library/qt3/mkspecs/macx-g++ -Isrc ...
joachim99@69 162 6) KDiff3-0.9.88-specific: Edit src/kdiff3.cpp line 290 like this:
joachim99@69 163 statusBar()->setSizeGripEnabled(true);
joachim99@69 164 7) KDiff3-0.9.88-specific: (not necessary for 0.9.89 or later)
joachim99@69 165 Edit /usr/include/mach/ppc/processor_info.h and replace all instances of
joachim99@69 166 "unsigned int word" found in the four register unions (on lines 44, 65,
joachim99@69 167 74, 82) as follows:
joachim99@69 168 (old)
joachim99@69 169 unsigned int word;
joachim99@69 170 (new)
joachim99@69 171 #if defined(KDIFF3)
joachim99@69 172 unsigned word;
joachim99@69 173 #else
joachim99@69 174 unsigned int word;
joachim99@69 175 #endif
joachim99@69 176 8) Execute:
joachim99@69 177 make -f Makefile.qt
joachim99@69 178 9) After the build completes copy kdiff3 from the kdiff3-0.9.89 directory to
joachim99@69 179 /Applications
joachim99@12 180
joachim99@69 181
joachim99@2 182 Start from commandline:
joachim99@2 183 - Comparing 2 files: kdiff3 file1 file2
joachim99@2 184 - Merging 2 files: kdiff3 file1 file2 -o outputfile
joachim99@2 185 - Comparing 3 files: kdiff3 file1 file2 file3
joachim99@2 186 - Merging 3 files: kdiff3 file1 file2 file3 -o outputfile
joachim99@2 187 Note that file1 will be treated as base of file2 and file3.
joachim99@2 188
joachim99@12 189 If all files have the same name but are in different directories, you can
joachim99@12 190 reduce typework by specifying the filename only for the first file. E.g.:
joachim99@12 191 - Comparing 3 files: kdiff3 dir1/filename dir2 dir3
joachim99@12 192 (This also works in the open-dialog.)
joachim99@12 193
joachim99@2 194 If you start without arguments, then a dialog will appear where you can
joachim99@2 195 select your files via a filebrowser.
joachim99@2 196
joachim99@2 197 For more documentation, see the help-menu or the subdirectory doc.
joachim99@2 198
joachim99@2 199 Have fun!