summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README280
1 files changed, 280 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..8b16f79
--- /dev/null
+++ b/README
@@ -0,0 +1,280 @@
+KDiff3-Readme
+=============
+
+Author: Joachim Eibl (joachim.eibl at gmx.de)
+Copyright: (C) 2002-2006 by Joachim Eibl
+KDiff3-Version: 0.9.92
+
+
+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.)
+
+
+Do you want help translating? Read the README in the po-subdirectory!
+
+
+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
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301 USA
+
+ For details see file "COPYING".
+
+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)
+ 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).
+
+ 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
+
+ - 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 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.)
+
+ - for Mac: gcc, g++ with version >=3.4.2
+ Qt-Mac-libraries
+
+
+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 (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)
+
+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")
+
+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)
+------------------------------------------------------------------------
+
+
+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 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.
+
+Have fun!