From 366a3a5141eefb75f26621ab6ba2969ad8d42f6e Mon Sep 17 00:00:00 2001 From: Nathan Bryant Date: Wed, 3 Feb 1999 04:10:37 +0000 Subject: [PATCH 1/1] Fixes for Cygwin (see ChangeLog) --- citadel/ChangeLog | 8 ++++++++ citadel/Makefile.in | 8 +++++--- citadel/citadel.c | 4 ++++ citadel/citserver.c | 3 +++ citadel/client_chat.c | 4 ++++ citadel/commands.c | 4 ++++ citadel/configure.in | 8 ++++++-- citadel/control.c | 3 +++ citadel/database.c | 5 +++++ citadel/dynloader.c | 3 +++ citadel/file_ops.c | 3 +++ citadel/housekeeping.c | 3 +++ citadel/ipc_c_tcp.c | 4 ++++ citadel/locate_host.c | 4 +++- citadel/logging.c | 3 +++ citadel/messages.c | 5 +++++ citadel/mime_parser.c | 3 +++ citadel/msgbase.c | 3 +++ citadel/policy.c | 3 +++ citadel/room_ops.c | 3 +++ citadel/rooms.c | 11 ++++++++++- citadel/routines2.c | 5 +++++ citadel/serv_chat.c | 3 +++ citadel/serv_expire.c | 3 +++ citadel/serv_test.c | 3 +++ citadel/serv_upgrade.c | 3 +++ citadel/support.c | 3 +++ citadel/sysdep.c | 3 +++ citadel/user_ops.c | 4 +++- 29 files changed, 114 insertions(+), 8 deletions(-) diff --git a/citadel/ChangeLog b/citadel/ChangeLog index afcac1905..096fad2bf 100644 --- a/citadel/ChangeLog +++ b/citadel/ChangeLog @@ -1,3 +1,11 @@ +1998-02-02 Nathan Bryant + * Fixes for Cygwin: + - ifdef out file download methods that require named pipes (client) + - include pthread.h and gdbm.h only if they are present (fixes + auto dependency generation) + - include snprintf.h where needed + - handle .exe suffixes for "make install" + Tue Feb 2 22:15:08 EST 1999 Art Cancro * Overhauled the express messaging system (again) diff --git a/citadel/Makefile.in b/citadel/Makefile.in index be239d27c..9fc262fda 100644 --- a/citadel/Makefile.in +++ b/citadel/Makefile.in @@ -18,7 +18,9 @@ all: $(TARGETS) .SUFFIXES: .ro .mo .d -CLIENT_TARGETS=citadel whobbs +SUFFIX=@SUFFIX@ + +CLIENT_TARGETS=citadel$(SUFFIX) whobbs$(SUFFIX) SERVER_TARGETS=citserver setup SERV_MODULES=modules/serv_chat.so \ modules/serv_upgrade.so modules/serv_expire.so @@ -73,7 +75,7 @@ serv_modules: $(SERV_MODULES) # # -citadel: ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o messages.o \ +citadel$(SUFFIX): ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o messages.o \ commands.o client_chat.o serv_info.o tools.o $(SNPRINTF) $(CC) ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o messages.o \ commands.o client_chat.o serv_info.o tools.o $(SNPRINTF) $(LDFLAGS) \ @@ -154,7 +156,7 @@ netsetup: netsetup.o config.o proxy: proxy.o ipc_c_tcp.o $(CC) proxy.o ipc_c_tcp.o $(LDFLAGS) -o proxy -whobbs: whobbs.o ipc_c_tcp.o tools.o $(SNPRINTF) +whobbs$(SUFFIX): whobbs.o ipc_c_tcp.o tools.o $(SNPRINTF) $(CC) whobbs.o ipc_c_tcp.o tools.o $(SNPRINTF) $(LDFLAGS) -o whobbs sendcommand: sendcommand.o ipc_c_tcp.o tools.o config.o $(SNPRINTF) diff --git a/citadel/citadel.c b/citadel/citadel.c index 6d63f177b..cb20e18c4 100644 --- a/citadel/citadel.c +++ b/citadel/citadel.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "citadel.h" #include "axdefs.h" @@ -33,6 +34,9 @@ #include "client_chat.h" #include "citadel_decls.h" #include "tools.h" +#ifndef HAVE_SNPRINTF +#include "snprintf.h" +#endif struct march { struct march *next; diff --git a/citadel/citserver.c b/citadel/citserver.c index 9501ddbd4..99aa31e1a 100644 --- a/citadel/citserver.c +++ b/citadel/citserver.c @@ -1,4 +1,5 @@ /* $Id$ */ +#include "sysdep.h" #include #include #include @@ -9,7 +10,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include #include #include "citadel.h" diff --git a/citadel/client_chat.c b/citadel/client_chat.c index 69996df9c..e76f25766 100644 --- a/citadel/client_chat.c +++ b/citadel/client_chat.c @@ -22,6 +22,7 @@ #ifdef HAVE_SYS_SELECT_H #include #endif +#include #include "citadel.h" #include "client_chat.h" #include "commands.h" @@ -29,6 +30,9 @@ #include "ipc.h" #include "citadel_decls.h" #include "tools.h" +#ifndef HAVE_SNPRINTF +#include "snprintf.h" +#endif #define MIN(a, b) ((a) < (b) ? (a) : (b)) diff --git a/citadel/commands.c b/citadel/commands.c index 0a23f4bd6..e68c4436c 100644 --- a/citadel/commands.c +++ b/citadel/commands.c @@ -32,12 +32,16 @@ #include #include +#include #include "citadel.h" #include "commands.h" #include "messages.h" #include "citadel_decls.h" #include "routines.h" #include "routines2.h" +#ifndef HAVE_SNPRINTF +#include "snprintf.h" +#endif struct citcmd { struct citcmd *next; diff --git a/citadel/configure.in b/citadel/configure.in index cfec538fe..7033a6377 100644 --- a/citadel/configure.in +++ b/citadel/configure.in @@ -26,6 +26,9 @@ case "$host" in SERVER_LDFLAGS=-pthread TARGETS="client server utils serv_modules" ;; + i?86-pc-cygwin32) + SUFFIX=.exe + ;; esac dnl Checks for programs. @@ -92,7 +95,7 @@ dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(curses.h fcntl.h limits.h termios.h strings.h sys/ioctl.h sys/select.h sys/time.h syslog.h unistd.h) +AC_CHECK_HEADERS(curses.h fcntl.h limits.h termios.h strings.h sys/ioctl.h sys/select.h sys/time.h syslog.h unistd.h pthread.h gdbm.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -106,7 +109,7 @@ AC_FUNC_GETPGRP AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL AC_FUNC_VPRINTF -AC_CHECK_FUNCS(snprintf mkdir mktime rmdir select socket strerror) +AC_CHECK_FUNCS(snprintf mkdir mkfifo mktime rmdir select socket strerror) dnl Tell the Makefile whether we need to use our snprintf() replacement. if test "$ac_cv_func_snprintf" = no; then @@ -119,5 +122,6 @@ AC_SUBST(TARGETS) AC_SUBST(SERVER_LDFLAGS) AC_SUBST(SNPRINTF) AC_SUBST(PICFLAGS) +AC_SUBST(SUFFIX) AC_CONFIG_HEADER(sysdep.h) AC_OUTPUT(Makefile weekly) diff --git a/citadel/control.c b/citadel/control.c index e69b42a41..2f8f37bc3 100644 --- a/citadel/control.c +++ b/citadel/control.c @@ -7,6 +7,7 @@ * */ +#include "sysdep.h" #include #include #include @@ -17,7 +18,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include #include "citadel.h" #include "server.h" diff --git a/citadel/database.c b/citadel/database.c index e67c6d373..1945f3663 100644 --- a/citadel/database.c +++ b/citadel/database.c @@ -15,6 +15,7 @@ * conditions to occur. (Deadlock is bad. Eliminate.) */ +#include "sysdep.h" #include #include #include @@ -22,8 +23,12 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif +#ifdef HAVE_GDBM_H #include +#endif #include "citadel.h" #include "server.h" #include "database.h" diff --git a/citadel/dynloader.c b/citadel/dynloader.c index e860fba37..dcfa4b8a0 100644 --- a/citadel/dynloader.c +++ b/citadel/dynloader.c @@ -9,6 +9,7 @@ ******************************************************/ +#include "sysdep.h" #include #include #include @@ -16,7 +17,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include #include "dynloader.h" #include "citadel.h" diff --git a/citadel/file_ops.c b/citadel/file_ops.c index e80876669..d38d4f272 100644 --- a/citadel/file_ops.c +++ b/citadel/file_ops.c @@ -1,4 +1,5 @@ /* $Id$ */ +#include "sysdep.h" #include #include #include @@ -9,7 +10,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include "config.h" diff --git a/citadel/housekeeping.c b/citadel/housekeeping.c index 84f4bea9c..a97ea4779 100644 --- a/citadel/housekeeping.c +++ b/citadel/housekeeping.c @@ -5,6 +5,7 @@ * $Id$ */ +#include "sysdep.h" #include #include #include @@ -13,7 +14,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include "citserver.h" diff --git a/citadel/ipc_c_tcp.c b/citadel/ipc_c_tcp.c index 7f98a833c..7f99b2464 100644 --- a/citadel/ipc_c_tcp.c +++ b/citadel/ipc_c_tcp.c @@ -24,9 +24,13 @@ #include #include #include +#include #include "citadel.h" #include "citadel_decls.h" #include "ipc.h" +#ifndef HAVE_SNPRINTF +#include "snprintf.h" +#endif /* * If server_is_local is set to nonzero, the client assumes that it is running diff --git a/citadel/locate_host.c b/citadel/locate_host.c index 9ca4e0e8c..9160c2d9a 100644 --- a/citadel/locate_host.c +++ b/citadel/locate_host.c @@ -3,6 +3,7 @@ * $Id$ */ +#include "sysdep.h" #include #include #include @@ -13,8 +14,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include -#include "sysdep.h" +#endif #include "citadel.h" #include "server.h" #include "locate_host.h" diff --git a/citadel/logging.c b/citadel/logging.c index f485d82fa..a90228765 100644 --- a/citadel/logging.c +++ b/citadel/logging.c @@ -3,6 +3,7 @@ * $Id$ */ +#include "sysdep.h" #include #include #include @@ -12,7 +13,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include #include "citadel.h" #include "server.h" diff --git a/citadel/messages.c b/citadel/messages.c index 7fd56a945..5d8e7c745 100644 --- a/citadel/messages.c +++ b/citadel/messages.c @@ -4,6 +4,7 @@ * $Id$ */ +#include "sysdep.h" #include #include #include @@ -16,11 +17,15 @@ #include #include #include +#include #include "citadel.h" #include "messages.h" #include "commands.h" #include "rooms.h" #include "tools.h" +#ifndef HAVE_SNPRINTF +#include "snprintf.h" +#endif #define MAXWORDBUF 256 #define MAXMSGS 512 diff --git a/citadel/mime_parser.c b/citadel/mime_parser.c index bbed98eef..9b35dc082 100644 --- a/citadel/mime_parser.c +++ b/citadel/mime_parser.c @@ -9,6 +9,7 @@ * */ +#include "sysdep.h" #include #include #include @@ -17,7 +18,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "mime_parser.h" #include "sysdep_decls.h" diff --git a/citadel/msgbase.c b/citadel/msgbase.c index 07a4b6d4b..30bef3025 100644 --- a/citadel/msgbase.c +++ b/citadel/msgbase.c @@ -1,4 +1,5 @@ /* $Id$ */ +#include "sysdep.h" #include #include #include @@ -7,7 +8,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include diff --git a/citadel/policy.c b/citadel/policy.c index 2b29ffe35..ad4aaf7d3 100644 --- a/citadel/policy.c +++ b/citadel/policy.c @@ -1,10 +1,13 @@ /* $Id$ */ +#include "sysdep.h" #include #include #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include #include #include "citadel.h" diff --git a/citadel/room_ops.c b/citadel/room_ops.c index 137e60db3..b1237e68a 100644 --- a/citadel/room_ops.c +++ b/citadel/room_ops.c @@ -1,10 +1,13 @@ /* $Id$ */ +#include "sysdep.h" #include #include #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include #include #include diff --git a/citadel/rooms.c b/citadel/rooms.c index 551add113..cee165013 100644 --- a/citadel/rooms.c +++ b/citadel/rooms.c @@ -1,6 +1,7 @@ /* Citadel/UX room-oriented routines */ /* $Id$ */ +#include "sysdep.h" #include #include #include @@ -12,10 +13,14 @@ #include #include #include +#include #include "citadel.h" #include "rooms.h" #include "commands.h" #include "tools.h" +#ifndef HAVE_SNPRINTF +#include "snprintf.h" +#endif #define IFNEXPERT if ((userflags&US_EXPERT)==0) @@ -595,9 +600,10 @@ void download_to_local_disk(char *filename, long total_bytes) void download(int proto) { char buf[256]; - char dbuf[4096]; char filename[256]; long total_bytes = 0L; +#ifdef HAVE_MKFIFO + char dbuf[4096]; long transmitted_bytes = 0L; long aa,bb; int a,b; @@ -605,6 +611,7 @@ void download(int proto) FILE *tpipe = NULL; int proto_pid; int broken = 0; +#endif if ((room_flags & QR_DOWNLOAD) == 0) { printf("*** You cannot download from this room.\n"); @@ -628,6 +635,7 @@ void download(int proto) return; } +#ifdef HAVE_MKFIFO /* Meta-download for public clients */ mkdir(tempdir,0700); snprintf(buf,sizeof buf,"%s/%s",tempdir,filename); @@ -708,6 +716,7 @@ void download(int proto) putc(7,stdout); exit(0); /* transfer control back to the main program */ +#endif } diff --git a/citadel/routines2.c b/citadel/routines2.c index 8519a918d..f9eec9250 100644 --- a/citadel/routines2.c +++ b/citadel/routines2.c @@ -3,6 +3,7 @@ * $Id$ */ +#include "sysdep.h" #include #include #include @@ -16,12 +17,16 @@ #include #include #include +#include #include "citadel.h" #include "routines2.h" #include "routines.h" #include "commands.h" #include "tools.h" #include "messages.h" +#ifndef HAVE_SNPRINTF +#include "snprintf.h" +#endif void interr(int errnum); void strprompt(char *prompt, char *str, int len); diff --git a/citadel/serv_chat.c b/citadel/serv_chat.c index 539bdc0ec..6f3c41efb 100644 --- a/citadel/serv_chat.c +++ b/citadel/serv_chat.c @@ -6,6 +6,7 @@ * * $Id$ */ +#include "sysdep.h" #include #include #include @@ -18,7 +19,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include diff --git a/citadel/serv_expire.c b/citadel/serv_expire.c index f098db9bc..e1293d6c4 100644 --- a/citadel/serv_expire.c +++ b/citadel/serv_expire.c @@ -23,6 +23,7 @@ */ +#include "sysdep.h" #include #include #include @@ -35,7 +36,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include diff --git a/citadel/serv_test.c b/citadel/serv_test.c index a9706e76c..ec20e4d39 100644 --- a/citadel/serv_test.c +++ b/citadel/serv_test.c @@ -1,4 +1,5 @@ /* $Id$ */ +#include "sysdep.h" #include #include #include @@ -11,7 +12,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include diff --git a/citadel/serv_upgrade.c b/citadel/serv_upgrade.c index 3f7f5e957..6deda7724 100644 --- a/citadel/serv_upgrade.c +++ b/citadel/serv_upgrade.c @@ -7,6 +7,7 @@ * $Id$ */ +#include "sysdep.h" #include #include #include @@ -19,7 +20,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include diff --git a/citadel/support.c b/citadel/support.c index 2ff3ba7fb..e9d04a078 100644 --- a/citadel/support.c +++ b/citadel/support.c @@ -1,10 +1,13 @@ /* $Id$ */ +#include "sysdep.h" #include #include #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include "support.h" diff --git a/citadel/sysdep.c b/citadel/sysdep.c index 0a0b18578..00e38735b 100644 --- a/citadel/sysdep.c +++ b/citadel/sysdep.c @@ -14,6 +14,7 @@ */ +#include "sysdep.h" #include #include #include @@ -32,7 +33,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include "sysdep_decls.h" diff --git a/citadel/user_ops.c b/citadel/user_ops.c index a308d8010..8f3357f41 100644 --- a/citadel/user_ops.c +++ b/citadel/user_ops.c @@ -9,6 +9,7 @@ #define _POSIX_C_SOURCE 199506L #endif +#include "sysdep.h" #include #include #include @@ -20,7 +21,9 @@ #include #include #include +#ifdef HAVE_PTHREAD_H #include +#endif #include "citadel.h" #include "server.h" #include "database.h" @@ -34,7 +37,6 @@ #include "msgbase.h" #include "config.h" #include "dynloader.h" -#include "sysdep.h" #include "tools.h" -- 2.39.2