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!
|