Commit e86b0303 authored by Michael Reeves's avatar Michael Reeves

merge changes from Joachims

parent 67e61da3
Version 0.10.0 - 2017-01-23 Version 0.10.0 - 2017-01-23
============================ ============================
-ported to QT5/KDEFramework5 -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. -abandonded Konqueror specific plugin no longer applicable.
-kde4 support dropped due to extensive changes needed for QT5/KDEFramework5 -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 - Text rendering now with QTextLayout fixes the following issues
- Correct handling for variable width fonts. - Correct handling for variable width fonts.
- Corrected display of highlighted text with Qt4.8.x on Ubuntu and Mac. - Corrected display of highlighted text with Qt4.8.x on Ubuntu and Mac.
...@@ -14,7 +14,17 @@ Version 0.9.98a - 2012-09-11 ...@@ -14,7 +14,17 @@ Version 0.9.98a - 2012-09-11
- Improved handling of Chinese and Japanese. - Improved handling of Chinese and Japanese.
- Whitespace characters are now shown as dots for spaces and arrows for tabs, and not only in differences. - 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) - 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) - 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 Version 0.9.97 - 2012-08-10
=========================== ===========================
......
Please read the README-file.
Joachim
KDiff3-Readme KDiff3-Readme
============= =============
Port to kf5/Qt5 by Michael Reeves (C) 2016 Author: Joachim Eibl (joachim.eibl at gmx.de)
KDiff3-Version: 0.10.0 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. 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 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. ...@@ -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: These are the original pre kf5/qt5 Readme fallows:
Author: Joachim Eibl (joachim.eibl at gmx.de)
Copyright: (C) 2002-2009 by Joachim Eibl Copyright: (C) 2002-2014 by Joachim Eibl
KDiff3-Version: 0.9.94 KDiff3-Version: 0.9.98
KDiff3 runs best on KDE but can be built without it, depending only on Qt-libs. KDiff3 runs best on KDE but can be built without it, depending only on Qt-libs.
These are available for Un*x, Windows, Mac. These are available for Un*x, Windows, Mac.
Thus there are many setup possibilities to consider. Thus there are many setup possibilities to consider.
From version 0.9.94 on the main target platform is KDE4/Qt4. Supported Qt-versions: 4.8, 5.2 or higher.
For KDiff3 for KDE3/Qt3 use KDiff3-0.9.92 or older. Supported KDE-version: 4
(For KDE3/Qt3 use KDiff3-0.9.92 or older.)
Contents Contents
-------- --------
...@@ -51,6 +53,7 @@ KDiff3 is a program that ...@@ -51,6 +53,7 @@ KDiff3 is a program that
- has an intuitive graphical user interface, - has an intuitive graphical user interface,
- provides a context menu for KDE-Konqueror and Windows-Explorer, - provides a context menu for KDE-Konqueror and Windows-Explorer,
- supports 64 bit systems. (Some build issues are discussed in here.) - 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! Do you want help translating? Read the README in the po-subdirectory!
...@@ -71,16 +74,19 @@ License ...@@ -71,16 +74,19 @@ License
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software 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". For details see file "COPYING".
Exception from the GPL:
As a special exception, the copyright holder Joachim Eibl gives permission Build & Install (for Un*x systems)
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 0) Unpack KDiff3*.tar.gz
source distribution. 1) Run "./configure kde4" or "./configure qt4" from the KDiff3 source directory.
2) Follow instructions
If it doesn't work continue reading.
Requirements & Installation Requirements & Installation
...@@ -89,14 +95,15 @@ Requirements & Installation ...@@ -89,14 +95,15 @@ Requirements & Installation
- for KDE4: - for KDE4:
From version 0.9.94 on KDiff3 supports 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): For installation on most distributions you usually also require these packages (names as on opensuse):
- g++ (g++, version 3.4 or newer) - g++ (version 4.2 or newer)
- libqt4-devel (Qt4-libs, version 4.4.0 or newer) - libqt4-devel (Qt4-libs, version 4.8.0 or newer)
- libkde4-devel (KDE4 Header files and development libraries) - libkde4-devel (KDE4 Header files and development libraries)
- libkonq-devel (optional, needed for the kdiff3-plugin, if not installed - libkonq-devel (optional, needed for the kdiff3-plugin, if not installed
then the contextmenu plugin for konqueror won't be built.) then the contextmenu plugin for konqueror won't be built.)
- cmake (>2.6, checks dependencies and creates the Makefiles appopriate for your system) - 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. 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 mkdir release # create sub directory
cd release # cd into that directory cd release # cd into that directory
...@@ -112,94 +119,46 @@ Requirements & Installation ...@@ -112,94 +119,46 @@ Requirements & Installation
mkdir debug mkdir debug
cd debug cd debug
kde4-config --prefix # Find out your KDE4-directory and note the result 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 make
sudo make install sudo make install
The <KDE4-prefix> depends on your distribution: The <KDE4-prefix> depends on your distribution:
The command "kde4-config --prefix" should tell you. 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 - Building KDiff3 with Qt4-libs, but without KDE
- for Linux/Un*x - for Linux/Un*x
- for Windows - for Windows
- for Mac - for Mac
The version 0.9.94 requires Qt 4.4.0 or newer (from www.trolltech.com) for compilation. The version 0.9.98 requires Qt 4.8.0 or newer (from http://qt-project.org/) for compilation.
You always need Recommended: Get Qt with QtCreator and use the kdiff3.pro file in src-QT4.(should also work with Qt5)
- kdiff3-0.9.94.tar.gz
From command line: Install a working set of Qt-libs.
- for Un*x: gcc, g++ with version >=3.4.2 Build-instructions (Un*x, Linux, Mac):
Qt-X11-libraries Assuming Qt is correctly installed run "./configure qt4" which essentially
does the same as:
- for Windows: Qt-win-libs - mkdir releaseQt
If you have the Qt4 commercial edition, then compile with Visual Studio.NET2003 or newer. - cd releaseQt
If you use the Qt4 open source edition, then you'll need MinGW. - qmake ../src-QT4/kdiff3.pro
I verified that compilation and debugging works with these packages (probably newer ones will also work): - make (or "gmake", or "mingw32-make" etc.)
- 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.
Debugging with MinGW under Windows: Debugging with MinGW under Windows:
- Qt Creator worked very good as debugger frontend too! - Use Qt Creator as debugger frontend!
- 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 Building KDiff3 (Qt4) for Mac OSX:
debug dlls yourself. Enter the qt-4.4.1-directory and run "configure -debug" and then "mingw32-make". 1) Install XCode
- cd into the directory kdiff3-0.9.94\src-Qt4 2) Install Qt with QtCreator for Mac
- edit the file "Makefile.Debug" and in the LFLAGS replace "-Wl,-subsystem,windows" with "-Wl,-subsystem,console" 3) Proceed again by opening the kdiff3.pro file
(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
Creating and installing the translation messages Creating and installing the translation messages
The po directory contains translations from the KDE-translation teams. The po directory contains translations from the KDE-translation teams.
If you use the Qt-only-version of KDiff3, then the installation described above If you use the Qt-only-version of KDiff3, then the installation described above
won't install translations automatically. won't install translations automatically.
To create and install the translations: To create and install the translations:
0) Make sure /usr/lib/qt3/bin/msg2qm exists 1) cd .../kdiff3-0.9.98/po
(comes with qt3-devel-tools. [Yes, really Qt3. There is no Qt4 replacement yet.])
1) cd .../kdiff3-0.9.95/po
2) sh create_qm_files install (asks for a super user password) 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): Just to create the files in the po directory (as needed for the windows version):
2) sh create_qm_files local 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,