From: Kern Sibbald Date: Fri, 23 Apr 2004 16:19:06 +0000 (+0000) Subject: Add native win32 bconsole X-Git-Tag: Release-1.34.3~126 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b4acf784593d318a89f19a5feba7a523b7968651;p=bacula%2Fbacula Add native win32 bconsole git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1273 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in index 87c4f3fc1e..37ca9a59d4 100644 --- a/bacula/autoconf/configure.in +++ b/bacula/autoconf/configure.in @@ -1,4 +1,4 @@ -dnl# +lal# dnl# dnl# Process this file with autoconf to produce a configure script. dnl# @@ -1662,8 +1662,9 @@ AC_OUTPUT([autoconf/Make.common \ src/findlib/Makefile \ src/tools/Makefile \ src/win32/winbacula.nsi \ - src/win32/bacula-fd.conf \ + src/win32/baculafd/bacula-fd.conf \ src/win32/Makefile \ + src/win32/console/bconsole.conf.in \ $PFILES ], [(echo "Doing make of dependencies"; make depend;) ] ) diff --git a/bacula/configure b/bacula/configure index 9c953a7951..217ad1b53a 100755 --- a/bacula/configure +++ b/bacula/configure @@ -18186,7 +18186,7 @@ if test "x${subsysdir}" = "x${sbindir}" ; then exit 1 fi - ac_config_files="$ac_config_files autoconf/Make.common Makefile rescue/Makefile rescue/linux/Makefile rescue/freebsd/Makefile rescue/solaris/Makefile scripts/startmysql scripts/stopmysql scripts/btraceback scripts/startit scripts/stopit scripts/bconsole scripts/gconsole scripts/bacula scripts/devel_bacula scripts/fd scripts/Makefile scripts/logrotate scripts/bacula.desktop.gnome1 scripts/bacula.desktop.gnome2 scripts/bacula.desktop.gnome1.consolehelper scripts/bacula.desktop.gnome2.consolehelper scripts/bacula.desktop.gnome1.xsu scripts/bacula.desktop.gnome2.xsu scripts/gnome-console.console_apps scripts/mtx-changer doc/Makefile src/Makefile src/host.h src/console/Makefile src/console/bconsole.conf src/gnome-console/Makefile src/gnome-console/gnome-console.conf src/gnome2-console/Makefile src/gnome2-console/gnome-console.conf src/wx-console/Makefile src/wx-console/wx-console.conf src/dird/Makefile src/dird/bacula-dir.conf src/lib/Makefile src/stored/Makefile src/stored/bacula-sd.conf src/filed/Makefile src/filed/bacula-fd.conf src/filed/win32/Makefile src/cats/Makefile src/cats/make_catalog_backup src/cats/delete_catalog_backup src/cats/create_postgresql_database src/cats/update_postgresql_tables src/cats/make_postgresql_tables src/cats/grant_postgresql_privileges src/cats/drop_postgresql_tables src/cats/drop_postgresql_database src/cats/create_mysql_database src/cats/update_mysql_tables src/cats/make_mysql_tables src/cats/grant_mysql_privileges src/cats/drop_mysql_tables src/cats/drop_mysql_database src/cats/create_sqlite_database src/cats/update_sqlite_tables src/cats/make_sqlite_tables src/cats/grant_sqlite_privileges src/cats/drop_sqlite_tables src/cats/drop_sqlite_database src/cats/sqlite src/cats/mysql src/cats/create_bdb_database src/cats/update_bdb_tables src/cats/make_bdb_tables src/cats/grant_bdb_privileges src/cats/drop_bdb_tables src/cats/drop_bdb_database src/cats/create_bacula_database src/cats/update_bacula_tables src/cats/grant_bacula_privileges src/cats/make_bacula_tables src/cats/drop_bacula_tables src/cats/drop_bacula_database src/findlib/Makefile src/tools/Makefile src/win32/winbacula.nsi src/win32/bacula-fd.conf src/win32/Makefile $PFILES" + ac_config_files="$ac_config_files autoconf/Make.common Makefile rescue/Makefile rescue/linux/Makefile rescue/freebsd/Makefile rescue/solaris/Makefile scripts/startmysql scripts/stopmysql scripts/btraceback scripts/startit scripts/stopit scripts/bconsole scripts/gconsole scripts/bacula scripts/devel_bacula scripts/fd scripts/Makefile scripts/logrotate scripts/bacula.desktop.gnome1 scripts/bacula.desktop.gnome2 scripts/bacula.desktop.gnome1.consolehelper scripts/bacula.desktop.gnome2.consolehelper scripts/bacula.desktop.gnome1.xsu scripts/bacula.desktop.gnome2.xsu scripts/gnome-console.console_apps scripts/mtx-changer doc/Makefile src/Makefile src/host.h src/console/Makefile src/console/bconsole.conf src/gnome-console/Makefile src/gnome-console/gnome-console.conf src/gnome2-console/Makefile src/gnome2-console/gnome-console.conf src/wx-console/Makefile src/wx-console/wx-console.conf src/dird/Makefile src/dird/bacula-dir.conf src/lib/Makefile src/stored/Makefile src/stored/bacula-sd.conf src/filed/Makefile src/filed/bacula-fd.conf src/filed/win32/Makefile src/cats/Makefile src/cats/make_catalog_backup src/cats/delete_catalog_backup src/cats/create_postgresql_database src/cats/update_postgresql_tables src/cats/make_postgresql_tables src/cats/grant_postgresql_privileges src/cats/drop_postgresql_tables src/cats/drop_postgresql_database src/cats/create_mysql_database src/cats/update_mysql_tables src/cats/make_mysql_tables src/cats/grant_mysql_privileges src/cats/drop_mysql_tables src/cats/drop_mysql_database src/cats/create_sqlite_database src/cats/update_sqlite_tables src/cats/make_sqlite_tables src/cats/grant_sqlite_privileges src/cats/drop_sqlite_tables src/cats/drop_sqlite_database src/cats/sqlite src/cats/mysql src/cats/create_bdb_database src/cats/update_bdb_tables src/cats/make_bdb_tables src/cats/grant_bdb_privileges src/cats/drop_bdb_tables src/cats/drop_bdb_database src/cats/create_bacula_database src/cats/update_bacula_tables src/cats/grant_bacula_privileges src/cats/make_bacula_tables src/cats/drop_bacula_tables src/cats/drop_bacula_database src/findlib/Makefile src/tools/Makefile src/win32/winbacula.nsi src/win32/baculafd/bacula-fd.conf src/win32/Makefile src/win32/console/bconsole.conf.in $PFILES" ac_config_commands="$ac_config_commands default" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -18798,8 +18798,9 @@ do "src/findlib/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/findlib/Makefile" ;; "src/tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tools/Makefile" ;; "src/win32/winbacula.nsi" ) CONFIG_FILES="$CONFIG_FILES src/win32/winbacula.nsi" ;; - "src/win32/bacula-fd.conf" ) CONFIG_FILES="$CONFIG_FILES src/win32/bacula-fd.conf" ;; + "src/win32/baculafd/bacula-fd.conf" ) CONFIG_FILES="$CONFIG_FILES src/win32/baculafd/bacula-fd.conf" ;; "src/win32/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/win32/Makefile" ;; + "src/win32/console/bconsole.conf.in" ) CONFIG_FILES="$CONFIG_FILES src/win32/console/bconsole.conf.in" ;; "$PFILES" ) CONFIG_FILES="$CONFIG_FILES $PFILES" ;; "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; "src/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/config.h:autoconf/config.h.in" ;; diff --git a/bacula/src/console/console.c b/bacula/src/console/console.c index 2116aae673..d3f0fcd4e0 100644 --- a/bacula/src/console/console.c +++ b/bacula/src/console/console.c @@ -44,7 +44,7 @@ #ifdef HAVE_WIN32 #include -#define isatty(fd) (fd==1) +#define isatty(fd) (fd==0) DWORD g_platform_id = VER_PLATFORM_WIN32_WINDOWS; #endif @@ -381,6 +381,10 @@ Without that I don't how to speak to the Director :-(\n"), configfile); memset(&jcr, 0, sizeof(jcr)); +#ifdef HAVE_WIN32 + WSA_Init(); /* Initialize Windows sockets */ +#endif + if (ndir > 1) { struct sockaddr_in client_addr; memset(&client_addr, 0, sizeof(client_addr)); @@ -519,6 +523,9 @@ wait_for_data(int fd, int sec) { fd_set fdset; struct timeval tv; +#ifdef HAVE_WIN32 + return 1; /* select doesn't seem to work on Win32 */ +#endif tv.tv_sec = sec; tv.tv_usec = 0; @@ -731,6 +738,8 @@ void sendit(char *buf) if (tee) { fputs(buf, stdout); } - fflush(stdout); + if (output == stdout || tee) { + fflush(stdout); + } #endif } diff --git a/bacula/src/console/console_conf.c b/bacula/src/console/console_conf.c index 48e460b581..1fade95c5f 100644 --- a/bacula/src/console/console_conf.c +++ b/bacula/src/console/console_conf.c @@ -56,8 +56,15 @@ int r_last = R_LAST; * then move it to allocated memory when the resource * scan is complete. */ +#if defined(HAVE_WIN32) && !defined(HAVE_CYGWIN) && !defined(HAVE_MINGW) +extern "C" { // work around visual compiler mangling variables + URES res_all; + int res_all_size = sizeof(res_all); +} +#else URES res_all; int res_all_size = sizeof(res_all); +#endif /* Definition of records permitted within each * resource with the routine to process the record diff --git a/bacula/src/lib/message.c b/bacula/src/lib/message.c index f974268749..697fc59220 100755 --- a/bacula/src/lib/message.c +++ b/bacula/src/lib/message.c @@ -31,9 +31,11 @@ #include "bacula.h" #include "jcr.h" +#if !define(HAVE_CONSOLE) #if defined(HAVE_CYGWIN) || defined(HAVE_WIN32) #include #endif +#endif #define FULL_LOCATION 1 /* set for file:line in Debug messages */ @@ -560,8 +562,10 @@ void dispatch_message(JCR *jcr, int type, int level, char *msg) if (type == M_ABORT || type == M_ERROR_TERM) { fputs(msg, stdout); /* print this here to INSURE that it is printed */ fflush(stdout); +#if !defined(HAVE_CONSOLE) #if defined(HAVE_CYGWIN) || defined(HAVE_WIN32) MessageBox(NULL, msg, "Bacula", MB_OK); +#endif #endif } diff --git a/bacula/src/win32/baculafd/bacula-fd.conf.in b/bacula/src/win32/baculafd/bacula-fd.conf.in new file mode 100755 index 0000000000..a73011ae7f --- /dev/null +++ b/bacula/src/win32/baculafd/bacula-fd.conf.in @@ -0,0 +1,32 @@ +# +# Default Bacula File Daemon Configuration file +# +# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@ @DISTVER@ +# +# There is not much to change here except perhaps the +# File daemon Name to +# + +# +# List Directors who are permitted to contact this File daemon +# +Director { + Name = @hostname@-dir + Password = "@fd_password@" +} + +# +# "Global" File daemon configuration specifications +# +FileDaemon { # this is me + Name = @hostname@-fd + FDport = @fd_port@ # where we listen for the director + WorkingDirectory = @working_dir@ + Pid Directory = @piddir@ +} + +# Send all messages except skipped files back to Director +Messages { + Name = Standard + director = @hostname@-dir = all, !skipped +} diff --git a/bacula/src/win32/console/Makefile b/bacula/src/win32/console/Makefile new file mode 100644 index 0000000000..226c8ac838 --- /dev/null +++ b/bacula/src/win32/console/Makefile @@ -0,0 +1,24 @@ +# +# Makefile to build the native Win32 console +# VC++ and tools must be on your path +# +# Kern Sibbald, April 2004 +# + +NMAKE=nmake + +first_rule: all + +dummy: + +all: console + + +console: + (env MAKEFLAGS= ${NMAKE} CFG="console - Win32 Release" /f console.mak) + + +clean: + rm -rf Debug/*.obj Release/*.obj + +distclean: clean diff --git a/bacula/src/win32/console/bconsole.conf.in b/bacula/src/win32/console/bconsole.conf.in new file mode 100755 index 0000000000..010797b8c0 --- /dev/null +++ b/bacula/src/win32/console/bconsole.conf.in @@ -0,0 +1,10 @@ +# +# 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.dsp b/bacula/src/win32/console/console.dsp index fbd4eaf986..e9c899339a 100644 --- a/bacula/src/win32/console/console.dsp +++ b/bacula/src/win32/console/console.dsp @@ -35,21 +35,22 @@ RSC=rc.exe # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" -# PROP Use_MFC 0 +# PROP Use_MFC 2 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c -# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MD /W3 /GX /I "../compat" /I "../.." /I "../../../../depkgs-win32/pthreads" /I "." /D "_DEBUG" /D "HAVE_CONSOLE" /D "_WINMAIN_" /D "PTW32_BUILD" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_WIN32" /D "_AFXDLL" /FD /I /GZ /c # ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 wsock32.lib pthreadVCE.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"Release/bconsole.exe" /libpath:"../../../../depkgs-win32/pthreads" !ELSEIF "$(CFG)" == "console - Win32 Debug" @@ -65,7 +66,8 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../compat" /I "../.." /I "../../../../depkgs-win32/pthreads" /I "." /D "_DEBUG" /D "_WINMAIN_" /D "PTW32_BUILD" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_WIN32" /D "_AFXDLL" /FR /FD /I /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../compat" /I "../.." /I "../../../../depkgs-win32/pthreads" /I "." /D "_DEBUG" /D "HAVE_CONSOLE" /D "_WINMAIN_" /D "PTW32_BUILD" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_WIN32" /D "_AFXDLL" /FD /I /GZ /c +# SUBTRACT CPP /Fr # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL" BSC32=bscmake.exe @@ -73,7 +75,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 wsock32.lib pthreadVCE.lib /nologo /subsystem:windows /pdb:none /debug /machine:I386 /out:"Debug/bconsole.exe" /libpath:"../../../../depkgs-win32/pthreads" +# ADD LINK32 wsock32.lib pthreadVCE.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /out:"Debug/bconsole.exe" /libpath:"../../../../depkgs-win32/pthreads" !ENDIF diff --git a/bacula/src/win32/console/console.mak b/bacula/src/win32/console/console.mak new file mode 100644 index 0000000000..a2aae0c0e3 --- /dev/null +++ b/bacula/src/win32/console/console.mak @@ -0,0 +1,488 @@ +# Microsoft Developer Studio Generated NMAKE File, Based on console.dsp +!IF "$(CFG)" == "" +CFG=console - Win32 Debug +!MESSAGE No configuration specified. Defaulting to console - Win32 Debug. +!ENDIF + +!IF "$(CFG)" != "console - Win32 Release" && "$(CFG)" != "console - Win32 Debug" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "console.mak" CFG="console - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "console - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "console - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE +!ERROR An invalid configuration is specified. +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF + +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "console - Win32 Release" + +OUTDIR=.\Release +INTDIR=.\Release +# Begin Custom Macros +OutDir=.\Release +# End Custom Macros + +ALL : "$(OUTDIR)\bconsole.exe" "$(OUTDIR)\console.pch" + + +CLEAN : + -@erase "$(INTDIR)\alist.obj" + -@erase "$(INTDIR)\authenticate.obj" + -@erase "$(INTDIR)\base64.obj" + -@erase "$(INTDIR)\bnet.obj" + -@erase "$(INTDIR)\bsys.obj" + -@erase "$(INTDIR)\btime.obj" + -@erase "$(INTDIR)\compat.obj" + -@erase "$(INTDIR)\console.obj" + -@erase "$(INTDIR)\console.pch" + -@erase "$(INTDIR)\console_conf.obj" + -@erase "$(INTDIR)\cram-md5.obj" + -@erase "$(INTDIR)\crc32.obj" + -@erase "$(INTDIR)\dlist.obj" + -@erase "$(INTDIR)\edit.obj" + -@erase "$(INTDIR)\getopt.obj" + -@erase "$(INTDIR)\hmac.obj" + -@erase "$(INTDIR)\idcache.obj" + -@erase "$(INTDIR)\jcr.obj" + -@erase "$(INTDIR)\lex.obj" + -@erase "$(INTDIR)\md5.obj" + -@erase "$(INTDIR)\mem_pool.obj" + -@erase "$(INTDIR)\message.obj" + -@erase "$(INTDIR)\parse_conf.obj" + -@erase "$(INTDIR)\print.obj" + -@erase "$(INTDIR)\queue.obj" + -@erase "$(INTDIR)\rwlock.obj" + -@erase "$(INTDIR)\scan.obj" + -@erase "$(INTDIR)\serial.obj" + -@erase "$(INTDIR)\sha1.obj" + -@erase "$(INTDIR)\smartall.obj" + -@erase "$(INTDIR)\StdAfx.obj" + -@erase "$(INTDIR)\timers.obj" + -@erase "$(INTDIR)\util.obj" + -@erase "$(INTDIR)\vc60.idb" + -@erase "$(INTDIR)\watchdog.obj" + -@erase "$(OUTDIR)\bconsole.exe" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +CPP_PROJ=/nologo /MD /W3 /GX /I "../compat" /I "../.." /I "../../../../depkgs-win32/pthreads" /I "." /D "_DEBUG" /D "HAVE_CONSOLE" /D "_WINMAIN_" /D "PTW32_BUILD" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_WIN32" /D "_AFXDLL" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /I /GZ /c +BSC32=bscmake.exe +BSC32_FLAGS=/nologo /o"$(OUTDIR)\console.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +LINK32_FLAGS=wsock32.lib pthreadVCE.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"$(OUTDIR)\bconsole.exe" /libpath:"../../../../depkgs-win32/pthreads" +LINK32_OBJS= \ + "$(INTDIR)\alist.obj" \ + "$(INTDIR)\authenticate.obj" \ + "$(INTDIR)\base64.obj" \ + "$(INTDIR)\bnet.obj" \ + "$(INTDIR)\bsys.obj" \ + "$(INTDIR)\btime.obj" \ + "$(INTDIR)\compat.obj" \ + "$(INTDIR)\console.obj" \ + "$(INTDIR)\console_conf.obj" \ + "$(INTDIR)\cram-md5.obj" \ + "$(INTDIR)\crc32.obj" \ + "$(INTDIR)\dlist.obj" \ + "$(INTDIR)\edit.obj" \ + "$(INTDIR)\getopt.obj" \ + "$(INTDIR)\hmac.obj" \ + "$(INTDIR)\idcache.obj" \ + "$(INTDIR)\jcr.obj" \ + "$(INTDIR)\lex.obj" \ + "$(INTDIR)\md5.obj" \ + "$(INTDIR)\mem_pool.obj" \ + "$(INTDIR)\message.obj" \ + "$(INTDIR)\parse_conf.obj" \ + "$(INTDIR)\print.obj" \ + "$(INTDIR)\queue.obj" \ + "$(INTDIR)\rwlock.obj" \ + "$(INTDIR)\scan.obj" \ + "$(INTDIR)\serial.obj" \ + "$(INTDIR)\sha1.obj" \ + "$(INTDIR)\smartall.obj" \ + "$(INTDIR)\StdAfx.obj" \ + "$(INTDIR)\timers.obj" \ + "$(INTDIR)\util.obj" \ + "$(INTDIR)\watchdog.obj" + +"$(OUTDIR)\bconsole.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +!ELSEIF "$(CFG)" == "console - Win32 Debug" + +OUTDIR=.\Debug +INTDIR=.\Debug +# Begin Custom Macros +OutDir=.\Debug +# End Custom Macros + +ALL : "$(OUTDIR)\bconsole.exe" "$(OUTDIR)\console.pch" + + +CLEAN : + -@erase "$(INTDIR)\alist.obj" + -@erase "$(INTDIR)\authenticate.obj" + -@erase "$(INTDIR)\base64.obj" + -@erase "$(INTDIR)\bnet.obj" + -@erase "$(INTDIR)\bsys.obj" + -@erase "$(INTDIR)\btime.obj" + -@erase "$(INTDIR)\compat.obj" + -@erase "$(INTDIR)\console.obj" + -@erase "$(INTDIR)\console.pch" + -@erase "$(INTDIR)\console_conf.obj" + -@erase "$(INTDIR)\cram-md5.obj" + -@erase "$(INTDIR)\crc32.obj" + -@erase "$(INTDIR)\dlist.obj" + -@erase "$(INTDIR)\edit.obj" + -@erase "$(INTDIR)\getopt.obj" + -@erase "$(INTDIR)\hmac.obj" + -@erase "$(INTDIR)\idcache.obj" + -@erase "$(INTDIR)\jcr.obj" + -@erase "$(INTDIR)\lex.obj" + -@erase "$(INTDIR)\md5.obj" + -@erase "$(INTDIR)\mem_pool.obj" + -@erase "$(INTDIR)\message.obj" + -@erase "$(INTDIR)\parse_conf.obj" + -@erase "$(INTDIR)\print.obj" + -@erase "$(INTDIR)\queue.obj" + -@erase "$(INTDIR)\rwlock.obj" + -@erase "$(INTDIR)\scan.obj" + -@erase "$(INTDIR)\serial.obj" + -@erase "$(INTDIR)\sha1.obj" + -@erase "$(INTDIR)\smartall.obj" + -@erase "$(INTDIR)\StdAfx.obj" + -@erase "$(INTDIR)\timers.obj" + -@erase "$(INTDIR)\util.obj" + -@erase "$(INTDIR)\vc60.idb" + -@erase "$(INTDIR)\vc60.pdb" + -@erase "$(INTDIR)\watchdog.obj" + -@erase "$(OUTDIR)\bconsole.exe" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "../compat" /I "../.." /I "../../../../depkgs-win32/pthreads" /I "." /D "_DEBUG" /D "HAVE_CONSOLE" /D "_WINMAIN_" /D "PTW32_BUILD" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_WIN32" /D "_AFXDLL" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /I /GZ /c +BSC32=bscmake.exe +BSC32_FLAGS=/nologo /o"$(OUTDIR)\console.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +LINK32_FLAGS=wsock32.lib pthreadVCE.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /out:"$(OUTDIR)\bconsole.exe" /libpath:"../../../../depkgs-win32/pthreads" +LINK32_OBJS= \ + "$(INTDIR)\alist.obj" \ + "$(INTDIR)\authenticate.obj" \ + "$(INTDIR)\base64.obj" \ + "$(INTDIR)\bnet.obj" \ + "$(INTDIR)\bsys.obj" \ + "$(INTDIR)\btime.obj" \ + "$(INTDIR)\compat.obj" \ + "$(INTDIR)\console.obj" \ + "$(INTDIR)\console_conf.obj" \ + "$(INTDIR)\cram-md5.obj" \ + "$(INTDIR)\crc32.obj" \ + "$(INTDIR)\dlist.obj" \ + "$(INTDIR)\edit.obj" \ + "$(INTDIR)\getopt.obj" \ + "$(INTDIR)\hmac.obj" \ + "$(INTDIR)\idcache.obj" \ + "$(INTDIR)\jcr.obj" \ + "$(INTDIR)\lex.obj" \ + "$(INTDIR)\md5.obj" \ + "$(INTDIR)\mem_pool.obj" \ + "$(INTDIR)\message.obj" \ + "$(INTDIR)\parse_conf.obj" \ + "$(INTDIR)\print.obj" \ + "$(INTDIR)\queue.obj" \ + "$(INTDIR)\rwlock.obj" \ + "$(INTDIR)\scan.obj" \ + "$(INTDIR)\serial.obj" \ + "$(INTDIR)\sha1.obj" \ + "$(INTDIR)\smartall.obj" \ + "$(INTDIR)\StdAfx.obj" \ + "$(INTDIR)\timers.obj" \ + "$(INTDIR)\util.obj" \ + "$(INTDIR)\watchdog.obj" + +"$(OUTDIR)\bconsole.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +!ENDIF + +.c{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.c{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + + +!IF "$(NO_EXTERNAL_DEPS)" != "1" +!IF EXISTS("console.dep") +!INCLUDE "console.dep" +!ELSE +!MESSAGE Warning: cannot find "console.dep" +!ENDIF +!ENDIF + + +!IF "$(CFG)" == "console - Win32 Release" || "$(CFG)" == "console - Win32 Debug" +SOURCE=..\lib\alist.cpp + +"$(INTDIR)\alist.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=.\authenticate.cpp + +"$(INTDIR)\authenticate.obj" : $(SOURCE) "$(INTDIR)" + + +SOURCE=..\lib\base64.cpp + +"$(INTDIR)\base64.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\bnet.cpp + +"$(INTDIR)\bnet.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\bsys.cpp + +"$(INTDIR)\bsys.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\btime.cpp + +"$(INTDIR)\btime.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\compat\compat.cpp + +"$(INTDIR)\compat.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=.\console.cpp + +"$(INTDIR)\console.obj" : $(SOURCE) "$(INTDIR)" + + +SOURCE=.\console_conf.cpp + +"$(INTDIR)\console_conf.obj" : $(SOURCE) "$(INTDIR)" + + +SOURCE="..\lib\cram-md5.cpp" + +"$(INTDIR)\cram-md5.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\crc32.cpp + +"$(INTDIR)\crc32.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\dlist.cpp + +"$(INTDIR)\dlist.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\edit.cpp + +"$(INTDIR)\edit.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\compat\getopt.c + +"$(INTDIR)\getopt.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\hmac.cpp + +"$(INTDIR)\hmac.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\idcache.cpp + +"$(INTDIR)\idcache.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\jcr.cpp + +"$(INTDIR)\jcr.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\lex.cpp + +"$(INTDIR)\lex.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\md5.cpp + +"$(INTDIR)\md5.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\mem_pool.cpp + +"$(INTDIR)\mem_pool.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\message.cpp + +"$(INTDIR)\message.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\parse_conf.cpp + +"$(INTDIR)\parse_conf.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\compat\print.cpp + +"$(INTDIR)\print.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\queue.cpp + +"$(INTDIR)\queue.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\rwlock.cpp + +"$(INTDIR)\rwlock.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\scan.cpp + +"$(INTDIR)\scan.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\serial.cpp + +"$(INTDIR)\serial.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\sha1.cpp + +"$(INTDIR)\sha1.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\smartall.cpp + +"$(INTDIR)\smartall.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=.\StdAfx.cpp + +!IF "$(CFG)" == "console - Win32 Release" + +CPP_SWITCHES=/nologo /MD /W3 /GX /I "../compat" /I "../.." /I "../../../../depkgs-win32/pthreads" /I "." /D "_DEBUG" /D "HAVE_CONSOLE" /D "_WINMAIN_" /D "PTW32_BUILD" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_WIN32" /D "_AFXDLL" /Fp"$(INTDIR)\console.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /I /GZ /c + +"$(INTDIR)\StdAfx.obj" "$(INTDIR)\console.pch" : $(SOURCE) "$(INTDIR)" + $(CPP) @<< + $(CPP_SWITCHES) $(SOURCE) +<< + + +!ELSEIF "$(CFG)" == "console - Win32 Debug" + +CPP_SWITCHES=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "../compat" /I "../.." /I "../../../../depkgs-win32/pthreads" /I "." /D "_DEBUG" /D "HAVE_CONSOLE" /D "_WINMAIN_" /D "PTW32_BUILD" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "HAVE_WIN32" /D "_AFXDLL" /Fp"$(INTDIR)\console.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /I /GZ /c + +"$(INTDIR)\StdAfx.obj" "$(INTDIR)\console.pch" : $(SOURCE) "$(INTDIR)" + $(CPP) @<< + $(CPP_SWITCHES) $(SOURCE) +<< + + +!ENDIF + +SOURCE=..\lib\timers.cpp + +"$(INTDIR)\timers.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\util.cpp + +"$(INTDIR)\util.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\lib\watchdog.cpp + +"$(INTDIR)\watchdog.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + + +!ENDIF + diff --git a/bacula/src/win32/winbacula.nsi.in b/bacula/src/win32/winbacula.nsi.in index 66f022359f..e80ffcf145 100755 --- a/bacula/src/win32/winbacula.nsi.in +++ b/bacula/src/win32/winbacula.nsi.in @@ -148,7 +148,19 @@ Section "Bacula File Service" SecService Start: Exec '"$INSTDIR\bin\bacula-fd.exe" -c "$INSTDIR\bin\bacula-fd.conf"' NoStart: +SectionEnd +Section "Install Console" SecConsole + SetOutPath "$INSTDIR\bin" + File console\Release\bconsole.exe + IfFileExists "$INSTDIR\bin\bconsole.conf" newconf + File console\bconsole.conf + goto do_next + newconf: + File /oname=bconsole.conf.new console\bconsole.conf + + ; If /service was given jump to the service install part + do_next: SectionEnd @@ -165,10 +177,12 @@ SectionEnd ; LangString DESC_SecService ${LANG_ENGLISH} "Install Bacula client on this system." + LangString DESC_SecConsole ${LANG_ENGLISH} "Install Console program on this system." LangString DESC_SecDoc ${LANG_ENGLISH} "Install Documenation on this system." !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecService} $(DESC_SecService) + !insertmacro MUI_DESCRIPTION_TEXT ${SecConsole} $(DESC_SecConsole) !insertmacro MUI_DESCRIPTION_TEXT ${SecDoc} $(DESC_SecDoc) !insertmacro MUI_FUNCTION_DESCRIPTION_END @@ -198,6 +212,7 @@ Section "Uninstall" Delete /REBOOTOK "$INSTDIR\bin\*.*" Delete /REBOOTOK "$INSTDIR\doc\*.*" CopyFiles /SILENT "$INSTDIR\bacula-fd.conf" "$INSTDIR\bin\bacula-fd.conf" + CopyFiles /SILENT "$INSTDIR\bconsole.conf" "$INSTDIR\bin\bconsole.conf" Delete /REBOOTOK "$INSTDIR\bacula-fd.conf" Delete /REBOOTOK "$INSTDIR\Uninstall.exe"