From: Kern Sibbald Date: Sun, 20 Jul 2008 23:32:31 +0000 (+0000) Subject: Implement Win32 bat changes made to Branch-2.4 X-Git-Tag: Release-3.0.0~1128 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=fbf5d24abc9e07b71bf520c71356dc3584b0a15c;p=bacula%2Fbacula Implement Win32 bat changes made to Branch-2.4 git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@7410 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/lib/bsock.c b/bacula/src/lib/bsock.c index 18b3019a01..67ce39f83a 100644 --- a/bacula/src/lib/bsock.c +++ b/bacula/src/lib/bsock.c @@ -774,7 +774,7 @@ void BSOCK::restore_blocking (int flags) * 0 if timeout * -1 if error */ -int BSOCK::wait_data(int sec) +int BSOCK::wait_data(int sec, int usec) { fd_set fdset; struct timeval tv; @@ -783,7 +783,7 @@ int BSOCK::wait_data(int sec) FD_SET((unsigned)m_fd, &fdset); for (;;) { tv.tv_sec = sec; - tv.tv_usec = 0; + tv.tv_usec = usec; switch (select(m_fd + 1, &fdset, NULL, NULL, &tv)) { case 0: /* timeout */ b_errno = 0; @@ -804,7 +804,7 @@ int BSOCK::wait_data(int sec) /* * As above, but returns on interrupt */ -int BSOCK::wait_data_intr(int sec) +int BSOCK::wait_data_intr(int sec, int usec) { fd_set fdset; struct timeval tv; @@ -812,7 +812,7 @@ int BSOCK::wait_data_intr(int sec) FD_ZERO(&fdset); FD_SET((unsigned)m_fd, &fdset); tv.tv_sec = sec; - tv.tv_usec = 0; + tv.tv_usec = usec; switch (select(m_fd + 1, &fdset, NULL, NULL, &tv)) { case 0: /* timeout */ b_errno = 0; diff --git a/bacula/src/lib/bsock.h b/bacula/src/lib/bsock.h index f5ba43a26f..ccea240602 100644 --- a/bacula/src/lib/bsock.h +++ b/bacula/src/lib/bsock.h @@ -110,8 +110,8 @@ public: int set_nonblocking(); int set_blocking(); void restore_blocking(int flags); - int wait_data(int sec); - int wait_data_intr(int sec); + int wait_data(int sec, int usec=0); + int wait_data_intr(int sec, int usec=0); bool authenticate_director(const char *name, const char *password, TLS_CONTEXT *tls_ctx, char *msg, int msglen); bool set_locking(); /* in bsock.c */ diff --git a/bacula/src/qt-console/README.mingw b/bacula/src/qt-console/README.mingw deleted file mode 100644 index 185808ed7a..0000000000 --- a/bacula/src/qt-console/README.mingw +++ /dev/null @@ -1,108 +0,0 @@ - -BUILD SYSTEM: Ubuntu gutsy -STATUS: Works - -REQUIRE: - - Bacula cross compilation tool (must be able to compile bacula-fd.exe) - - wine (apt-get install wine) - - qt mingw32 distribution - -ORIGINAL HOWTO (french): -http://doc.qtfr.org/post/2007/04/10/Cross-Compilation-Native-dapplication-Qt-depuis-Linux - -Legend: -# comment -$ shell command -* tips - -Directory setup ---------------- -$ cd bacula/src/win32 -$ ./build-win32-cross-tools -$ ./build-depkgs-mingw32 - -It will result something like : - -./ -|-- depkgs-mingw32 -|-- cross-tools -`-- bacula - -bacula setup ------------- -$ cd bacula/src/win32 -$ make - -Don't run any configure, make or make install -Make sure that bacula/src/win32/release/bacula.dll is built - -QT4 setup ----------- - -Install QT for mingw - -Get the mingw installation from http://trolltech.com/developer/downloads/qt/windows -(Try to get the same version than your linux installation) - -$ wine qt-win-opensource-4.4.0-mingw.exe - * Install under c:\Qt (no space) - * no worry about mingw installation - -$ cp -r ~/.wine/drive_c/Qt/4.4.0/src/ depkgs-mingw32/include -$ cp -r ~/.wine/drive_c/Qt/4.4.0/include depkgs-mingw32/include/qt -$ cp -r ~/.wine/drive_c/Qt/4.4.0/lib depkgs-mingw32/lib/qt - -MINGW setup ------------ - -If you have a problem with wchar.c about a redefinition of struct stat (i think you will have -this problem too) Apply this patch to your cross-tool installation. - ---- cross-tools/mingw32/mingw32/include/wchar.h.org 2008-07-13 15:18:52.000000000 +0200 -+++ cross-tools/mingw32/mingw32/include/wchar.h 2008-07-12 14:47:10.000000000 +0200 -@@ -394,7 +394,7 @@ - time_t st_ctime; /* Creation time */ - }; - --#ifndef _NO_OLDNAMES -+#ifdef _NO_OLDNAMES_DISABLE - /* NOTE: Must be the same as _stat above. */ - struct stat - { - -Compile bat ------------ - -$ cd bacula/src/qt-console -$ cp bat.pro.mingw bat.pro -$ qmake-qt4 -spec win32-x-g++ -$ make - -Run Bat on Windows ------------------- - -You'll need - zlib1.dll - ssleay32.dll - libeay32.dll - QtCore4.dll - QtGui4.dll - bacula.dll - pthreadGCE.dll - mingwm10.dll - bat.conf - -You can find QT dlls on ~/.wine/drive_c/Qt/4.4.0/bin - -Run Bat with wine ------------------ -$ cd bacula/src/qt-console/debug - -# configure a bat.conf -# copy all dll to this directory - -$ wine bat - - -That all, easy isn't it ? - diff --git a/bacula/src/qt-console/README.mingw32 b/bacula/src/qt-console/README.mingw32 new file mode 100644 index 0000000000..7f416e051e --- /dev/null +++ b/bacula/src/qt-console/README.mingw32 @@ -0,0 +1,110 @@ + +BUILD SYSTEM: Ubuntu gutsy +STATUS: Works + +REQUIRE: + - Bacula cross compilation tool (must be able to compile bacula-fd.exe) + - wine (apt-get install wine) + - qt mingw32 distribution + +ORIGINAL HOWTO (french): +http://doc.qtfr.org/post/2007/04/10/Cross-Compilation-Native-dapplication-Qt-depuis-Linux + +Legend: +# comment +$ shell command +* tips + +Directory setup +--------------- +$ cd bacula/src/win32 +$ ./build-win32-cross-tools +$ ./build-depkgs-mingw32 + +It will result something like : + +./ +|-- depkgs-mingw32 +|-- cross-tools +`-- bacula + +bacula setup +------------ +$ cd bacula/src/win32 +$ make + +Make sure that bacula/src/win32/release/bacula.dll is built + +QT4 setup +---------- + +Install QT for mingw + +Get the mingw installation from http://trolltech.com/developer/downloads/qt/windows +(Try to get the same version than your linux installation) + +$ wine qt-win-opensource-4.4.0-mingw.exe + * Install under c:\Qt (no space) + * no worry about mingw installation + +$ cp -r ~/.wine/drive_c/Qt/4.4.0/src/ depkgs-mingw32/include +$ cp -r ~/.wine/drive_c/Qt/4.4.0/include depkgs-mingw32/include/qt +$ cp -r ~/.wine/drive_c/Qt/4.4.0/lib depkgs-mingw32/lib/qt +# copy ~/.wine/drive_c/Qt/4.4.0/bin/QtCore4.dll to src/win32/release +# copy ~/.wine/drive_c/Qt/4.4.0/bin/QtGui4.dll to src/win32/release + +MINGW setup +----------- + +--- cross-tools/mingw32/mingw32/include/wchar.h.org 2008-07-13 15:18:52.000000000 +0200 ++++ cross-tools/mingw32/mingw32/include/wchar.h 2008-07-12 14:47:10.000000000 +0200 +@@ -394,7 +394,7 @@ + time_t st_ctime; /* Creation time */ + }; + +-#ifndef _NO_OLDNAMES ++#ifdef _NO_OLDNAMES_DISABLE + /* NOTE: Must be the same as _stat above. */ + struct stat + { + +Compile bat +----------- + +$ cd bacula/src/qt-console +$ ./make-win32 + +Cleanup +------- +$ cd bacula/src/qt-console +$ ./make-win32 clean + + + +Run Bat on Windows +------------------ + +You'll need + zlib1.dll + ssleay32.dll + libeay32.dll + QtCore4.dll + QtGui4.dll + bacula.dll + pthreadGCE.dll + mingwm10.dll + bat.conf + +You can find the Qt dlls in ~/.wine/drive_c/Qt/4.4.0/bin + +Run Bat with wine +----------------- +$ cd bacula/src/qt-console/debug + +# configure a bat.conf +# copy all dlls to this directory + +$ wine bat + + +That all, easy isn't it ? diff --git a/bacula/src/qt-console/console/console.cpp b/bacula/src/qt-console/console/console.cpp index 8dfb282615..d437f42ab4 100644 --- a/bacula/src/qt-console/console/console.cpp +++ b/bacula/src/qt-console/console/console.cpp @@ -641,7 +641,7 @@ int Console::read() int stat = 0; while (m_sock) { for (;;) { - stat = bnet_wait_data_intr(m_sock, 1); + stat = m_sock->wait_data_intr(0, 50000); if (stat > 0) { break; } diff --git a/bacula/src/qt-console/mainwin.cpp b/bacula/src/qt-console/mainwin.cpp index eeefdf650c..a03e221025 100644 --- a/bacula/src/qt-console/mainwin.cpp +++ b/bacula/src/qt-console/mainwin.cpp @@ -266,11 +266,6 @@ void MainWin::closeEvent(QCloseEvent *event) { m_isClosing = true; writeSettings(); -/* foreach(Console *console, m_consoleHash){ - console->writeSettings(); - console->terminate(); - console->closeStackPage(); - } */ /* close all non console pages, this will call settings in destructors */ while (m_consoleHash.count() < m_pagehash.count()) { foreach(Pages *page, m_pagehash) { @@ -846,4 +841,3 @@ void MainWin::readPreferences() m_rtRestore3Debug = settings.value("rtRestore3Debug", false).toBool(); settings.endGroup(); } - diff --git a/bacula/src/qt-console/mainwin.h b/bacula/src/qt-console/mainwin.h index 64df8f51da..383f8e3ede 100644 --- a/bacula/src/qt-console/mainwin.h +++ b/bacula/src/qt-console/mainwin.h @@ -113,7 +113,9 @@ public slots: void estimateButtonClicked(); void browseButtonClicked(); void statusPageButtonClicked(); +#ifdef HAVE_QWT void jobPlotButtonClicked(); +#endif void restoreButtonClicked(); void undockWindowButton(); void treeItemChanged(QTreeWidgetItem *, QTreeWidgetItem *); diff --git a/bacula/src/qt-console/make-win32 b/bacula/src/qt-console/make-win32 new file mode 100755 index 0000000000..4de01cf1b0 --- /dev/null +++ b/bacula/src/qt-console/make-win32 @@ -0,0 +1,16 @@ +#!/bin/sh +# +# Used to build the Win32 version of bat +# +rm -f debug/bat.exe +if test -e ../config.h ; then + mv -f ../config.h ../config.h.orig +fi +qmake -spec win32 -unix -o Makefile.mingw32 bat.pro.mingw32 +make -j3 -f Makefile.mingw32 $1 +if test -e ../config.h.orig ; then + mv -f ../config.h.orig ../config.h +fi +if test -d ../win32/release; then + cp -f debug/bat.exe ../win32/release +fi diff --git a/bacula/src/qt-console/win32-x-g++/qmake.conf b/bacula/src/qt-console/win32-x-g++/qmake.conf deleted file mode 100644 index db2114adef..0000000000 --- a/bacula/src/qt-console/win32-x-g++/qmake.conf +++ /dev/null @@ -1,97 +0,0 @@ -# -# 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 = ../../../cross-tools/mingw32/bin/mingw32-gcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = byacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -DHAVE_MINGW -DHAVE_WIN32 -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 = ../../../cross-tools/mingw32/bin/mingw32-g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DHAVE_MINGW -DHAVE_WIN32 -DHAVE_ZLIB_H -DHAVE_LIBZ -DHAVE_CRYPTO -DHAVE_OPENSSL -DHAVE_TLS -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 = ../../../depkgs-mingw32/include/pthreads ../../../depkgs-mingw32/include/ ../win32/compat -QMAKE_INCDIR_QT = ../../../depkgs-mingw32/include/qt -QMAKE_LIBDIR_QT = ../../../depkgs-mingw32/lib/qt - -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 = ../../../cross-tools/mingw32/bin/mingw32-g++ -QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -mno-cygwin -m32 -fno-strict-aliasing -Wl,-enable-runtime-pseudo-reloc -mwindows - -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 = -lwsock32 -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 = -lopengl32 -lglu32 -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_COPY = cp - QMAKE_COPY_DIR = cp -r - QMAKE_MOVE = mv - QMAKE_DEL_FILE = rm -f - QMAKE_MKDIR = mkdir -p - QMAKE_DEL_DIR = rm -rf - QMAKE_CHK_DIR_EXISTS = test -d - -QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc -QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic -QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc - -QMAKE_IDL = midl -QMAKE_LIB = ../../../cross-tools/mingw32/bin/mingw32-ar -ru -QMAKE_RC = ../../../cross-tools/mingw32/bin/mingw32-windres -QMAKE_ZIP = zip -r -9 - -QMAKE_STRIP = ../../../cross-tools/mingw32/bin/mingw32-strip -QMAKE_STRIPFLAGS_LIB += --strip-unneeded -load(qt_config) diff --git a/bacula/src/qt-console/win32-x-g++/qplatformdefs.h b/bacula/src/qt-console/win32-x-g++/qplatformdefs.h deleted file mode 100644 index b01b8a62b4..0000000000 --- a/bacula/src/qt-console/win32-x-g++/qplatformdefs.h +++ /dev/null @@ -1,161 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved. -** -** This file is part of the qmake spec of the Qt Toolkit. -** -** This file may be used under the terms of the GNU General Public -** License version 2.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 GNU -** General Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/ -** -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** In addition, as a special exception, Trolltech gives you certain -** additional rights. These rights are described in the Trolltech GPL -** Exception version 1.0, which can be found at -** http://www.trolltech.com/products/qt/gplexception/ and in the file -** GPL_EXCEPTION.txt in this package. -** -** In addition, as a special exception, Trolltech, as the sole copyright -** holder for Qt Designer, grants users of the Qt/Eclipse Integration -** plug-in the right for the Qt/Eclipse Integration to link to -** functionality provided by Qt Designer and its related libraries. -** -** Trolltech reserves all rights not expressly granted herein. -** -** Trolltech ASA (c) 2007 -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -#ifdef UNICODE -#ifndef _UNICODE -#define _UNICODE -#endif -#endif - -// Get Qt defines/settings - -#include "qglobal.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#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 - -#define QT_FOPEN ::fopen -#ifdef QT_LARGEFILE_SUPPORT -#define QT_FSEEK ::fseeko64 -#define QT_FTELL ::ftello64 -#else -#define QT_FSEEK ::fseek -#define QT_FTELL ::ftell -#endif -#define QT_FGETPOS ::fgetpos -#define QT_FSETPOS ::fsetpos -#define QT_FPOS_T fpos_t -#ifdef QT_LARGEFILE_SUPPORT -#define QT_OFF_T off64_t -#else -#define QT_OFF_T long -#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 diff --git a/bacula/src/qt-console/win32/qmake.conf b/bacula/src/qt-console/win32/qmake.conf new file mode 100644 index 0000000000..0799397f31 --- /dev/null +++ b/bacula/src/qt-console/win32/qmake.conf @@ -0,0 +1,97 @@ +# +# 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 = ../../../cross-tools/mingw32/bin/mingw32-gcc +QMAKE_LEX = flex +QMAKE_LEXFLAGS = +QMAKE_YACC = byacc +QMAKE_YACCFLAGS = -d +QMAKE_CFLAGS = -DHAVE_MINGW -DHAVE_WIN32 +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 = ../../../cross-tools/mingw32/bin/mingw32-g++ +QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DHAVE_MINGW -DHAVE_WIN32 -DHAVE_ZLIB_H -DHAVE_LIBZ -DHAVE_CRYPTO -DHAVE_OPENSSL -DHAVE_TLS +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 = ../../../depkgs-mingw32/include/pthreads ../../../depkgs-mingw32/include/ ../win32/compat +QMAKE_INCDIR_QT = ../../../depkgs-mingw32/include/qt +QMAKE_LIBDIR_QT = ../../../depkgs-mingw32/lib/qt + +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 = ../../../cross-tools/mingw32/bin/mingw32-g++ +QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -mno-cygwin -m32 -fno-strict-aliasing -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 = -lwsock32 +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 = -lopengl32 -lglu32 -lgdi32 -luser32 +QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 +QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain + +MINGW_IN_SHELL = 1 +QMAKE_DIR_SEP = / +QMAKE_COPY = cp +QMAKE_COPY_DIR = cp -r +QMAKE_MOVE = mv +QMAKE_DEL_FILE = rm -f +QMAKE_MKDIR = mkdir -p +QMAKE_DEL_DIR = rm -rf +QMAKE_RCC = rcc +QMAKE_CHK_DIR_EXISTS = test -d + +QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc +QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic +QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc + +QMAKE_IDL = midl +QMAKE_LIB = ../../../cross-tools/mingw32/bin/mingw32-ar -ru +QMAKE_RC = ../../../cross-tools/mingw32/bin/mingw32-windres +QMAKE_ZIP = zip -r -9 + +QMAKE_STRIP = ../../../cross-tools/mingw32/bin/mingw32-strip +QMAKE_STRIPFLAGS_LIB += --strip-unneeded +load(qt_config) diff --git a/bacula/src/qt-console/win32/qplatformdefs.h b/bacula/src/qt-console/win32/qplatformdefs.h new file mode 100644 index 0000000000..b01b8a62b4 --- /dev/null +++ b/bacula/src/qt-console/win32/qplatformdefs.h @@ -0,0 +1,161 @@ +/**************************************************************************** +** +** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved. +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License version 2.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 GNU +** General Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/ +** +** If you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.0, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** In addition, as a special exception, Trolltech, as the sole copyright +** holder for Qt Designer, grants users of the Qt/Eclipse Integration +** plug-in the right for the Qt/Eclipse Integration to link to +** functionality provided by Qt Designer and its related libraries. +** +** Trolltech reserves all rights not expressly granted herein. +** +** Trolltech ASA (c) 2007 +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#ifndef QPLATFORMDEFS_H +#define QPLATFORMDEFS_H + +#ifdef UNICODE +#ifndef _UNICODE +#define _UNICODE +#endif +#endif + +// Get Qt defines/settings + +#include "qglobal.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#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 + +#define QT_FOPEN ::fopen +#ifdef QT_LARGEFILE_SUPPORT +#define QT_FSEEK ::fseeko64 +#define QT_FTELL ::ftello64 +#else +#define QT_FSEEK ::fseek +#define QT_FTELL ::ftell +#endif +#define QT_FGETPOS ::fgetpos +#define QT_FSETPOS ::fsetpos +#define QT_FPOS_T fpos_t +#ifdef QT_LARGEFILE_SUPPORT +#define QT_OFF_T off64_t +#else +#define QT_OFF_T long +#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 diff --git a/bacula/technotes-2.5 b/bacula/technotes-2.5 index 5243827b55..ad3e964980 100644 --- a/bacula/technotes-2.5 +++ b/bacula/technotes-2.5 @@ -32,6 +32,8 @@ separator in console (!$%&'()*+,-/:;<>?[]^`{|}~) General: +21Jul08 +kes Implement Win32 bat changes made to Branch-2.4 20Jul08 kes Tweak separator command in console to start disabled and allow defining no separator character. Also make code a