Commit e86b0303 authored by Michael Reeves's avatar Michael Reeves

merge changes from Joachims

parent 67e61da3
Version 0.10.0 - 2017-01-23
============================
-ported to QT5/KDEFramework5
-depreciated cmake 2.8.12 and 3.0.x support
-depreciated cmake 2.8.12 support
-abandonded Konqueror specific plugin no longer applicable.
-kde4 support dropped due to extensive changes needed for QT5/KDEFramework5
Version 0.9.98a - 2012-09-11
============================
Version 0.9.98 - 2014-07-04
===========================
- Text rendering now with QTextLayout fixes the following issues
- Correct handling for variable width fonts.
- Corrected display of highlighted text with Qt4.8.x on Ubuntu and Mac.
......@@ -14,7 +14,17 @@ Version 0.9.98a - 2012-09-11
- Improved handling of Chinese and Japanese.
- Whitespace characters are now shown as dots for spaces and arrows for tabs, and not only in differences.
- Fixed symlink comparison (Qt4 symLinkTarget returns absolute paths)
- Text analysis for rendering with QTextLayout is interruptable and multithreaded. (See progressbar and abort-button in statusbar)
- Fix for saving to relative path in KDE-environments. (Patch from Harald Sitter)
- Fixed bug in 0.9.97: Directory compare was always case sensitive.
- Fix for saving files on KDE with relative path specified via command line option -o.
- Fixed problem with KIO (nonlocal urls).
- Improved Mac support.
- Write --confighelp information to stdout instead of stderr.
- Directory Merge Window: Enabled state of "Delete A And B" now also depends on existence of source file A.
- Works now with Qt4 and Qt5
- Progress dialog during printing.
- Workaround for bug in QSplitter::childEvent that broke QFileDialog::getSaveFileName
Version 0.9.97 - 2012-08-10
===========================
......
Please read the README-file.
Joachim
KDiff3-Readme
=============
Port to kf5/Qt5 by Michael Reeves (C) 2016
KDiff3-Version: 0.10.0
Author: Joachim Eibl (joachim.eibl at gmx.de)
Port to kf5/Qt5 by Michael Reeves
KDiff3-Version:
Now requires Qt 5.3 or later and KF5 5.5+. Legacy 0.9.98 and earlier builds are not supported.
Windows/MacOSX build is untested since port. Builds and runs under kubuntu 16.04 will likely
......@@ -12,16 +13,17 @@ As of 1/13/17 cmake 3.1+ is the targeted cmake version.
These are the original pre kf5/qt5 Readme fallows:
Author: Joachim Eibl (joachim.eibl at gmx.de)
Copyright: (C) 2002-2009 by Joachim Eibl
KDiff3-Version: 0.9.94
Copyright: (C) 2002-2014 by Joachim Eibl
KDiff3-Version: 0.9.98
KDiff3 runs best on KDE but can be built without it, depending only on Qt-libs.
These are available for Un*x, Windows, Mac.
Thus there are many setup possibilities to consider.
From version 0.9.94 on the main target platform is KDE4/Qt4.
For KDiff3 for KDE3/Qt3 use KDiff3-0.9.92 or older.
Supported Qt-versions: 4.8, 5.2 or higher.
Supported KDE-version: 4
(For KDE3/Qt3 use KDiff3-0.9.92 or older.)
Contents
--------
......@@ -51,6 +53,7 @@ KDiff3 is a program that
- has an intuitive graphical user interface,
- provides a context menu for KDE-Konqueror and Windows-Explorer,
- supports 64 bit systems. (Some build issues are discussed in here.)
- Support for many encodings and Unicode.
Do you want help translating? Read the README in the po-subdirectory!
......@@ -71,16 +74,19 @@ License
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 02111-1307 USA
Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02111-1307
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 open source 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.
Build & Install (for Un*x systems)
----------------------------------
0) Unpack KDiff3*.tar.gz
1) Run "./configure kde4" or "./configure qt4" from the KDiff3 source directory.
2) Follow instructions
If it doesn't work continue reading.
Requirements & Installation
......@@ -89,14 +95,15 @@ Requirements & Installation
- for KDE4:
From version 0.9.94 on KDiff3 supports KDE4.
For installation on most distributions you usually also require these packages (names as on opensuse):
- g++ (g++, version 3.4 or newer)
- libqt4-devel (Qt4-libs, version 4.4.0 or newer)
- g++ (version 4.2 or newer)
- libqt4-devel (Qt4-libs, version 4.8.0 or newer)
- libkde4-devel (KDE4 Header files and development libraries)
- libkonq-devel (optional, needed for the kdiff3-plugin, if not installed
then the contextmenu plugin for konqueror won't be built.)
- cmake (>2.6, checks dependencies and creates the Makefiles appopriate for your system)
Typically in a terminal (e.g. konsole) you cd into the kdiff3-directory and run these commands.
run "./configure kde4". This script is essentially the same as these commands:
mkdir release # create sub directory
cd release # cd into that directory
......@@ -112,94 +119,46 @@ Requirements & Installation
mkdir debug
cd debug
kde4-config --prefix # Find out your KDE4-directory and note the result
cmake .. -DCMAKE_INSTALL_PREFIX=<KDE4-prefix> -DCMAKE_BUILD_TYPE=debugfull
cmake .. -DCMAKE_INSTALL_PREFIX=<KDE4-prefix> -DCMAKE_BUILD_TYPE=debugfull
make
sudo make install
The <KDE4-prefix> depends on your distribution:
The command "kde4-config --prefix" should tell you.
- For opensuse 11 use "/usr".
- For opensuse 12 use "/usr".
- Building KDiff3 with Qt4-libs, but without KDE
- for Linux/Un*x
- for Windows
- for Mac
The version 0.9.94 requires Qt 4.4.0 or newer (from www.trolltech.com) for compilation.
You always need
- kdiff3-0.9.94.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.NET2003 or newer.
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):
- Use MinGW-5.1.4.exe or newer to install the following or newer:
- gcc-core-3.4.5-20060117-1.tar.gz
- binutils-2.17.50-20060824-1.tar.gz
- gcc-g++-3.4.5-20060117-1.tar.gz
- mingw-runtime-3.14.tar.gz
- mingw32-make-3.81-2.tar.gz
- w32api-3.11.tar.gz
- gdb-6.3-2.exe (for debugging)
- for Mac: gcc, g++ with version >=3.4.2
Qt-Mac-libraries
- Optional: Qt Creator IDE: Development environment optimized for Qt (http://trolltech.com/developer/qt-creator)
Build-instructions (Un*x):
- Make sure your shell-variable QTDIR is correct and that
your path contains the Qt4-bin-directory.
- cd into the directory kdiff3-0.9.94/src-QT4 and type
- qmake kdiff3.pro
- make (or "gmake" for GNU-Make)
Build-instructions (Windows):
- set QTDIR=<QT4-dir> e.g.: c:\qt\4.4.1
set "PATH=%QTDIR%\bin;%PATH%"
- cd into the directory kdiff3-0.9.94\src-Qt4 and type
- qmake kdiff3.pro
- Either "nmake" for Visual Studio or "mingw32-make" depending on what you have.
The version 0.9.98 requires Qt 4.8.0 or newer (from http://qt-project.org/) for compilation.
Recommended: Get Qt with QtCreator and use the kdiff3.pro file in src-QT4.(should also work with Qt5)
From command line: Install a working set of Qt-libs.
Build-instructions (Un*x, Linux, Mac):
Assuming Qt is correctly installed run "./configure qt4" which essentially
does the same as:
- mkdir releaseQt
- cd releaseQt
- qmake ../src-QT4/kdiff3.pro
- make (or "gmake", or "mingw32-make" etc.)
Debugging with MinGW under Windows:
- Qt Creator worked very good as debugger frontend too!
- Debugging without gdb on the console:
- The qt-win-opensource-4.4.1-mingw.exe only installs release dlls. You will have to compile the
debug dlls yourself. Enter the qt-4.4.1-directory and run "configure -debug" and then "mingw32-make".
- cd into the directory kdiff3-0.9.94\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)
- mingw32-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.
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.
(For Qt4 run "configure -static"; only necessary if the final binary should not require shared Qt4-libs.)
2) cd .../kdiff3-0.9.94/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.94/src-QT4 directory to
/Applications
- Use Qt Creator as debugger frontend!
Building KDiff3 (Qt4) for Mac OSX:
1) Install XCode
2) Install Qt with QtCreator for Mac
3) Proceed again by opening the kdiff3.pro file
Creating and installing the translation messages
The po directory contains translations from the KDE-translation teams.
If you use the Qt-only-version of KDiff3, then the installation described above
won't install translations automatically.
To create and install the translations:
0) Make sure /usr/lib/qt3/bin/msg2qm exists
(comes with qt3-devel-tools. [Yes, really Qt3. There is no Qt4 replacement yet.])
1) cd .../kdiff3-0.9.95/po
1) cd .../kdiff3-0.9.98/po
2) sh create_qm_files install (asks for a super user password)
Just to create the files in the po directory (as needed for the windows version):
2) sh create_qm_files local
......
#
# qmake configuration for win32-g++
#
# Written for MinGW
#
MAKEFILE_GENERATOR = MINGW
TEMPLATE = app
CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
QT += core gui
DEFINES += UNICODE QT_LARGEFILE_SUPPORT
QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
QMAKE_EXT_OBJ = .o
QMAKE_EXT_RES = _res.o
QMAKE_CC = x86_64-w64-mingw32-gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = byacc
QMAKE_YACCFLAGS = -d
QMAKE_CFLAGS =
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -Wall
QMAKE_CFLAGS_WARN_OFF = -w
QMAKE_CFLAGS_RELEASE = -O2
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CXX = x86_64-w64-mingw32-g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_RTTI_ON = -frtti
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
QMAKE_INCDIR =
QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
QMAKE_LINK = x86_64-w64-mingw32-g++
QMAKE_LINK_C = x86_64-w64-mingw32-gcc
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
QMAKE_LFLAGS_EXCEPTIONS_OFF =
QMAKE_LFLAGS_RELEASE = -Wl,-s
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL = -shared
QMAKE_LINK_OBJECT_MAX = 10
QMAKE_LINK_OBJECT_SCRIPT= object_script
QMAKE_LIBS =
QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
QMAKE_LIBS_NETWORK = -lws2_32
QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
#!isEmpty(QMAKE_SH) {
MINGW_IN_SHELL = 1
QMAKE_DIR_SEP = /
QMAKE_QMAKE ~= s,\\\\,/,
QMAKE_COPY = cp
QMAKE_COPY_DIR = cp -r
QMAKE_MOVE = mv
QMAKE_DEL_FILE = rm -f
QMAKE_MKDIR = mkdir
QMAKE_DEL_DIR = rm -rf
QMAKE_CHK_DIR_EXISTS = test -d
#} else {
# QMAKE_COPY = copy /y
# QMAKE_COPY_DIR = xcopy /s /q /y /i
# QMAKE_MOVE = move
# QMAKE_DEL_FILE = del
# QMAKE_MKDIR = mkdir
# QMAKE_DEL_DIR = rmdir
# QMAKE_CHK_DIR_EXISTS = if not exist
#}
QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
QMAKE_IDL = midl
QMAKE_LIB = ar -ru
QMAKE_RC = x86_64-w64-mingw32-windres
QMAKE_ZIP = zip -r -9
QMAKE_STRIP = x86_64-w64-mingw32-strip
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
load(qt_config)
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the qmake spec of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial Usage
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QPLATFORMDEFS_H
#define QPLATFORMDEFS_H
#ifdef UNICODE
#ifndef _UNICODE
#define _UNICODE
#endif
#endif
// Get Qt defines/settings
#include "qglobal.h"
#include <tchar.h>
#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <qt_windows.h>
#include <limits.h>
#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500)
typedef enum {
NameUnknown = 0,
NameFullyQualifiedDN = 1,
NameSamCompatible = 2,
NameDisplay = 3,
NameUniqueId = 6,
NameCanonical = 7,
NameUserPrincipal = 8,
NameCanonicalEx = 9,
NameServicePrincipal = 10,
NameDnsDomain = 12
} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT;
#endif
#define Q_FS_FAT
#ifdef QT_LARGEFILE_SUPPORT
#define QT_STATBUF struct _stati64 // non-ANSI defs
#define QT_STATBUF4TSTAT struct _stati64 // non-ANSI defs
#define QT_STAT ::_stati64
#define QT_FSTAT ::_fstati64
#else
#define QT_STATBUF struct _stat // non-ANSI defs
#define QT_STATBUF4TSTAT struct _stat // non-ANSI defs
#define QT_STAT ::_stat
#define QT_FSTAT ::_fstat
#endif
#define QT_STAT_REG _S_IFREG
#define QT_STAT_DIR _S_IFDIR
#define QT_STAT_MASK _S_IFMT
#if defined(_S_IFLNK)
# define QT_STAT_LNK _S_IFLNK
#endif
#define QT_FILENO _fileno
#define QT_OPEN ::_open
#define QT_CLOSE ::_close
#ifdef QT_LARGEFILE_SUPPORT
#define QT_LSEEK ::_lseeki64
#ifndef UNICODE
#define QT_TSTAT ::_stati64
#else
#define QT_TSTAT ::_wstati64
#endif
#else
#define QT_LSEEK ::_lseek
#ifndef UNICODE
#define QT_TSTAT ::_stat
#else
#define QT_TSTAT ::_wstat
#endif
#endif
#define QT_READ ::_read
#define QT_WRITE ::_write
#define QT_ACCESS ::_access
#define QT_GETCWD ::_getcwd
#define QT_CHDIR ::_chdir
#define QT_MKDIR ::_mkdir
#define QT_RMDIR ::_rmdir
#define QT_OPEN_LARGEFILE 0
#define QT_OPEN_RDONLY _O_RDONLY
#define QT_OPEN_WRONLY _O_WRONLY
#define QT_OPEN_RDWR _O_RDWR
#define QT_OPEN_CREAT _O_CREAT
#define QT_OPEN_TRUNC _O_TRUNC
#define QT_OPEN_APPEND _O_APPEND
#if defined(O_TEXT)
# define QT_OPEN_TEXT _O_TEXT
# define QT_OPEN_BINARY _O_BINARY
#endif
#include "../common/c89/qplatformdefs.h"
#ifdef QT_LARGEFILE_SUPPORT
#undef QT_FSEEK
#undef QT_FTELL
#undef QT_OFF_T
#define QT_FSEEK ::fseeko64
#define QT_FTELL ::ftello64
#define QT_OFF_T off64_t
#endif
#define QT_SIGNAL_ARGS int
#define QT_VSNPRINTF ::_vsnprintf
#define QT_SNPRINTF ::_snprintf
# define F_OK 0
# define X_OK 1
# define W_OK 2
# define R_OK 4
#endif // QPLATFORMDEFS_H
#
# qmake configuration for win32-g++
#
# Written for MinGW
#
MAKEFILE_GENERATOR = MINGW
TEMPLATE = app
CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
QT += core gui
DEFINES += UNICODE QT_LARGEFILE_SUPPORT
QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
QMAKE_EXT_OBJ = .o
QMAKE_EXT_RES = _res.o
QMAKE_CC = i386-mingw32msvc-gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = byacc
QMAKE_YACCFLAGS = -d
QMAKE_CFLAGS =
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -Wall
QMAKE_CFLAGS_WARN_OFF = -w
QMAKE_CFLAGS_RELEASE = -O2
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CXX = i386-mingw32msvc-g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_RTTI_ON = -frtti
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
QMAKE_INCDIR =
QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
QMAKE_LINK = i386-mingw32msvc-g++
QMAKE_LINK_C = i386-mingw32msvc-gcc
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
QMAKE_LFLAGS_EXCEPTIONS_OFF =
QMAKE_LFLAGS_RELEASE = -Wl,-s
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL = -shared
QMAKE_LINK_OBJECT_MAX = 10
QMAKE_LINK_OBJECT_SCRIPT= object_script
QMAKE_LIBS =
QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
QMAKE_LIBS_NETWORK = -lws2_32
QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
#!isEmpty(QMAKE_SH) {
MINGW_IN_SHELL = 1
QMAKE_DIR_SEP = /
QMAKE_QMAKE ~= s,\\\\,/,
QMAKE_COPY = cp
QMAKE_COPY_DIR = cp -r
QMAKE_MOVE = mv
QMAKE_DEL_FILE = rm -f
QMAKE_MKDIR = mkdir
QMAKE_DEL_DIR = rm -rf
QMAKE_CHK_DIR_EXISTS = test -d
#} else {
# QMAKE_COPY = copy /y
# QMAKE_COPY_DIR = xcopy /s /q /y /i
# QMAKE_MOVE = move
# QMAKE_DEL_FILE = del
# QMAKE_MKDIR = mkdir
# QMAKE_DEL_DIR = rmdir
# QMAKE_CHK_DIR_EXISTS = if not exist
#}
QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
QMAKE_IDL = midl
QMAKE_LIB = i386-mingw32msvc-ar -ru
QMAKE_RC = i386-mingw32msvc-windres
QMAKE_ZIP = zip -r -9
QMAKE_STRIP = i386-mingw32msvc-strip
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
load(qt_config)
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the qmake spec of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial Usage
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QPLATFORMDEFS_H
#define QPLATFORMDEFS_H
#ifdef UNICODE
#ifndef _UNICODE
#define _UNICODE
#endif
#endif
// Get Qt defines/settings
#include "qglobal.h"
#include <tchar.h>
#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <qt_windows.h>
#include <limits.h>
#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500)
typedef enum {
NameUnknown = 0,
NameFullyQualifiedDN = 1,
NameSamCompatible = 2,
NameDisplay = 3,
NameUniqueId = 6,
NameCanonical = 7,
NameUserPrincipal = 8,
NameCanonicalEx = 9,
NameServicePrincipal = 10,
NameDnsDomain = 12
} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT;
#endif
#define Q_FS_FAT
#ifdef QT_LARGEFILE_SUPPORT
#define QT_STATBUF struct _stati64 // non-ANSI defs
#define QT_STATBUF4TSTAT struct _stati64 // non-ANSI defs
#define QT_STAT ::_stati64
#define QT_FSTAT ::_fstati64
#else
#define QT_STATBUF struct _stat // non-ANSI defs
#define QT_STATBUF4TSTAT struct _stat // non-ANSI defs
#define QT_STAT ::_stat
#define QT_FSTAT ::_fstat
#endif
#define QT_STAT_REG _S_IFREG
#define QT_STAT_DIR _S_IFDIR
#define QT_STAT_MASK _S_IFMT
#if defined(_S_IFLNK)
# define QT_STAT_LNK _S_IFLNK
#endif
#define QT_FILENO _fileno
#define QT_OPEN ::_open
#define QT_CLOSE ::_close
#ifdef QT_LARGEFILE_SUPPORT
#define QT_LSEEK ::_lseeki64
#ifndef UNICODE
#define QT_TSTAT ::_stati64
#else
#define QT_TSTAT ::_wstati64
#endif
#else
#define QT_LSEEK ::_lseek
#ifndef UNICODE
#define QT_TSTAT ::_stat
#else
#define QT_TSTAT ::_wstat
#endif
#endif
#define QT_READ ::_read
#define QT_WRITE ::_write
#define QT_ACCESS ::_access
#define QT_GETCWD ::_getcwd
#define QT_CHDIR ::_chdir