Mercurial > hg > easyhg-kdiff3
comparison kdiff3/README @ 80:fcd146072e0c
0.9.93
author | joachim99 |
---|---|
date | Tue, 06 Jan 2009 17:51:29 +0000 |
parents | 1184fc843210 |
children | 4e6ebbbae925 |
comparison
equal
deleted
inserted
replaced
79:881e47f5076b | 80:fcd146072e0c |
---|---|
1 KDiff3-Readme | 1 KDiff3-Readme |
2 ============= | 2 ============= |
3 | 3 |
4 Author: Joachim Eibl (joachim.eibl at gmx.de) | 4 Author: Joachim Eibl (joachim.eibl at gmx.de) |
5 Copyright: (C) 2002-2006 by Joachim Eibl | 5 Copyright: (C) 2002-2008 by Joachim Eibl |
6 KDiff3-Version: 0.9.92 | 6 KDiff3-Version: 0.9.93 |
7 | 7 |
8 KDiff3 runs best on KDE but can be built without it, depending only on Qt-libs. | |
9 These are available for Un*x, Windows, Mac. | |
10 Thus there are many setup possibilities to consider. | |
11 | |
12 From version 0.9.93 on the main target platform is KDE4/Qt4. | |
13 For KDiff3 for KDE3/Qt3 use KDiff3-0.9.92 or older. | |
14 | |
15 Contents | |
16 -------- | |
17 | |
18 - Introduction | |
19 - License | |
20 - Requirements & Installation | |
21 - For KDE4 | |
22 - With Qt4-libs, without KDE | |
23 - for Linux/Un*x | |
24 - for Windows | |
25 - Debugging with MinGW under Windows: | |
26 - for Mac: Building KDiff3 for Mac OSX (with Intel processor) as a universal binary | |
27 - Additional hints | |
28 | |
29 | |
30 Introduction | |
31 ------------ | |
8 | 32 |
9 KDiff3 is a program that | 33 KDiff3 is a program that |
10 - compares and merges two or three input files or directories, | 34 - compares and merges two or three input files or directories, |
11 - shows the differences line by line and character by character (!), | 35 - shows the differences line by line and character by character (!), |
12 - provides an automatic merge-facility and | 36 - provides an automatic merge-facility and |
13 - an integrated editor for comfortable solving of merge-conflicts | 37 - an integrated editor for comfortable solving of merge-conflicts |
14 - has support for KDE-KIO (ftp, sftp, http, fish, smb) | 38 - has support for KDE-KIO (ftp, sftp, http, fish, smb), |
15 - and has an intuitive graphical user interface, | 39 - has an intuitive graphical user interface, |
16 - also supports 64 bit systems. (Some build issues are discussed in here.) | 40 - provides a context menu for KDE-Konqueror and Windows-Explorer, |
17 | 41 - supports 64 bit systems. (Some build issues are discussed in here.) |
18 | 42 |
19 Do you want help translating? Read the README in the po-subdirectory! | 43 Do you want help translating? Read the README in the po-subdirectory! |
20 | 44 |
21 | 45 |
22 License: | 46 License |
47 ------- | |
48 | |
23 GNU GENERAL PUBLIC LICENSE, Version 2, June 1991 | 49 GNU GENERAL PUBLIC LICENSE, Version 2, June 1991 |
24 This program is free software; you can redistribute it and/or modify | 50 This program is free software; you can redistribute it and/or modify |
25 it under the terms of the GNU General Public License as published by | 51 it under the terms of the GNU General Public License as published by |
26 the Free Software Foundation; either version 2 of the License, or | 52 the Free Software Foundation; either version 2 of the License, or |
27 (at your option) any later version. | 53 (at your option) any later version. |
37 | 63 |
38 For details see file "COPYING". | 64 For details see file "COPYING". |
39 | 65 |
40 Exception from the GPL: | 66 Exception from the GPL: |
41 As a special exception, the copyright holder Joachim Eibl gives permission | 67 As a special exception, the copyright holder Joachim Eibl gives permission |
42 to link this program with the Qt-library (commercial or non-commercial edition) | 68 to link this program with the Qt-library (commercial or open source edition) |
43 from Trolltech (www.trolltech.com), and he permits to distribute the resulting | 69 from Trolltech (www.trolltech.com), and he permits to distribute the resulting |
44 executable, without including the source code for the Qt-library in the | 70 executable, without including the source code for the Qt-library in the |
45 source distribution. | 71 source distribution. |
46 | 72 |
47 | 73 |
48 Requirements & Installation: | 74 Requirements & Installation |
49 Version 0.9.91 provides special support for KDE3, but it can also be | 75 --------------------------- |
50 built without KDE3 if the Qt-libraries are available. | 76 |
51 (I also test and use the program under Windows.) | 77 - for KDE4: |
52 It is now also possible to build with Qt4 (See further below). | 78 From version 0.9.93 on KDiff3 supports KDE4. |
79 For installation on most distributions you usually also require these packages (names as on opensuse): | |
80 - g++ (g++, version 3.4 or newer) | |
81 - libqt4-devel (Qt4-libs, version 4.4.0 or newer) | |
82 - libkde4-devel (KDE4 Header files and development libraries) | |
83 - libkonq-devel (optional, needed for the kdiff3-plugin, if not installed | |
84 then the contextmenu plugin for konqueror won't be built.) | |
85 - cmake (>2.6, checks dependencies and creates the Makefiles appopriate for your system) | |
86 | |
87 Typically in a terminal (e.g. konsole) you cd into the kdiff3-directory and run these commands. | |
88 | |
89 mkdir release # create sub directory | |
90 cd release # cd into that directory | |
91 kde4-config --prefix # Find out your KDE4-directory and note the result | |
92 cmake .. -DCMAKE_INSTALL_PREFIX=<KDE4-prefix> # create Makefile, replace <KDE4-prefix> with the prior result | |
93 make # run make (compile and link) | |
94 sudo make install # install as root user | |
95 | |
96 Now KDiff3 should be ready to use. Type "kdiff3" to start it. | |
97 There should also be a entry in your KDE-start menu in "(Applications->)Development". | |
98 | |
99 For creating a debug version: | |
100 mkdir debug | |
101 cd debug | |
102 kde4-config --prefix # Find out your KDE4-directory and note the result | |
103 cmake .. -DCMAKE_INSTALL_PREFIX=<KDE4-prefix> -DCMAKE_BUILD_TYPE=debugfull | |
104 make | |
105 sudo make install | |
106 | |
107 The <KDE4-prefix> depends on your distribution: | |
108 The command "kde4-config --prefix" should tell you. | |
109 - For opensuse 11 use "/usr". | |
110 | |
111 - Building KDiff3 with Qt4-libs, but without KDE | |
112 - for Linux/Un*x | |
113 - for Windows | |
114 - for Mac | |
115 | |
116 The version 0.9.93 requires Qt 4.4.0 or newer (from www.trolltech.com) for compilation. | |
53 | 117 |
54 You always need | 118 You always need |
55 - kdiff3-0.9.91.tar.gz | 119 - kdiff3-0.9.93.tar.gz |
56 | |
57 For building the KDE3-version | |
58 - KDE>=3.3 and QT>=3.3-libraries. (but not with KDE4) | |
59 - gcc, g++ with version >=3.2 | |
60 | |
61 For building the Qt-only-version | |
62 - QT-libraries (version >=3.3.0, but <4.0 or >=4.2.0). | |
63 (www.trolltech.com) | |
64 - for Un*x: gcc, g++ with version >=3.2 | |
65 - for Windows: VC6 / VC7.1 | |
66 | |
67 On some distributions it will be necessary to install developer | |
68 packages (RPMs) that contain include files for compilation: | |
69 - xorg-x11-devel (or x11-devel) | |
70 - qt-devel | |
71 - kdelibs-devel | |
72 | |
73 Installation for KDE3: | |
74 - Make sure your shell-variable QTDIR is correct. (echo $QTDIR). | |
75 If it doesn't contain the correct path, type | |
76 export QTDIR=your_path_to_qt (e.g. /usr/lib/qt3) | |
77 - cd into the directory kdiff3-0.9.91 and type | |
78 - ./configure --prefix=/opt/kde3 (your KDE3 directory here) | |
79 - (make clean) (Required if you already compiled once.) | |
80 - make (Run compilation) | |
81 - make install (You must have root-rights for this step.) | |
82 | |
83 For details also see the generic instructions in file "INSTALL". | |
84 | |
85 If some icons are not visible or don't seem right, probably the prefix | |
86 was wrong. Check where your KDE3 installation is located and | |
87 use that directory with the prefix-option of configure. | |
88 | |
89 This command should tell you: kde-config --prefix | |
90 | |
91 For SuSE and most distributions the prefix usually is /opt/kde3. | |
92 For Redhat/Fedora and Mandrake the prefix usually is /usr. | |
93 For a local installation, that doesn't need root rights try | |
94 - ./configure --prefix=$KDEHOME ($KDEHOME probably is the same as $HOME/.kde) | |
95 - make | |
96 - make install (Installs everything in $KDEHOME. No root rights required.) | |
97 - Run $KDEHOME/bin/kdiff3. ($KDEHOME/bin is probably not in your path.) | |
98 Warning: If a local installation and a global installation exist, the local | |
99 menu, toolbar, help etc. will be used, even if you start the global | |
100 executable. To avoid confusion, better remove the local version then. | |
101 (rm -R `find $KDEHOME -name "*kdiff3*" -not -name "kdiff3*rc"`) | |
102 | |
103 On Fedora-64-bit systems the following configure-line was reported to work: | |
104 ./configure --prefix=`kde-config --prefix` --enable-libsuffix=64 --with-qt-libraries=/usr/lib64/qt-3.3/lib/ | |
105 Both --enable-libsuffix=64 and -with-qt-libraries=/usr/lib64/qt-3.3/lib/ are needed; | |
106 without the first one it fails to find the KDE libraries, | |
107 and without the second one it fails to find libqt-mt | |
108 (strangely enough: libqt-mt is in /usr/lib64/qt-3.3/lib, | |
109 and "configure" tries /usr/lib64/qt-3.3/lib64) | |
110 If your qt-libraries are elsewhere please adapt the path accordingly. | |
111 | |
112 Some secondary dependencies aren't correctly discovered by configure. | |
113 If e.g the a linker error appears telling you something like | |
114 "Can't find -lacl" this probably means that you have to install | |
115 libacl-devel-*.rpm etc. | |
116 | |
117 If you run an older version of KDE and the make-process fails in the | |
118 doc- or po-directory, cd to the src-directory and run "make" there. Also run | |
119 "make install" there. This hopefully will create a working kdiff3-binary, | |
120 although without doc and language support. | |
121 | |
122 Upgrading KDiff3 for KDE: | |
123 If you already installed an older version or KDiff3 and you have the | |
124 impression, that the new version doesn't work as described, you should try to | |
125 remove all files belonging to KDiff3 before reinstalling. | |
126 Try this search command to locate KDiff3-related files: | |
127 find $HOME/.kde /usr /opt -iname "*kdiff3*" | |
128 (Will take a few minutes.) | |
129 | |
130 | |
131 Building an RPM for Fedora Core (by Vadim Likhota) | |
132 Copy kdiff3-0.9.91.tar.gz into /usr/src/redhat/SOURCE | |
133 Copy kdiff3.spec into /usr/src/redhat/SPEC | |
134 Run rpmbuild -bb --target i686 kdiff3.spec | |
135 Find kdiff3-0.9.91-fc.i686.rpm in /usr/src/redhat/RPMS/I386 | |
136 | |
137 | |
138 Installation for the Qt-only-platforms for Un*x: | |
139 (for Qt >=3.3.0 but <4.0) | |
140 - Make sure your shell-variable QTDIR is correct. (echo $QTDIR). | |
141 If it doesn't contain the correct path, type | |
142 export QTDIR=your_path_to_qt (e.g. /usr/lib/qt) | |
143 - cd into the directory kdiff3-0.9.91/src and type | |
144 - make -f Makefile.qt | |
145 - make -f Makefile.qt install (You must have root-rights for this step.) | |
146 (copies the files into /usr/local/bin and /usr/local/share/doc/kdiff3) | |
147 - Note: The file kdiff3.pro was used to generate the Makefile.qt: | |
148 qmake kdiff3.pro -o Makefile.qt | |
149 If you want to build the Qt-only version _and_ the KDE-version, do this | |
150 in separate directories, otherwise there will be errors. | |
151 - A user reported that on his 64-bit machine running FC4 he had to edit his Makefile.qt | |
152 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 | |
153 | |
154 | |
155 Build for Windows: | |
156 Use qmake and kdiff3.pro to generate | |
157 an appropriate Makefile. | |
158 qmake kdiff3.pro -o Makefile | |
159 | |
160 | |
161 Building KDiff3 (Qt3) for Mac OSX 10.3.8 (by Mark Teel) | |
162 ------------------------------------------------------- | |
163 1) Install Qt/Mac with thread support and static libraries. | |
164 2) cd .../kdiff3-0.9.91/src | |
165 3) Create a makefile for kdiff3 by executing: | |
166 qmake kdiff3.pro -o Makefile.qt | |
167 4) Edit Makefile.qt and change the include path like so: | |
168 (old) INCPATH = -I/Library/qt3/mkspecs/default -Isrc ... | |
169 (new) INCPATH = -I/Library/qt3/mkspecs/macx-g++ -Isrc ... | |
170 5) Execute: | |
171 make -f Makefile.qt | |
172 6) After the build completes copy kdiff3 from the kdiff3-0.9.91/src directory to | |
173 /Applications | |
174 | |
175 Building KDiff3 (Qt4) for Mac OSX (with Intel processor) as a universal binary (by Michael Schmidt) | |
176 --------------------------------------------------------------------------------------------------- | |
177 1) Install Qt/Mac 4.x with thread support, static libraries and universal flag. | |
178 2) cd .../kdiff3-0.9.91/src-QT4 | |
179 3a) Create a makefile for kdiff3 by executing: | |
180 qmake kdiff3.pro | |
181 3b) optionally generate XCode-Project (for debugging purposes only) by executing: | |
182 qmake -spec macx-xcode kdiff3.pro | |
183 4) Execute: | |
184 make | |
185 5) After the build completes copy kdiff3 from the kdiff3-0.9.91/src-QT4 directory to | |
186 /Applications | |
187 | |
188 ---------------------------------------------------------------- | |
189 | |
190 Building KDiff3 with Qt4: | |
191 | |
192 Requirements & Installation: | |
193 The version 0.9.91 requires Qt 4.2.0 (from www.trolltech.com) for compilation. | |
194 | |
195 You always need | |
196 - kdiff3-0.9.91.tar.gz | |
197 | 120 |
198 - for Un*x: gcc, g++ with version >=3.4.2 | 121 - for Un*x: gcc, g++ with version >=3.4.2 |
199 Qt-X11-libraries | 122 Qt-X11-libraries |
200 | 123 |
201 - for Windows: Qt-win-libs | 124 - for Windows: Qt-win-libs |
202 If you have the Qt4 commercial edition, then compile with Visual Studio. | 125 If you have the Qt4 commercial edition, then compile with Visual Studio.NET2003 or newer. |
203 If you use the Qt4 open source edition, then you'll need MinGW. | 126 If you use the Qt4 open source edition, then you'll need MinGW. |
204 I verified that compilation and debugging works with these packages (probably newer ones will also work): | 127 I verified that compilation and debugging works with these packages (probably newer ones will also work): |
205 - gcc-core-3.4.2-20040916-1.tar.gz | 128 - Use MinGW-5.1.4.exe or newer to install the following or newer: |
206 - binutils-2.15.91-20040904-1.tar.gz | 129 - gcc-core-3.4.5-20060117-1.tar.gz |
207 - gcc-g++-3.4.2-20040916-1.tar.gz | 130 - binutils-2.17.50-20060824-1.tar.gz |
208 - mingw-runtime-3.9.tar.gz | 131 - gcc-g++-3.4.5-20060117-1.tar.gz |
209 - mingw32-make-3.80.0-3.tar.gz | 132 - mingw-runtime-3.14.tar.gz |
210 - w32api-3.6.tar.gz (see also the note below) | 133 - mingw32-make-3.81-2.tar.gz |
211 - gdb-5.2.1-1.exe (for debugging) | 134 - w32api-3.11.tar.gz |
212 | 135 - gdb-6.3-2.exe (for debugging) |
213 (Note: At the time of writing this README, the MinGW-package that was part | |
214 of qt-win-opensource-4.1.2-mingw.exe lacked the latest w32api needed for | |
215 KDiff3-compilation. You will need to unpack w32api-3.6.tar.gz or newer | |
216 from www.mingw.org into your MinGW-directory.) | |
217 | 136 |
218 - for Mac: gcc, g++ with version >=3.4.2 | 137 - for Mac: gcc, g++ with version >=3.4.2 |
219 Qt-Mac-libraries | 138 Qt-Mac-libraries |
220 | 139 - Optional: Qt Creator IDE: Development environment optimized for Qt (http://trolltech.com/developer/qt-creator) |
221 | 140 |
222 Note for KDE-users: | 141 Build-instructions (Un*x): |
223 The version 0.9.91-Qt4 doesn't provide support for KDE-3.x | 142 - Make sure your shell-variable QTDIR is correct and that |
224 because KDE-3.x.y requires Qt3. | 143 your path contains the Qt4-bin-directory. |
225 If you need KDE-specific features like KIO-support stick to the | 144 - cd into the directory kdiff3-0.9.93/src-QT4 and type |
226 normal version 0.9.91. | 145 - qmake kdiff3.pro |
227 | 146 - make (or "gmake" for GNU-Make) |
228 Build-instructions (Unix or Mac): | 147 |
229 - Make sure your shell-variable QTDIR is correct and that | 148 Build-instructions (Windows): |
230 your path contains the Qt4-bin-directory. | 149 - set QTDIR=<QT4-dir> e.g.: c:\qt\4.4.1 |
231 - cd into the directory kdiff3-0.9.91/src-QT4 and type | 150 set "PATH=%QTDIR%\bin;%PATH%" |
232 - qmake kdiff3.pro | 151 - cd into the directory kdiff3-0.9.93\src-Qt4 and type |
233 - make (or "gmake" for GNU-Make) | 152 - qmake kdiff3.pro |
234 | 153 - Either "nmake" for Visual Studio or "mingw32-make" depending on what you have. |
235 Build-instructions (Windows): | 154 |
236 - Run your qtvars.bat in the Qt4-bin directory. | 155 Debugging with MinGW under Windows: |
237 (This should set your QTDIR, QMAKESPEC and PATH-environment-variables.) | 156 - Qt Creator worked very good as debugger frontend too! |
238 - cd into the directory kdiff3-0.9.91/src-Qt4 and type | 157 - Debugging without gdb on the console: |
239 - qmake kdiff3.pro | 158 - The qt-win-opensource-4.4.1-mingw.exe only installs release dlls. You will have to compile the |
240 - make (which calls either "mingw32-make" or "nmake") | 159 debug dlls yourself. Enter the qt-4.4.1-directory and run "configure -debug" and then "mingw32-make". |
241 | 160 - cd into the directory kdiff3-0.9.93\src-Qt4 |
242 Debugging with MinGW under Windows: | 161 - edit the file "Makefile.Debug" and in the LFLAGS replace "-Wl,-subsystem,windows" with "-Wl,-subsystem,console" |
243 - The qt-win-opensource-4.2.0-mingw.exe only installs release dlls. You will have to compile the | 162 (this is necessary so that gdb can send a break signal to the running program) |
244 debug dlls yourself. Enter the qt-4.2.0-directory and run "configure -debug" and then "make". | 163 - mingw32-make debug (create a debuggable executable) |
245 - cd into the directory kdiff3-0.9.91/src-Qt4 | 164 - gdb debug\kdiff3.exe |
246 - edit the file "Makefile.Debug" and in the LFLAGS replace "-Wl,-subsystem,windows" with "-Wl,-subsystem,console" | 165 - At the "(gdb)"-prompt type "run" and enter to start. |
247 (this is necessary so that gdb can send a break signal to the running program) | 166 - While the program runs you can't set breakpoints, first interrupt it with Ctrl-C. |
248 - make debug (create a debuggable executable) | 167 - Use "help" to find out about how to use gdb. (Important commands: run, break, backtrace, print, quit) |
249 - gdb debug\kdiff3.exe | 168 Using break with c++-methods requires to specify the parameter types too. Breakpoints in constructors might not work. |
250 - At the "(gdb)"-prompt type "run" and enter to start. | 169 |
251 - While the program runs you can't set breakpoints, first interrupt it with Ctrl-C. | 170 Building KDiff3 (Qt4) for Mac OSX (with Intel processor) as a universal binary (by Michael Schmidt) |
252 - Use "help" to find out about how to use gdb. (Important commands: run, break, backtrace, print, quit) | 171 1) Install Qt/Mac 4.x with thread support, static libraries and universal flag. |
253 Using break with c++-methods requires to specify the parameter types too. Breakpoints in constructors might not work. | 172 (For Qt4 run "configure -static"; only necessary if the final binary should not require shared Qt4-libs.) |
254 - I've tested graphical gdb-frontends too: | 173 2) cd .../kdiff3-0.9.93/src-QT4 |
255 1. Insight (also from mingw.org) worked until I wanted to interrupt the program for setting breakpoints. | 174 3a) Create a makefile for kdiff3 by executing: |
256 2. Dev-Cpp: The debugger said that the app crashed before even launching it. | 175 qmake kdiff3.pro |
257 Result: For Windows I recommend gdb on the console. Please tell me when things have improved! | 176 3b) optionally generate XCode-Project (for debugging purposes only) by executing: |
177 qmake -spec macx-xcode kdiff3.pro | |
178 4) Execute: | |
179 make | |
180 5) After the build completes copy kdiff3 from the kdiff3-0.9.93/src-QT4 directory to | |
181 /Applications | |
182 | |
258 | 183 |
259 (End of KDiff3 with Qt4-instructions) | 184 (End of KDiff3 with Qt4-instructions) |
260 ------------------------------------------------------------------------ | 185 ------------------------------------------------------------------------ |
261 | 186 |
262 | 187 Additional hints |
263 Start from commandline: | 188 ---------------- |
264 - Comparing 2 files: kdiff3 file1 file2 | 189 |
265 - Merging 2 files: kdiff3 file1 file2 -o outputfile | 190 Start from commandline: |
266 - Comparing 3 files: kdiff3 file1 file2 file3 | 191 - Comparing 2 files: kdiff3 file1 file2 |
267 - Merging 3 files: kdiff3 file1 file2 file3 -o outputfile | 192 - Merging 2 files: kdiff3 file1 file2 -o outputfile |
268 Note that file1 will be treated as base of file2 and file3. | 193 - Comparing 3 files: kdiff3 file1 file2 file3 |
269 | 194 - Merging 3 files: kdiff3 file1 file2 file3 -o outputfile |
270 If all files have the same name but are in different directories, you can | 195 Note that file1 will be treated as base of file2 and file3. |
271 reduce typework by specifying the filename only for the first file. E.g.: | 196 |
272 - Comparing 3 files: kdiff3 dir1/filename dir2 dir3 | 197 If all files have the same name but are in different directories, you can |
273 (This also works in the open-dialog.) | 198 reduce typework by specifying the filename only for the first file. E.g.: |
274 | 199 - Comparing 3 files: kdiff3 dir1/filename dir2 dir3 |
275 If you start without arguments, then a dialog will appear where you can | 200 (This also works in the open-dialog.) |
276 select your files via a filebrowser. | 201 |
277 | 202 If you start without arguments, then a dialog will appear where you can |
278 For more documentation, see the help-menu or the subdirectory doc. | 203 select your files via a filebrowser. |
279 | 204 |
280 Have fun! | 205 For more documentation, see the help-menu or the subdirectory doc. |
206 | |
207 Have fun! |