From 9cc60416baa0166420327c7f15f6ede12b4d06e8 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 1 Sep 2006 00:49:21 +0000 Subject: [PATCH] Update the Microsoft Visual Studio build to match the MinGW32 build. Fix precedence problem in an ASSERT. Put DLL_IMP_EXP macros in the right place so they work with both gcc and msvc. Change make_session_key on WIN32 to use WIN32 APIs to produce a better seed. Add sed to external dependencies, it is used only during installation. Remove unused code from winmain.cpp and winservice.cpp for the three daemons. Fix /kill for file and storage daemons. Add bfree to the exports for bacula.dll. Add new tool scsilist.exe which displays the changer, tape and CD/DVD (1394, SCSI, SATA, ATAPI) devices and the information required to add them to bacula-sd.conf. Added full configuration generation to the installer. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@3392 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/Makefile.in | 2 +- bacula/src/bacula.h | 17 +- bacula/src/console/console.c | 3 +- bacula/src/filed/job.c | 2 +- bacula/src/findlib/attribs.c | 2 +- bacula/src/jcr.h | 2 +- bacula/src/lib/message.h | 18 +- bacula/src/lib/res.c | 2 - bacula/src/lib/util.c | 115 +- bacula/src/stored/dircmd.c | 2 - bacula/src/win32/External-mingw32 | 1 + bacula/src/win32/README.vc8 | 18 +- bacula/src/win32/bacula.sln | 196 ++-- bacula/src/win32/bacula/bacula.vcproj | 217 ++++ bacula/src/win32/build-depkgs-mingw32 | 19 + bacula/src/win32/build-depkgs-msvc.cmd | 37 +- bacula/src/win32/cats/Makefile | 2 +- .../win32/cats/bacula_cats/bacula_cats.def | 142 +++ .../win32/cats/bacula_cats/bacula_cats.vcproj | 90 ++ bacula/src/win32/cats/cats.vcproj | 7 +- .../src/win32/cats/cats_bdb/cats_bdb.vcproj | 369 +++++++ .../win32/cats/cats_mysql/cats_mysql.vcproj | 393 +++++++ .../win32/cats/cats_pgsql/cats_pgsql.vcproj | 389 +++++++ bacula/src/win32/compat/compat.h | 22 +- bacula/src/win32/compat/compat.vcproj | 7 +- bacula/src/win32/compat/getopt.c | 5 +- bacula/src/win32/compat/winconfig.h | 19 +- bacula/src/win32/compat/winhost.h | 4 +- bacula/src/win32/console/bconsole.conf.in | 10 - bacula/src/win32/console/console.vcproj | 17 +- bacula/src/win32/dird/dird.vcproj | 48 +- bacula/src/win32/dird/winmain.cpp | 105 +- bacula/src/win32/dird/winservice.cpp | 432 ++------ bacula/src/win32/dird/winservice.h | 59 +- bacula/src/win32/dll/bacula.def | 1 + bacula/src/win32/filed/baculafd.vcproj | 30 +- bacula/src/win32/filed/winmain.cpp | 46 +- bacula/src/win32/filed/winservice.cpp | 55 +- bacula/src/win32/installer/ConfigPage1.nsh | 290 +++++ bacula/src/win32/installer/ConfigPage2.nsh | 402 +++++++ bacula/src/win32/installer/Makefile | 11 +- bacula/src/win32/installer/bacula-dir.conf.in | 284 +++++ .../{filed => installer}/bacula-fd.conf.in | 24 +- bacula/src/win32/installer/bacula-sd.conf.in | 208 ++++ bacula/src/win32/installer/bconsole.conf.in | 10 + bacula/src/win32/installer/installer.vcproj | 126 +++ bacula/src/win32/installer/winbacula.nsi | 988 ++++++++++-------- bacula/src/win32/installer/wx-console.conf.in | 10 + bacula/src/win32/libbac/libbac.vcproj | 422 +++++++- bacula/src/win32/libbac/msvc/bacula.def | 674 ++++++++++++ bacula/src/win32/libfind/libfind.vcproj | 7 +- bacula/src/win32/libwin32/libwin32.vcproj | 7 +- bacula/src/win32/libwin32/winservice.h | 42 +- bacula/src/win32/patches/sed.patch | 15 + .../src/win32/stored/baculasd/baculasd.vcproj | 381 +++++++ bacula/src/win32/stored/baculasd/winbacula.h | 1 - bacula/src/win32/stored/baculasd/winmain.cpp | 69 +- .../src/win32/stored/baculasd/winservice.cpp | 383 ++----- bacula/src/win32/stored/baculasd/winservice.h | 48 +- bacula/src/win32/stored/mtops.cpp | 9 +- bacula/src/win32/tools/Makefile | 7 +- bacula/src/win32/tools/ScsiDeviceList.cpp | 352 +++++++ bacula/src/win32/tools/ScsiDeviceList.h | 158 +++ bacula/src/win32/tools/dbcheck/dbcheck.vcproj | 284 +++++ bacula/src/win32/tools/scsilist.cpp | 102 ++ .../src/win32/tools/scsilist/scsilist.vcproj | 207 ++++ .../src/win32/wx-console/wx-console.conf.in | 10 - bacula/src/win32/wx-console/wx-console.vcproj | 19 +- bacula/src/wx-console/authenticate.c | 2 + bacula/src/wx-console/console_conf.c | 6 +- bacula/src/wx-console/console_thread.cpp | 2 + bacula/src/wx-console/main.cpp | 2 + bacula/src/wx-console/wxbconfigfileeditor.cpp | 2 + bacula/src/wx-console/wxbconfigpanel.cpp | 2 + bacula/src/wx-console/wxbhistorytextctrl.cpp | 2 + bacula/src/wx-console/wxblistctrl.cpp | 2 + bacula/src/wx-console/wxbmainframe.cpp | 2 + bacula/src/wx-console/wxbrestorepanel.cpp | 2 + bacula/src/wx-console/wxbtableparser.cpp | 2 + bacula/src/wx-console/wxbtreectrl.cpp | 2 + bacula/src/wx-console/wxbutils.cpp | 2 + 81 files changed, 6752 insertions(+), 1733 deletions(-) create mode 100644 bacula/src/win32/bacula/bacula.vcproj create mode 100644 bacula/src/win32/cats/bacula_cats/bacula_cats.def create mode 100644 bacula/src/win32/cats/bacula_cats/bacula_cats.vcproj create mode 100644 bacula/src/win32/cats/cats_bdb/cats_bdb.vcproj create mode 100644 bacula/src/win32/cats/cats_mysql/cats_mysql.vcproj create mode 100644 bacula/src/win32/cats/cats_pgsql/cats_pgsql.vcproj delete mode 100755 bacula/src/win32/console/bconsole.conf.in create mode 100644 bacula/src/win32/installer/ConfigPage1.nsh create mode 100644 bacula/src/win32/installer/ConfigPage2.nsh create mode 100644 bacula/src/win32/installer/bacula-dir.conf.in rename bacula/src/win32/{filed => installer}/bacula-fd.conf.in (96%) create mode 100644 bacula/src/win32/installer/bacula-sd.conf.in create mode 100644 bacula/src/win32/installer/bconsole.conf.in create mode 100644 bacula/src/win32/installer/installer.vcproj create mode 100644 bacula/src/win32/installer/wx-console.conf.in create mode 100644 bacula/src/win32/libbac/msvc/bacula.def create mode 100644 bacula/src/win32/patches/sed.patch create mode 100644 bacula/src/win32/stored/baculasd/baculasd.vcproj create mode 100644 bacula/src/win32/tools/ScsiDeviceList.cpp create mode 100644 bacula/src/win32/tools/ScsiDeviceList.h create mode 100644 bacula/src/win32/tools/dbcheck/dbcheck.vcproj create mode 100644 bacula/src/win32/tools/scsilist.cpp create mode 100644 bacula/src/win32/tools/scsilist/scsilist.vcproj delete mode 100644 bacula/src/win32/wx-console/wx-console.conf.in diff --git a/bacula/Makefile.in b/bacula/Makefile.in index 19c2d93c4a..e4a0562cdd 100755 --- a/bacula/Makefile.in +++ b/bacula/Makefile.in @@ -23,7 +23,7 @@ fd_subdirs = src scripts src/lib src/findlib src/filed \ @GNOME_DIR@ @TRAY_MONITOR_DIR@ @WX_DIR@ # Non-client-only directores -subdirs = src/cats @DIRD_DIR@ @STORED_DIR@ src/tools +subdirs = src/cats @DIRD_DIR@ @STORED_DIR@ src/tools all_subdirs = ${fd_subdirs} ${@ALL_DIRS@} manpages diff --git a/bacula/src/bacula.h b/bacula/src/bacula.h index 5619c0d7f2..09291ab3ca 100644 --- a/bacula/src/bacula.h +++ b/bacula/src/bacula.h @@ -32,10 +32,8 @@ #else #include "winconfig.h" #endif -#include "winhost.h" #else #include "config.h" -#include "host.h" #endif @@ -64,7 +62,11 @@ #if HAVE_ALLOCA_H #include #endif - +#if defined(_MSC_VER) +#include +#include +#include +#endif #include #include @@ -73,6 +75,12 @@ #define O_NOATIME 0 #endif +#if defined(_MSC_VER) +extern "C" { +#include "getopt.h" +} +#endif + #ifdef xxxxx #ifdef HAVE_GETOPT_LONG #include @@ -158,6 +166,9 @@ #if defined(HAVE_WIN32) #include "win32/winapi.h" +#include "winhost.h" +#else +#include "host.h" #endif #ifndef HAVE_ZLIB_H diff --git a/bacula/src/console/console.c b/bacula/src/console/console.c index bcaf07a9fc..b7064e0bd2 100644 --- a/bacula/src/console/console.c +++ b/bacula/src/console/console.c @@ -292,8 +292,8 @@ static void read_and_process_input(FILE *input, BSOCK *UA_sock) static int tls_pem_callback(char *buf, int size, const void *userdata) { #ifdef HAVE_TLS -# ifdef HAVE_MINGW const char *prompt = (const char *)userdata; +# if defined(HAVE_WIN32) sendit(prompt); if (win32_cgets(buf, size) == NULL) { buf[0] = 0; @@ -302,7 +302,6 @@ static int tls_pem_callback(char *buf, int size, const void *userdata) return strlen(buf); } # else - const char *prompt = (const char *)userdata; char *passwd; passwd = getpass(prompt); diff --git a/bacula/src/filed/job.c b/bacula/src/filed/job.c index 5d7ec87caf..0c81adc143 100644 --- a/bacula/src/filed/job.c +++ b/bacula/src/filed/job.c @@ -25,7 +25,7 @@ #include "filed.h" #if defined(WIN32_VSS) -#include "vss.h" +#include "vss.h" static pthread_mutex_t vss_mutex = PTHREAD_MUTEX_INITIALIZER; static int enable_vss; diff --git a/bacula/src/findlib/attribs.c b/bacula/src/findlib/attribs.c index ab9a87f51d..4c71cc679e 100755 --- a/bacula/src/findlib/attribs.c +++ b/bacula/src/findlib/attribs.c @@ -123,7 +123,7 @@ int select_data_stream(FF_PKT *ff_pkt) default: /* All stream types that do not support encryption should clear out * FO_ENCRYPT above, and this code block should be unreachable. */ - ASSERT(!ff_pkt->flags & FO_ENCRYPT); + ASSERT(!(ff_pkt->flags & FO_ENCRYPT)); return STREAM_NONE; } } diff --git a/bacula/src/jcr.h b/bacula/src/jcr.h index f37b6f6865..6a2dad36e4 100644 --- a/bacula/src/jcr.h +++ b/bacula/src/jcr.h @@ -353,7 +353,7 @@ struct s_last_job { }; extern struct s_last_job last_job; -extern dlist * DLL_IMP_EXP last_jobs; +extern DLL_IMP_EXP dlist * last_jobs; /* The following routines are found in lib/jcr.c */ diff --git a/bacula/src/lib/message.h b/bacula/src/lib/message.h index 1d144bb74a..66b0f82dd8 100644 --- a/bacula/src/lib/message.h +++ b/bacula/src/lib/message.h @@ -133,14 +133,14 @@ void Qmsg(JCR *jcr, int type, time_t mtime, const char *fmt,...); bool get_trace(void); typedef void (*sql_query)(JCR *jcr, const char *cmd); -extern sql_query DLL_IMP_EXP p_sql_query; +extern DLL_IMP_EXP sql_query p_sql_query; -extern int DLL_IMP_EXP debug_level; -extern int DLL_IMP_EXP verbose; -extern char DLL_IMP_EXP my_name[]; -extern const char * DLL_IMP_EXP working_directory; -extern time_t DLL_IMP_EXP daemon_start_time; +extern DLL_IMP_EXP int debug_level; +extern DLL_IMP_EXP int verbose; +extern DLL_IMP_EXP char my_name[]; +extern DLL_IMP_EXP const char * working_directory; +extern DLL_IMP_EXP time_t daemon_start_time; -extern int DLL_IMP_EXP console_msg_pending; -extern FILE * DLL_IMP_EXP con_fd; /* Console file descriptor */ -extern brwlock_t DLL_IMP_EXP con_lock; /* Console lock structure */ +extern DLL_IMP_EXP int console_msg_pending; +extern DLL_IMP_EXP FILE * con_fd; /* Console file descriptor */ +extern DLL_IMP_EXP brwlock_t con_lock; /* Console lock structure */ diff --git a/bacula/src/lib/res.c b/bacula/src/lib/res.c index c35fb68ee5..670b61fe59 100644 --- a/bacula/src/lib/res.c +++ b/bacula/src/lib/res.c @@ -23,8 +23,6 @@ #include "bacula.h" -extern int debug_level; - /* Each daemon has a slightly different set of * resources, so it will define the following * global values. diff --git a/bacula/src/lib/util.c b/bacula/src/lib/util.c index 505851583f..f991483202 100644 --- a/bacula/src/lib/util.c +++ b/bacula/src/lib/util.c @@ -428,63 +428,86 @@ int do_shell_expansion(char *name, int name_len) void make_session_key(char *key, char *seed, int mode) { - int j, k; - struct MD5Context md5c; - unsigned char md5key[16], md5key1[16]; - char s[1024]; - - s[0] = 0; - if (seed != NULL) { - bstrncat(s, seed, sizeof(s)); - } + int j, k; + struct MD5Context md5c; + unsigned char md5key[16], md5key1[16]; + char s[1024]; + + s[0] = 0; + if (seed != NULL) { + bstrncat(s, seed, sizeof(s)); + } + + /* The following creates a seed for the session key generator + based on a collection of volatile and environment-specific + information unlikely to be vulnerable (as a whole) to an + exhaustive search attack. If one of these items isn't + available on your machine, replace it with something + equivalent or, if you like, just delete it. */ - /* The following creates a seed for the session key generator - based on a collection of volatile and environment-specific - information unlikely to be vulnerable (as a whole) to an - exhaustive search attack. If one of these items isn't - available on your machine, replace it with something - equivalent or, if you like, just delete it. */ - - sprintf(s + strlen(s), "%lu", (unsigned long)getpid()); - sprintf(s + strlen(s), "%lu", (unsigned long)getppid()); - (void)getcwd(s + strlen(s), 256); - sprintf(s + strlen(s), "%lu", (unsigned long)clock()); - sprintf(s + strlen(s), "%lu", (unsigned long)time(NULL)); +#if defined(HAVE_WIN32) + { + LARGE_INTEGER li; + DWORD length; + FILETIME ft; + char *p; + + p = s; + sprintf(s + strlen(s), "%lu", (unsigned long)GetCurrentProcessId()); + (void)getcwd(s + strlen(s), 256); + sprintf(s + strlen(s), "%lu", (unsigned long)GetTickCount()); + QueryPerformanceCounter(&li); + sprintf(s + strlen(s), "%lu", (unsigned long)li.LowPart); + GetSystemTimeAsFileTime(&ft); + sprintf(s + strlen(s), "%lu", (unsigned long)ft.dwLowDateTime); + sprintf(s + strlen(s), "%lu", (unsigned long)ft.dwHighDateTime); + length = 256; + GetComputerName(s + strlen(s), &length); + length = 256; + GetUserName(s + strlen(s), &length); + } +#else + sprintf(s + strlen(s), "%lu", (unsigned long)getpid()); + sprintf(s + strlen(s), "%lu", (unsigned long)getppid()); + (void)getcwd(s + strlen(s), 256); + sprintf(s + strlen(s), "%lu", (unsigned long)clock()); + sprintf(s + strlen(s), "%lu", (unsigned long)time(NULL)); #if defined(Solaris) - sysinfo(SI_HW_SERIAL,s + strlen(s), 12); + sysinfo(SI_HW_SERIAL,s + strlen(s), 12); #endif #if defined(HAVE_GETHOSTID) - sprintf(s + strlen(s), "%lu", (unsigned long) gethostid()); + sprintf(s + strlen(s), "%lu", (unsigned long) gethostid()); #endif - gethostname(s + strlen(s), 256); - sprintf(s + strlen(s), "%u", (unsigned)getuid()); - sprintf(s + strlen(s), "%u", (unsigned)getgid()); - MD5Init(&md5c); - MD5Update(&md5c, (unsigned char *)s, strlen(s)); - MD5Final(md5key, &md5c); - sprintf(s + strlen(s), "%lu", (unsigned long)((time(NULL) + 65121) ^ 0x375F)); - MD5Init(&md5c); - MD5Update(&md5c, (unsigned char *)s, strlen(s)); - MD5Final(md5key1, &md5c); + gethostname(s + strlen(s), 256); + sprintf(s + strlen(s), "%u", (unsigned)getuid()); + sprintf(s + strlen(s), "%u", (unsigned)getgid()); +#endif + MD5Init(&md5c); + MD5Update(&md5c, (unsigned char *)s, strlen(s)); + MD5Final(md5key, &md5c); + sprintf(s + strlen(s), "%lu", (unsigned long)((time(NULL) + 65121) ^ 0x375F)); + MD5Init(&md5c); + MD5Update(&md5c, (unsigned char *)s, strlen(s)); + MD5Final(md5key1, &md5c); #define nextrand (md5key[j] ^ md5key1[j]) - if (mode) { - for (j = k = 0; j < 16; j++) { - unsigned char rb = nextrand; + if (mode) { + for (j = k = 0; j < 16; j++) { + unsigned char rb = nextrand; #define Rad16(x) ((x) + 'A') - key[k++] = Rad16((rb >> 4) & 0xF); - key[k++] = Rad16(rb & 0xF); + key[k++] = Rad16((rb >> 4) & 0xF); + key[k++] = Rad16(rb & 0xF); #undef Rad16 - if (j & 1) { - key[k++] = '-'; - } - } - key[--k] = 0; - } else { - for (j = 0; j < 16; j++) { - key[j] = nextrand; + if (j & 1) { + key[k++] = '-'; } } + key[--k] = 0; + } else { + for (j = 0; j < 16; j++) { + key[j] = nextrand; + } + } } #undef nextrand diff --git a/bacula/src/stored/dircmd.c b/bacula/src/stored/dircmd.c index d1134f140e..877b4b01b2 100644 --- a/bacula/src/stored/dircmd.c +++ b/bacula/src/stored/dircmd.c @@ -43,8 +43,6 @@ extern BSOCK *filed_chan; extern int r_first, r_last; extern struct s_res resources[]; -extern char my_name[]; -extern time_t daemon_start_time; extern struct s_last_job last_job; extern bool init_done; diff --git a/bacula/src/win32/External-mingw32 b/bacula/src/win32/External-mingw32 index 555adcb0e5..e9c4b52376 100644 --- a/bacula/src/win32/External-mingw32 +++ b/bacula/src/win32/External-mingw32 @@ -33,3 +33,4 @@ NSIS_BIN|http://superb-west.dl.sourceforge.net/sourceforge/nsis/nsis-2.17.zip NSIS_SRC|http://superb-west.dl.sourceforge.net/sourceforge/nsis/nsis-2.17-src.tar.bz2 MTX|http://superb-west.dl.sourceforge.net/sourceforge/mtx/mtx-1.3.9.tar.gz MT|ftp://ftp.ibiblio.org/pub/linux/system/backup/mt-st-0.9b.tar.gz +SED|ftp://mirrors.kernel.org/gnu/sed/sed-4.1.5.tar.gz diff --git a/bacula/src/win32/README.vc8 b/bacula/src/win32/README.vc8 index b92a4ebcf2..37705afeb7 100644 --- a/bacula/src/win32/README.vc8 +++ b/bacula/src/win32/README.vc8 @@ -2,10 +2,6 @@ Instructions to build Bacula with Microsoft Visual C++ 2005 Express Edition (free version). --- -(Note: for the moment VSS support has been disabled, and this is not -the official way to build the released FD. See README.win32 for the -"official" instructions.) - What you need to download: - Visual C++ 2005 Express Edition (2MB + 66MB) http://msdn.microsoft.com/vstudio/express/visualc/download/ @@ -53,6 +49,20 @@ Installation instructions: Build instructions: - deppkgs: + + You need 7-Zip, dlltool, nasm, patch, perl, sed, wget + + build-depkgs + Builds + libz + mt + mtx + mysql + openssl + postgreSQL + pthreads + wxWidgets + + Start VC++ 2005 command prompt (in the start menu) + run "\VC\PlatformSDK\SetEnv.Cmd" + cd /deppkgs-win32/zlib diff --git a/bacula/src/win32/bacula.sln b/bacula/src/win32/bacula.sln index fd9e8a33d2..9ae384dd78 100644 --- a/bacula/src/win32/bacula.sln +++ b/bacula/src/win32/bacula.sln @@ -3,64 +3,51 @@ Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wx-console", "wx-console\wx-console.vcproj", "{9BA8E10D-0D82-4B25-8543-DE34641FBC10}" ProjectSection(ProjectDependencies) = postProject - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "console", "console\console.vcproj", "{A0F65E06-9F18-40AC-81F6-A080852F1104}" ProjectSection(ProjectDependencies) = postProject - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstype", "tools\fstype\fstype.vcproj", "{AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbac", "libbac\libbac.vcproj", "{374BF775-AF68-4A88-814A-48F692DFFE5A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfind", "libfind\libfind.vcproj", "{05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "drivetype", "tools\drivetype\drivetype.vcproj", "{E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compat", "compat\compat.vcproj", "{05CF01A0-3C11-443B-B14B-D806C79212F1}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfind", "tools\testfind\testfind.vcproj", "{558838F9-D792-4F56-AAB2-99C03687C5FF}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testls", "tools\testls\testls.vcproj", "{28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculafd", "filed\baculafd.vcproj", "{6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{825DFFD0-4747-43CA-8326-529655E31935}" ProjectSection(SolutionItems) = preProject - ClientConfig.ini = ClientConfig.ini + build-depkgs-mingw32 = build-depkgs-mingw32 + build-depkgs-msvc.cmd = build-depkgs-msvc.cmd + build-win32-cross-tools = build-win32-cross-tools ..\..\autoconf\bacula-macros\db.m4 = ..\..\autoconf\bacula-macros\db.m4 + External-mingw32 = External-mingw32 + External-msvc = External-msvc ..\..\autoconf\bacula-macros\largefiles.m4 = ..\..\autoconf\bacula-macros\largefiles.m4 ..\..\autoconf\bacula-macros\os.m4 = ..\..\autoconf\bacula-macros\os.m4 - winbacula.nsi.in = winbacula.nsi.in EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Header Files", "Header Files", "{C8301485-CFD1-43D4-827C-8EA050C8E256}" @@ -74,70 +61,56 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Header Files", "Header File EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculadird", "dird\dird.vcproj", "{D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} - {BAB13141-20F9-4B2D-8C0A-021804ADD077} = {BAB13141-20F9-4B2D-8C0A-021804ADD077} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculasd", "stored\baculasd\baculasd.vcproj", "{F5F063F8-11A1-475A-82E2-19759BB40B25}" ProjectSection(ProjectDependencies) = postProject {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bcopy", "stored\bcopy\bcopy.vcproj", "{614CE916-0972-4126-9392-CD9FC0ADD7DE}" ProjectSection(ProjectDependencies) = postProject {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bextract", "stored\bextract\bextract.vcproj", "{6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bls", "stored\bls\bls.vcproj", "{F8AF7D74-2918-422B-A7B6-4D98566B7160}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bscan", "stored\bscan\bscan.vcproj", "{56EADEDB-FBED-4758-8B54-7B0B47ABDABF}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} - {BAB13141-20F9-4B2D-8C0A-021804ADD077} = {BAB13141-20F9-4B2D-8C0A-021804ADD077} {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "btape", "stored\btape\btape.vcproj", "{496415E0-AF44-4AD8-8C99-91B837DDF469}" ProjectSection(ProjectDependencies) = postProject {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "storelib", "stored\storelib\storelib.vcproj", "{CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcats", "cats\cats.vcproj", "{BAB13141-20F9-4B2D-8C0A-021804ADD077}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mt", "tapetools\mt\mt\mt.vcproj", "{8F29646A-559A-484C-9C73-B3FCE80EDD9C}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "postest", "stored\postest\postest.vcproj", "{208D3989-794B-47A2-9D04-D7AEE1524078}" ProjectSection(ProjectDependencies) = postProject - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {05CF01A0-3C11-443B-B14B-D806C79212F1} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sleep", "scripts\sleep.vcproj", "{0F56AEB0-14DA-4A80-8962-1F85A17339D0}" @@ -152,6 +125,66 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Consoles", "Consoles", "{C66C8B3B-C156-4498-91E9-CA9A24CF9051}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bacula", "bacula\bacula.vcproj", "{2D729599-C008-4154-BCCB-53E6A260F220}" + ProjectSection(ProjectDependencies) = postProject + {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_mysql", "cats\cats_mysql\cats_mysql.vcproj", "{B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bacula_cats", "cats\bacula_cats\bacula_cats.vcproj", "{8B79A2B5-8889-43D4-9B92-9AE8A6F00413}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dbcheck", "tools\dbcheck\dbcheck.vcproj", "{85696E20-777A-41F6-BC00-2E7AB375B171}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_pgsql", "cats\cats_pgsql\cats_pgsql.vcproj", "{2FB961E5-213C-4475-8CB3-72F904D40752}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scsilist", "tools\scsilist\scsilist.vcproj", "{56D8C233-610E-4EE4-A73A-72CEF1C6A33A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_bdb", "cats\cats_bdb\cats_bdb.vcproj", "{1E6FC8D7-0A08-461A-B9AB-FD3CC5DC0B9C}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\installer.vcproj", "{6D1B0964-FB32-4916-A61C-49D7F715EAD8}" + ProjectSection(ProjectDependencies) = postProject + {A0F65E06-9F18-40AC-81F6-A080852F1104} = {A0F65E06-9F18-40AC-81F6-A080852F1104} + {9BA8E10D-0D82-4B25-8543-DE34641FBC10} = {9BA8E10D-0D82-4B25-8543-DE34641FBC10} + {614CE916-0972-4126-9392-CD9FC0ADD7DE} = {614CE916-0972-4126-9392-CD9FC0ADD7DE} + {85696E20-777A-41F6-BC00-2E7AB375B171} = {85696E20-777A-41F6-BC00-2E7AB375B171} + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F} = {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F} + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} = {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} = {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {F8AF7D74-2918-422B-A7B6-4D98566B7160} = {F8AF7D74-2918-422B-A7B6-4D98566B7160} + {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} + {208D3989-794B-47A2-9D04-D7AEE1524078} = {208D3989-794B-47A2-9D04-D7AEE1524078} + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA} = {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {0F56AEB0-14DA-4A80-8962-1F85A17339D0} = {0F56AEB0-14DA-4A80-8962-1F85A17339D0} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} = {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} = {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} + {1E6FC8D7-0A08-461A-B9AB-FD3CC5DC0B9C} = {1E6FC8D7-0A08-461A-B9AB-FD3CC5DC0B9C} + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} = {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} = {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} + {496415E0-AF44-4AD8-8C99-91B837DDF469} = {496415E0-AF44-4AD8-8C99-91B837DDF469} + {2FB961E5-213C-4475-8CB3-72F904D40752} = {2FB961E5-213C-4475-8CB3-72F904D40752} + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} = {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} + {F5F063F8-11A1-475A-82E2-19759BB40B25} = {F5F063F8-11A1-475A-82E2-19759BB40B25} + {558838F9-D792-4F56-AAB2-99C03687C5FF} = {558838F9-D792-4F56-AAB2-99C03687C5FF} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -174,18 +207,10 @@ Global {374BF775-AF68-4A88-814A-48F692DFFE5A}.Debug|Win32.Build.0 = Debug|Win32 {374BF775-AF68-4A88-814A-48F692DFFE5A}.Release|Win32.ActiveCfg = Release|Win32 {374BF775-AF68-4A88-814A-48F692DFFE5A}.Release|Win32.Build.0 = Release|Win32 - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F}.Debug|Win32.ActiveCfg = Debug|Win32 - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F}.Debug|Win32.Build.0 = Debug|Win32 - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F}.Release|Win32.ActiveCfg = Release|Win32 - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F}.Release|Win32.Build.0 = Release|Win32 {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Debug|Win32.ActiveCfg = Debug|Win32 {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Debug|Win32.Build.0 = Debug|Win32 {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Release|Win32.ActiveCfg = Release|Win32 {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Release|Win32.Build.0 = Release|Win32 - {05CF01A0-3C11-443B-B14B-D806C79212F1}.Debug|Win32.ActiveCfg = Debug|Win32 - {05CF01A0-3C11-443B-B14B-D806C79212F1}.Debug|Win32.Build.0 = Debug|Win32 - {05CF01A0-3C11-443B-B14B-D806C79212F1}.Release|Win32.ActiveCfg = Release|Win32 - {05CF01A0-3C11-443B-B14B-D806C79212F1}.Release|Win32.Build.0 = Release|Win32 {558838F9-D792-4F56-AAB2-99C03687C5FF}.Debug|Win32.ActiveCfg = Debug|Win32 {558838F9-D792-4F56-AAB2-99C03687C5FF}.Debug|Win32.Build.0 = Debug|Win32 {558838F9-D792-4F56-AAB2-99C03687C5FF}.Release|Win32.ActiveCfg = Release|Win32 @@ -230,22 +255,44 @@ Global {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Debug|Win32.Build.0 = Debug|Win32 {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Release|Win32.ActiveCfg = Release|Win32 {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Release|Win32.Build.0 = Release|Win32 - {BAB13141-20F9-4B2D-8C0A-021804ADD077}.Debug|Win32.ActiveCfg = Debug|Win32 - {BAB13141-20F9-4B2D-8C0A-021804ADD077}.Debug|Win32.Build.0 = Debug|Win32 - {BAB13141-20F9-4B2D-8C0A-021804ADD077}.Release|Win32.ActiveCfg = Release|Win32 - {BAB13141-20F9-4B2D-8C0A-021804ADD077}.Release|Win32.Build.0 = Release|Win32 - {8F29646A-559A-484C-9C73-B3FCE80EDD9C}.Debug|Win32.ActiveCfg = Debug|Win32 - {8F29646A-559A-484C-9C73-B3FCE80EDD9C}.Debug|Win32.Build.0 = Debug|Win32 - {8F29646A-559A-484C-9C73-B3FCE80EDD9C}.Release|Win32.ActiveCfg = Release|Win32 - {8F29646A-559A-484C-9C73-B3FCE80EDD9C}.Release|Win32.Build.0 = Release|Win32 {208D3989-794B-47A2-9D04-D7AEE1524078}.Debug|Win32.ActiveCfg = Debug|Win32 - {208D3989-794B-47A2-9D04-D7AEE1524078}.Debug|Win32.Build.0 = Debug|Win32 {208D3989-794B-47A2-9D04-D7AEE1524078}.Release|Win32.ActiveCfg = Release|Win32 {208D3989-794B-47A2-9D04-D7AEE1524078}.Release|Win32.Build.0 = Release|Win32 {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Debug|Win32.ActiveCfg = Debug|Win32 {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Debug|Win32.Build.0 = Debug|Win32 {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Release|Win32.ActiveCfg = Release|Win32 {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Release|Win32.Build.0 = Release|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Debug|Win32.ActiveCfg = Debug|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Debug|Win32.Build.0 = Debug|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Release|Win32.ActiveCfg = Release|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Release|Win32.Build.0 = Release|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Debug|Win32.ActiveCfg = Debug|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Debug|Win32.Build.0 = Debug|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Release|Win32.ActiveCfg = Release|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Release|Win32.Build.0 = Release|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Debug|Win32.ActiveCfg = Debug|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Debug|Win32.Build.0 = Debug|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Release|Win32.ActiveCfg = Release|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Release|Win32.Build.0 = Release|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Debug|Win32.ActiveCfg = Debug|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Debug|Win32.Build.0 = Debug|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Release|Win32.ActiveCfg = Release|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Release|Win32.Build.0 = Release|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Debug|Win32.ActiveCfg = Debug|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Debug|Win32.Build.0 = Debug|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Release|Win32.ActiveCfg = Release|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Release|Win32.Build.0 = Release|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Debug|Win32.ActiveCfg = Debug|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Debug|Win32.Build.0 = Debug|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Release|Win32.ActiveCfg = Release|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Release|Win32.Build.0 = Release|Win32 + {1E6FC8D7-0A08-461A-B9AB-FD3CC5DC0B9C}.Debug|Win32.ActiveCfg = Debug|Win32 + {1E6FC8D7-0A08-461A-B9AB-FD3CC5DC0B9C}.Debug|Win32.Build.0 = Debug|Win32 + {1E6FC8D7-0A08-461A-B9AB-FD3CC5DC0B9C}.Release|Win32.ActiveCfg = Release|Win32 + {1E6FC8D7-0A08-461A-B9AB-FD3CC5DC0B9C}.Release|Win32.Build.0 = Release|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Debug|Win32.ActiveCfg = Debug|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Release|Win32.ActiveCfg = Release|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -258,11 +305,13 @@ Global {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} = {D6767108-F420-41C0-A834-2E6F487E1AB3} {208D3989-794B-47A2-9D04-D7AEE1524078} = {D6767108-F420-41C0-A834-2E6F487E1AB3} {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} = {D6767108-F420-41C0-A834-2E6F487E1AB3} - {05567F02-5DD8-4EB6-9C8E-C236C1D9AB1F} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {05CF01A0-3C11-443B-B14B-D806C79212F1} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {BAB13141-20F9-4B2D-8C0A-021804ADD077} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} {374BF775-AF68-4A88-814A-48F692DFFE5A} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {2D729599-C008-4154-BCCB-53E6A260F220} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {2FB961E5-213C-4475-8CB3-72F904D40752} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {1E6FC8D7-0A08-461A-B9AB-FD3CC5DC0B9C} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} {F5F063F8-11A1-475A-82E2-19759BB40B25} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} @@ -271,8 +320,9 @@ Global {F8AF7D74-2918-422B-A7B6-4D98566B7160} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} {496415E0-AF44-4AD8-8C99-91B837DDF469} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {8F29646A-559A-484C-9C73-B3FCE80EDD9C} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} {0F56AEB0-14DA-4A80-8962-1F85A17339D0} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} {614CE916-0972-4126-9392-CD9FC0ADD7DE} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {85696E20-777A-41F6-BC00-2E7AB375B171} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} EndGlobalSection EndGlobal diff --git a/bacula/src/win32/bacula/bacula.vcproj b/bacula/src/win32/bacula/bacula.vcproj new file mode 100644 index 0000000000..38bff747c6 --- /dev/null +++ b/bacula/src/win32/bacula/bacula.vcproj @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/build-depkgs-mingw32 b/bacula/src/win32/build-depkgs-mingw32 index 6803b41f29..e075400637 100644 --- a/bacula/src/win32/build-depkgs-mingw32 +++ b/bacula/src/win32/build-depkgs-mingw32 @@ -395,6 +395,24 @@ process_mt() do_make Makefile PREFIX=${DEPPKG_DIR} install } +process_sed() +{ + if get_source "${URL_SED}" "${DIR_SED}" "${MKD_SED}" + then + echo Patching SED + >patch.log + do_patch sed.patch + echo Configuring SED + ./configure --host=mingw32 \ + --prefix=${DEPPKG_DIR} \ + --disable-nls &>make.log + fi + echo Building SED + do_make Makefile all + echo Installing SED + do_make Makefile install +} + if [ "$#" -eq 0 ] then process_zlib @@ -409,6 +427,7 @@ then process_nsis process_mtx process_mt + process_sed else for dependency in "$@" do diff --git a/bacula/src/win32/build-depkgs-msvc.cmd b/bacula/src/win32/build-depkgs-msvc.cmd index 3953036c48..003e2c7bbb 100644 --- a/bacula/src/win32/build-depkgs-msvc.cmd +++ b/bacula/src/win32/build-depkgs-msvc.cmd @@ -1,6 +1,15 @@ @echo off SETLOCAL +SET PERL_PATH= +FOR /F "tokens=1" %%I in ( "perl.exe" ) DO SET PERL_PATH=%%~$PATH:I + +IF NOT "%PERL_PATH%"=="" GOTO :PERL_OK +ECHO Perl must be in your PATH. Please fix and rerun this script! +EXIT /B 1 + +:PERL_OK + SET CLOBBER_SOURCE= FOR /F "eol=# delims=| tokens=1-4" %%I in ( External-msvc ) DO SET URL_%%I=%%J & SET DIR_%%I=%%K & SET MKD_%%I=%%L @@ -12,7 +21,7 @@ SET SCRIPT_DIR=%CD% CD ..\..\.. set TOP_DIR=%CD% -cd %TOP_DIR%/depkgs-win32 +cd %TOP_DIR%/depkgs-msvc set DEPPKG_DIR=%CD% cd %DEPPKG_DIR% @@ -56,7 +65,7 @@ REM CALL :process_pcre CALL :process_mysql REM CALL :process_sqlite CALL :process_postgreSQL - CALL :process_wxWidgets + CALL :process_wx REM CALL :process_scons CALL :process_nsis CALL :process_mtx @@ -76,9 +85,9 @@ REM CALL :process_scons SET MAKE_SRC_ENABLE=%3 SET BASENAME= - IF NOT %2=="" GOTO :get_source_make_src + IF NOT "%SRC_DIR%"=="" GOTO :get_source_make_src FOR %%I IN ( %URL% ) DO (SET BASENAME=%%~nI & IF NOT "%%~xI"==".gz" IF NOT "%%~xI"==".bz2" SET SRC_DIR=%%~nI) - IF %SRC_DIR%=="" FOR %%I IN ( %BASENAME% ) DO SET SRC_DIR=%%~nI + IF "%SRC_DIR%"=="" FOR %%I IN ( %BASENAME% ) DO SET SRC_DIR=%%~nI :get_source_make_src SET MAKE_SRC_DIR= @@ -140,6 +149,7 @@ REM CALL :do_nmake win32\Makefile.msc AS=nasmw ASFLAGS= LOC="-D_CRT_SECURE_NO_DE XCOPY zlib.lib %DEPPKG_DIR%\lib\ /Y XCOPY zdll.lib %DEPPKG_DIR%\lib\ /Y XCOPY zlib.h %DEPPKG_DIR%\include\ /Y + XCOPY zconf.h %DEPPKG_DIR%\include\ /Y EXIT /B 0 :process_pcre @@ -199,8 +209,11 @@ REM COPY /Y nul patch.log REM do_patch postgresql.patch ECHO Installing postgreSQL XCOPY ..\pgsql\include\libpq-fe.h ..\..\include\ /Y 2>&1 - dlltool -l ..\..\lib\libpgsql.lib -D libpgsql.dll -d src/interfaces/libpq/libpqdll.def + XCOPY ..\pgsql\include\postgres_ext.h ..\..\include\ /Y 2>&1 + LIB /def:src\interfaces\libpq\libpqdll.def /out:..\..\lib\libpqdll.lib /machine:x86 /subsystem:console XCOPY ..\pgsql\lib\libpq.dll ..\..\bin\ /Y + XCOPY ..\pgsql\lib\comerr32.dll ..\..\bin\ /Y + XCOPY ..\pgsql\lib\krb5_32.dll ..\..\bin\ /Y XCOPY ..\pgsql\lib\libintl-2.dll ..\..\bin\ /Y XCOPY ..\pgsql\lib\libiconv-2.dll ..\..\bin\ /Y EXIT /B 0 @@ -229,10 +242,10 @@ REM do_patch sqlite.patch cp -p sqlite3.h %DEPPKG_DIR%/include EXIT /B 0 -:process_wxWidgets +:process_wx CALL :get_source %URL_WX% %DIR_WX% %MKD_WX% - IF ERRORLEVEL 2 GOTO :wxWidgets_error -REM IF ERRORLEVEL 1 GOTO :wxWidgets_skip_patch + IF ERRORLEVEL 2 GOTO :wx_error +REM IF ERRORLEVEL 1 GOTO :wx_skip_patch REM ECHO Patching wxWidgets REM COPY /Y nul patch.log REM do_patch wx1.patch -o build/msw/config.mingw32 @@ -241,19 +254,19 @@ REM find . -name makefile.gcc -exec sh -c "sed -f %SCRIPT_DIR%/patches/wx.sed {% ECHO Building wxWidgets cd build\msw COPY /Y nul make.log - CALL :do_nmake makefile.vc BUILD=release SHARED=1 VENDOR=bacula DEBUG_INFO=1 + CALL :do_nmake makefile.vc BUILD=release SHARED=1 VENDOR=bacula DEBUG_INFO=1 CPPFLAGS=-D_USE_32BIT_TIME_T ECHO Installing wxWidgets cd ..\.. IF EXIST ..\..\include\wx\nul RD /s /q ..\..\include\wx XCOPY include\wx ..\..\include\wx\ 2>&1 - XCOPY include\wx\generic ..\..\include\wx\generic\ 2>&1 - XCOPY include\wx\msw ..\..\include\wx\msw\ 2>&1 + XCOPY include\wx\generic ..\..\include\wx\generic\ /e 2>&1 + XCOPY include\wx\msw ..\..\include\wx\msw\ /e 2>&1 XCOPY lib\vc_dll\*.dll ..\..\bin\ /y IF EXIST ..\..\lib\wx_dll\nul RD /s /q ..\..\lib\wx_dll XCOPY lib\vc_dll\*.lib ..\..\lib\wx_dll\ XCOPY lib\vc_dll\msw ..\..\lib\wx_dll\msw\ /e 2>&1 EXIT /B 0 -:wxWidgets_error +:wx_error ECHO Unable to download wxWidgets source from %URL_MTX% EXIT /B 1 diff --git a/bacula/src/win32/cats/Makefile b/bacula/src/win32/cats/Makefile index 19eab109ac..d935b180cc 100644 --- a/bacula/src/win32/cats/Makefile +++ b/bacula/src/win32/cats/Makefile @@ -52,7 +52,7 @@ LIBS_DLL = \ .PHONY: all clean -all: $(BINDIR)/cats_mysql.dll $(BINDIR)/cats_pgsql.dll $(BINDIR)/cats_bdb.dll +all: $(LIBDIR)/libcats.a $(BINDIR)/cats_mysql.dll $(BINDIR)/cats_pgsql.dll $(BINDIR)/cats_bdb.dll clean: @echo "Cleaning `pwd`" diff --git a/bacula/src/win32/cats/bacula_cats/bacula_cats.def b/bacula/src/win32/cats/bacula_cats/bacula_cats.def new file mode 100644 index 0000000000..0bb2acf30d --- /dev/null +++ b/bacula/src/win32/cats/bacula_cats/bacula_cats.def @@ -0,0 +1,142 @@ +LIBRARY bacula_cats.dll +EXPORTS + +; bdb.c: +; mysql.c: +; postgresql.c: +; sqlite.c: +?db_get_type@@YAPBDXZ +?db_sql_query@@YAHPAUB_DB@@PBDP6AHPAXHPAPAD@Z2@Z +;?db_next_index@@YAHPAVJCR@@PAUB_DB@@PAD2@Z +?db_escape_string@@YAXPAD0H@Z +?db_init_database@@YAPAUB_DB@@PAVJCR@@PBD111H1H@Z +?db_open_database@@YAHPAVJCR@@PAUB_DB@@@Z +?db_close_database@@YAXPAVJCR@@PAUB_DB@@@Z + +; sql.c: +?_db_unlock@@YAXPBDHPAUB_DB@@@Z +?db_strerror@@YAPADPAUB_DB@@@Z +;?list_dashes@@YAXPAUB_DB@@P6AXPAXPBD@Z1@Z +;?list_result@@YAXPAVJCR@@PAUB_DB@@P6AXPAXPBD@Z2W4e_list_type@@@Z +?db_int64_handler@@YAHPAXHPAPAD@Z +?db_end_transaction@@YAXPAVJCR@@PAUB_DB@@@Z +;?get_sql_record_max@@YAHPAVJCR@@PAUB_DB@@@Z +;?split_path_and_file@@YAXPAVJCR@@PAUB_DB@@PBD@Z +;?check_tables_version@@YA_NPAVJCR@@PAUB_DB@@@Z +?db_start_transaction@@YAXPAVJCR@@PAUB_DB@@@Z +;?QueryDB@@YAHPBDHPAVJCR@@PAUB_DB@@PAD@Z +?_db_lock@@YAXPBDHPAUB_DB@@@Z +;?DeleteDB@@YAHPBDHPAVJCR@@PAUB_DB@@PAD@Z +;?InsertDB@@YAHPBDHPAVJCR@@PAUB_DB@@PAD@Z +;?UpdateDB@@YAHPBDHPAVJCR@@PAUB_DB@@PAD@Z + +; sql_cmds.c +?list_pool@@3PBDB DATA +?client_backups@@3PBDB DATA +?del_File@@3PBDB DATA +?upd_Purged@@3PBDB DATA +?cnt_DelCand@@3PBDB DATA +?del_Job@@3PBDB DATA +?del_JobMedia@@3PBDB DATA +?cnt_JobMedia@@3PBDB DATA +?sel_JobMedia@@3PBDB DATA +?select_job@@3PBDB DATA +?drop_deltabs@@3PAPBDA DATA +?create_deltabs@@3PAPBDA DATA +?insert_delcand@@3PBDB DATA +?select_backup_del@@3PBDB DATA +?select_verify_del@@3PBDB DATA +?select_restore_del@@3PBDB DATA +?select_admin_del@@3PBDB DATA +?select_migrate_del@@3PBDB DATA +?uar_count_files@@3PBDB DATA +?uar_list_jobs@@3PBDB DATA +?uar_file@@3PBDB DATA +?uar_sel_files@@3PBDB DATA +?uar_del_temp@@3PBDB DATA +?uar_del_temp1@@3PBDB DATA +?uar_create_temp@@3PBDB DATA +?uar_create_temp1@@3PBDB DATA +?uar_last_full@@3PBDB DATA +?uar_full@@3PBDB DATA +?uar_dif@@3PBDB DATA +?uar_inc@@3PBDB DATA +?uar_list_temp@@3PBDB DATA +?uar_sel_jobid_temp@@3PBDB DATA +?uar_sel_all_temp1@@3PBDB DATA +?uar_sel_all_temp@@3PBDB DATA +?uar_sel_fileset@@3PBDB DATA +?uar_mediatype@@3PBDB DATA +?uar_jobid_fileindex@@3PBDB DATA +?uar_jobids_fileindex@@3PBDB DATA +?uar_jobid_fileindex_from_dir@@3PBDB DATA +?uar_jobid_fileindex_from_table@@3PBDB DATA + +; bdb_create.c: +; sql_create.c: +?db_create_job_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z +?db_create_jobmedia_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOBMEDIA_DBR@@@Z +?db_create_pool_record@@YA_NPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z +;?db_create_device_record@@YA_NPAVJCR@@PAUB_DB@@PAVDEVICE_DBR@@@Z +?db_create_storage_record@@YA_NPAVJCR@@PAUB_DB@@PAVSTORAGE_DBR@@@Z +?db_create_mediatype_record@@YA_NPAVJCR@@PAUB_DB@@PAVMEDIATYPE_DBR@@@Z +?db_create_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z +?db_create_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z +?db_create_counter_record@@YAHPAVJCR@@PAUB_DB@@PAUCOUNTER_DBR@@@Z +?db_create_fileset_record@@YA_NPAVJCR@@PAUB_DB@@PAUFILESET_DBR@@@Z +?db_create_file_attributes_record@@YAHPAVJCR@@PAUB_DB@@PAUATTR_DBR@@@Z + +; bdb_delete.c: +; sql_delete.c: +?db_delete_pool_record@@YAHPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z +?db_delete_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z +;?db_purge_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z + +; bdb_find.c: +; sql_find.c: +?db_find_job_start_time@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@PAPAD@Z +?db_find_failed_job_since@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@PADAAH@Z +?db_find_last_jobid@@YA_NPAVJCR@@PAUB_DB@@PBDPAUJOB_DBR@@@Z +?db_find_next_volume@@YAHPAVJCR@@PAUB_DB@@H_NPAUMEDIA_DBR@@@Z + +; bdb_get.c: +; sql_get.c: +?db_get_file_attributes_record@@YAHPAVJCR@@PAUB_DB@@PADPAUJOB_DBR@@PAUFILE_DBR@@@Z +?db_get_job_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z +?db_get_job_volume_names@@YAHPAVJCR@@PAUB_DB@@IPAPAD@Z +?db_get_job_volume_parameters@@YAHPAVJCR@@PAUB_DB@@IPAPAUVOL_PARAMS@@@Z +;?db_get_num_pool_records@@YAHPAVJCR@@PAUB_DB@@@Z +?db_get_pool_ids@@YAHPAVJCR@@PAUB_DB@@PAHPAPAI@Z +?db_get_client_ids@@YAHPAVJCR@@PAUB_DB@@PAHPAPAI@Z +?db_get_pool_record@@YA_NPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z +?db_get_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z +;?db_get_counter_record@@YAHPAVJCR@@PAUB_DB@@PAUCOUNTER_DBR@@@Z +?db_get_fileset_record@@YAHPAVJCR@@PAUB_DB@@PAUFILESET_DBR@@@Z +;?db_get_num_media_records@@YAHPAVJCR@@PAUB_DB@@@Z +?db_get_media_ids@@YA_NPAVJCR@@PAUB_DB@@IPAHPAPAI@Z +?db_get_media_record@@YA_NPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z + +; bdb_list.c: +; sql_list.c: +?db_list_sql_query@@YAHPAVJCR@@PAUB_DB@@PBDP6AXPAX2@Z3HW4e_list_type@@@Z +?db_list_pool_records@@YAXPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z +?db_list_client_records@@YAXPAVJCR@@PAUB_DB@@P6AXPAXPBD@Z2W4e_list_type@@@Z +?db_list_media_records@@YAXPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z +?db_list_jobmedia_records@@YAXPAVJCR@@PAUB_DB@@IP6AXPAXPBD@Z2W4e_list_type@@@Z +?db_list_job_records@@YAXPAVJCR@@PAUB_DB@@PAUJOB_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z +?db_list_job_totals@@YAXPAVJCR@@PAUB_DB@@PAUJOB_DBR@@P6AXPAXPBD@Z3@Z +?db_list_files_for_job@@YAXPAVJCR@@PAUB_DB@@IP6AXPAXPBD@Z2@Z + +; bdb_update.c: +; sql_update.c: +?db_add_digest_to_file_record@@YAHPAVJCR@@PAUB_DB@@IPADH@Z +?db_mark_file_record@@YAHPAVJCR@@PAUB_DB@@II@Z +?db_update_job_start_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z +?db_update_job_end_record@@YAHPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z +?db_update_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z +?db_update_counter_record@@YAHPAVJCR@@PAUB_DB@@PAUCOUNTER_DBR@@@Z +?db_update_pool_record@@YAHPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z +?db_update_storage_record@@YA_NPAVJCR@@PAUB_DB@@PAVSTORAGE_DBR@@@Z +?db_update_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z +?db_update_media_defaults@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z +?db_make_inchanger_unique@@YAXPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z diff --git a/bacula/src/win32/cats/bacula_cats/bacula_cats.vcproj b/bacula/src/win32/cats/bacula_cats/bacula_cats.vcproj new file mode 100644 index 0000000000..6c471eb564 --- /dev/null +++ b/bacula/src/win32/cats/bacula_cats/bacula_cats.vcproj @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/cats/cats.vcproj b/bacula/src/win32/cats/cats.vcproj index afa2b781cf..09de1b0789 100644 --- a/bacula/src/win32/cats/cats.vcproj +++ b/bacula/src/win32/cats/cats.vcproj @@ -40,7 +40,7 @@ diff --git a/bacula/src/win32/cats/cats_bdb/cats_bdb.vcproj b/bacula/src/win32/cats/cats_bdb/cats_bdb.vcproj new file mode 100644 index 0000000000..757a3962e0 --- /dev/null +++ b/bacula/src/win32/cats/cats_bdb/cats_bdb.vcproj @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/cats/cats_mysql/cats_mysql.vcproj b/bacula/src/win32/cats/cats_mysql/cats_mysql.vcproj new file mode 100644 index 0000000000..e7a8a6e37f --- /dev/null +++ b/bacula/src/win32/cats/cats_mysql/cats_mysql.vcproj @@ -0,0 +1,393 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/cats/cats_pgsql/cats_pgsql.vcproj b/bacula/src/win32/cats/cats_pgsql/cats_pgsql.vcproj new file mode 100644 index 0000000000..410ac41af6 --- /dev/null +++ b/bacula/src/win32/cats/cats_pgsql/cats_pgsql.vcproj @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/compat/compat.h b/bacula/src/win32/compat/compat.h index 7026309db0..09f97192ef 100644 --- a/bacula/src/win32/compat/compat.h +++ b/bacula/src/win32/compat/compat.h @@ -100,9 +100,8 @@ typedef UINT32 gid_t; typedef UINT32 uid_t; typedef UINT32 gid_t; typedef UINT32 mode_t; -#if !defined(_WX_DEFS_H_) /* ssize_t is defined in wx/defs.h */ -typedef INT64 ssize_t; -#endif +typedef INT32 ssize_t; +#define HAVE_SSIZE_T 1 #endif /* HAVE_MINGW */ @@ -243,20 +242,11 @@ int fork(); int waitpid(int, int *, int); #if !defined(HAVE_MINGW) -int strncasecmp(const char*, const char *, int); +#define strncasecmp strnicmp +//int strncasecmp(const char*, const char *, int); int utime(const char *filename, struct utimbuf *buf); -#define vsnprintf __vsnprintf -int __vsnprintf(char *s, size_t count, const char *format, va_list args); - -#define vsprintf __vsprintf -int __vsprintf(char *s, const char *format, va_list args); - -#define snprintf __snprintf -int __snprintf(char *str, size_t count, const char *fmt, ...); - -#define sprintf __sprintf -int __sprintf(char *str, const char *fmt, ...); - +#define vsnprintf _vsnprintf +#define snprintf _snprintf #endif //HAVE_MINGW diff --git a/bacula/src/win32/compat/compat.vcproj b/bacula/src/win32/compat/compat.vcproj index b4f6401582..a69878ba41 100644 --- a/bacula/src/win32/compat/compat.vcproj +++ b/bacula/src/win32/compat/compat.vcproj @@ -40,7 +40,7 @@ diff --git a/bacula/src/win32/compat/getopt.c b/bacula/src/win32/compat/getopt.c index 3ca810cc06..87fad3ac4d 100644 --- a/bacula/src/win32/compat/getopt.c +++ b/bacula/src/win32/compat/getopt.c @@ -57,6 +57,9 @@ char *alloca (); #endif #include +#if defined(_MSC_VER) +#include +#endif /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself. This code is part of the GNU C @@ -191,8 +194,6 @@ static enum /* Avoid depending on library functions or files whose names are inconsistent. */ -char *getenv (); - #if 0 static char * my_index (str, chr) diff --git a/bacula/src/win32/compat/winconfig.h b/bacula/src/win32/compat/winconfig.h index f7edb45263..c87851db28 100644 --- a/bacula/src/win32/compat/winconfig.h +++ b/bacula/src/win32/compat/winconfig.h @@ -10,6 +10,10 @@ #ifndef __WINCONFIG_H #define __WINCONFIG_H +#define HAVE_OPENSSL 1 +#define HAVE_CRYPTO 1 +#define HAVE_TLS 1 + /* Define if you want to use MySQL as Catalog database */ /* #undef USE_MYSQL_DB */ @@ -29,7 +33,7 @@ /* #undef ssize_t */ /* Define if you want to use MySQL */ -#define HAVE_MYSQL 1 +/* #define HAVE_MYSQL 1 */ /* Defined if MySQL thread safe library is present */ /* #undef HAVE_THREAD_SAFE_MYSQL */ @@ -394,9 +398,10 @@ /* Define to 1 if you have the `snprintf' function. */ #define HAVE_SNPRINTF 1 +#define HAVE_SNPRINTF_DECL 1 /* Define to 1 if you have the header file. */ -/*#define HAVE_STDARG_H 1*/ +#define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ /*#define HAVE_STDINT_H 1 */ @@ -521,6 +526,7 @@ /* Define to 1 if you have the `vsnprintf' function. */ #define HAVE_VSNPRINTF 1 +#define HAVE_VSNPRINTF_DECL 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 @@ -566,6 +572,9 @@ /* The size of a `int *', as computed by sizeof. */ #define SIZEOF_INT_P 4 +/* The size of a `long int', as computed by sizeof. */ +#define SIZEOF_LONG 4 + /* The size of a `long int', as computed by sizeof. */ #define SIZEOF_LONG_INT 4 @@ -575,6 +584,12 @@ /* The size of a `short int', as computed by sizeof. */ #define SIZEOF_SHORT_INT 2 +/* The size of a `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 4 + +/* The size of a `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 4 + /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. diff --git a/bacula/src/win32/compat/winhost.h b/bacula/src/win32/compat/winhost.h index 9011642292..f58de93684 100644 --- a/bacula/src/win32/compat/winhost.h +++ b/bacula/src/win32/compat/winhost.h @@ -26,8 +26,8 @@ #define DISTVER "Win32" #else -extern char WIN_VERSION_LONG[]; -extern char WIN_VERSION[]; +extern DLL_IMP_EXP char WIN_VERSION_LONG[]; +extern DLL_IMP_EXP char WIN_VERSION[]; #define HOST_OS WIN_VERSION_LONG #define DISTNAME "MVS" diff --git a/bacula/src/win32/console/bconsole.conf.in b/bacula/src/win32/console/bconsole.conf.in deleted file mode 100755 index 010797b8c0..0000000000 --- a/bacula/src/win32/console/bconsole.conf.in +++ /dev/null @@ -1,10 +0,0 @@ -# -# Bacula User Agent (or Console) Configuration File -# - -Director { - Name = @hostname@-dir - DIRport = @dir_port@ - address = @hostname@ - Password = "@dir_password@" -} diff --git a/bacula/src/win32/console/console.vcproj b/bacula/src/win32/console/console.vcproj index ff5a9079d4..e38c482db5 100644 --- a/bacula/src/win32/console/console.vcproj +++ b/bacula/src/win32/console/console.vcproj @@ -45,8 +45,8 @@ diff --git a/bacula/src/win32/dird/dird.vcproj b/bacula/src/win32/dird/dird.vcproj index fe53a08ff1..0cd5f7444b 100644 --- a/bacula/src/win32/dird/dird.vcproj +++ b/bacula/src/win32/dird/dird.vcproj @@ -12,9 +12,6 @@ /> - - @@ -53,8 +47,8 @@ Optimization="3" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" - AdditionalIncludeDirectories="../compat;../..;"../../../../depkgs-win32/pthreads";"../../../../depkgs-win32/zlib";"../../../../depkgs-win32/gettext/include"" - PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;HAVE_WIN32;_USE_32BIT_TIME_T;WIN32_VSS;_WIN32_WINNT=0x0500;_CRT_SECURE_NO_DEPRECATE" + AdditionalIncludeDirectories="../compat;"../../../../depkgs-msvc/include";../.." + PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;HAVE_WIN32;USING_DLL;USING_CATS;_USE_32BIT_TIME_T;_WIN32_WINNT=0x0500;_CRT_SECURE_NO_DEPRECATE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -81,11 +75,11 @@ /> - @@ -152,8 +143,8 @@ - - - - - - - - @@ -1092,6 +1064,7 @@ diff --git a/bacula/src/win32/dird/winmain.cpp b/bacula/src/win32/dird/winmain.cpp index dad80940fe..12eec70290 100644 --- a/bacula/src/win32/dird/winmain.cpp +++ b/bacula/src/win32/dird/winmain.cpp @@ -1,35 +1,28 @@ /* - Copyright (C) 2000-2005 Kern Sibbald + Copyright (C) 2000-2006 Kern Sibbald This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. + modify it under the terms of the GNU General Public License + version 2 as amended with additional clauses defined in the + file LICENSE in the main source directory. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + the file LICENSE for additional details. This file is patterned after the VNC Win32 code by ATT */ - #include #include -#include -#include -#include +#include "bacula.h" #include "winbacula.h" -//#include "wintray.h" #include "winservice.h" +#include +#include extern int BaculaMain(int argc, char *argv[]); extern void terminate_dird(int sig); @@ -39,14 +32,15 @@ extern void d_msg(const char *, int, int, const char *, ...); /* Globals */ HINSTANCE hAppInstance; -const char *szAppName = "Bacula"; +const char *szAppName = "Bacula-dir"; DWORD mainthreadId; +bool silent = false; /* Imported variables */ extern DWORD g_servicethread; #define MAX_COMMAND_ARGS 100 -static char *command_args[MAX_COMMAND_ARGS] = {"bacula-dird", NULL}; +static char *command_args[MAX_COMMAND_ARGS] = {"bacula-dir", NULL}; static int num_command_args = 1; static pid_t main_pid; static pthread_t main_tid; @@ -97,7 +91,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, for (i=1;i