+1998-02-02 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * 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 <ajc@uncnsrd.mt-kisco.ny.us>
* Overhauled the express messaging system (again)
.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
#
#
-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) \
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)
#include <signal.h>
#include <pwd.h>
#include <setjmp.h>
+#include <stdarg.h>
#include "citadel.h"
#include "axdefs.h"
#include "client_chat.h"
#include "citadel_decls.h"
#include "tools.h"
+#ifndef HAVE_SNPRINTF
+#include "snprintf.h"
+#endif
struct march {
struct march *next;
/* $Id$ */
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include <syslog.h>
#include <dlfcn.h>
#include "citadel.h"
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
+#include <stdarg.h>
#include "citadel.h"
#include "client_chat.h"
#include "commands.h"
#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))
#include <signal.h>
#include <errno.h>
+#include <stdarg.h>
#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;
SERVER_LDFLAGS=-pthread
TARGETS="client server utils serv_modules"
;;
+ i?86-pc-cygwin32)
+ SUFFIX=.exe
+ ;;
esac
dnl Checks for programs.
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
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
AC_SUBST(SERVER_LDFLAGS)
AC_SUBST(SNPRINTF)
AC_SUBST(PICFLAGS)
+AC_SUBST(SUFFIX)
AC_CONFIG_HEADER(sysdep.h)
AC_OUTPUT(Makefile weekly)
*
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include <syslog.h>
#include "citadel.h"
#include "server.h"
* conditions to occur. (Deadlock is bad. Eliminate.)
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <errno.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
+#ifdef HAVE_GDBM_H
#include <gdbm.h>
+#endif
#include "citadel.h"
#include "server.h"
#include "database.h"
******************************************************/
+#include "sysdep.h"
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
#include <dirent.h>
#include <strings.h>
#include <syslog.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include <limits.h>
#include "dynloader.h"
#include "citadel.h"
/* $Id$ */
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>
#include <time.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include "config.h"
* $Id$
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include "citserver.h"
#include <string.h>
#include <pwd.h>
#include <errno.h>
+#include <stdarg.h>
#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
* $Id$
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <limits.h>
#include <netdb.h>
#include <string.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
-#include "sysdep.h"
+#endif
#include "citadel.h"
#include "server.h"
#include "locate_host.h"
* $Id$
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <errno.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include <syslog.h>
#include "citadel.h"
#include "server.h"
* $Id$
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
#include <sys/wait.h>
#include <sys/stat.h>
+#include <stdarg.h>
#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
*
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <sys/stat.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "mime_parser.h"
#include "sysdep_decls.h"
/* $Id$ */
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <syslog.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include <errno.h>
/* $Id$ */
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>
#include <string.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include <time.h>
#include <limits.h>
#include "citadel.h"
/* $Id$ */
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>
#include <string.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include <time.h>
#include <limits.h>
#include <errno.h>
/* Citadel/UX room-oriented routines */
/* $Id$ */
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <errno.h>
+#include <stdarg.h>
#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)
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;
FILE *tpipe = NULL;
int proto_pid;
int broken = 0;
+#endif
if ((room_flags & QR_DOWNLOAD) == 0) {
printf("*** You cannot download from this room.\n");
return;
}
+#ifdef HAVE_MKFIFO
/* Meta-download for public clients */
mkdir(tempdir,0700);
snprintf(buf,sizeof buf,"%s/%s",tempdir,filename);
putc(7,stdout);
exit(0); /* transfer control back to the main program */
+#endif
}
* $Id$
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
#include <setjmp.h>
#include <errno.h>
+#include <stdarg.h>
#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);
*
* $Id$
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/wait.h>
#include <string.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include <syslog.h>
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/wait.h>
#include <string.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include <syslog.h>
/* $Id$ */
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/wait.h>
#include <string.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include <syslog.h>
* $Id$
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/wait.h>
#include <string.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include <syslog.h>
/* $Id$ */
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include "support.h"
*/
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <stdarg.h>
#include <syslog.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include "sysdep_decls.h"
#define _POSIX_C_SOURCE 199506L
#endif
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <syslog.h>
#include <limits.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include "citadel.h"
#include "server.h"
#include "database.h"
#include "msgbase.h"
#include "config.h"
#include "dynloader.h"
-#include "sysdep.h"
#include "tools.h"