]> git.sur5r.net Git - bacula/bacula/commitdiff
Implement Win32 bat changes made to Branch-2.4
authorKern Sibbald <kern@sibbald.com>
Sun, 20 Jul 2008 23:32:31 +0000 (23:32 +0000)
committerKern Sibbald <kern@sibbald.com>
Sun, 20 Jul 2008 23:32:31 +0000 (23:32 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@7410 91ce42f0-d328-0410-95d8-f526ca767f89

13 files changed:
bacula/src/lib/bsock.c
bacula/src/lib/bsock.h
bacula/src/qt-console/README.mingw [deleted file]
bacula/src/qt-console/README.mingw32 [new file with mode: 0644]
bacula/src/qt-console/console/console.cpp
bacula/src/qt-console/mainwin.cpp
bacula/src/qt-console/mainwin.h
bacula/src/qt-console/make-win32 [new file with mode: 0755]
bacula/src/qt-console/win32-x-g++/qmake.conf [deleted file]
bacula/src/qt-console/win32-x-g++/qplatformdefs.h [deleted file]
bacula/src/qt-console/win32/qmake.conf [new file with mode: 0644]
bacula/src/qt-console/win32/qplatformdefs.h [new file with mode: 0644]
bacula/technotes-2.5

index 18b3019a01a6309a572b6ef16261bd6c1d015a84..67ce39f83a69aaf7d43e6f3c9b885300977279e2 100644 (file)
@@ -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;
index f5ba43a26f4711cf548fbb82f1d6b6fec886912f..ccea240602cc94fe7411d024231e875c90351408 100644 (file)
@@ -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 (file)
index 185808e..0000000
+++ /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 (file)
index 0000000..7f416e0
--- /dev/null
@@ -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 ?
index 8dfb28261547cac164075800e36a5c192641f3f2..d437f42ab4657136ec36fc87d502a55d1f7fbc27 100644 (file)
@@ -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;
          } 
index eeefdf650cdb4ef58d254ea6807e1125592b7197..a03e22102598e6afffd38d5ecc7db045ca44eedc 100644 (file)
@@ -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();
 }
-
index 64df8f51dac0502cf21bf5047adfd907d1503879..383f8e3ede3fbc2203e94a757db6d5eff69ecc4a 100644 (file)
@@ -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 (executable)
index 0000000..4de01cf
--- /dev/null
@@ -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 (file)
index db2114a..0000000
+++ /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 (file)
index b01b8a6..0000000
+++ /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 <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 <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
-
-#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 (file)
index 0000000..0799397
--- /dev/null
@@ -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 (file)
index 0000000..b01b8a6
--- /dev/null
@@ -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 <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 <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
+
+#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
index 5243827b5535191210a6ca8a5b26537ba7059605..ad3e964980bf4b1c056b688a86d89cab74ac43df 100644 (file)
@@ -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