/* example RCS compile-time configuration */ /* $Id: conf.heg,v 1.8 1991/11/20 18:21:09 eggert Exp $ */ /* * This example RCS compile-time configuration describes a host that conforms * to Standard C (1990) and Posix 1003.1-1990 and has GNU diff. * If you can't get conf.sh to work as described in the Makefile, * copy this file to conf.h and edit conf.h by hand; see README. */ #define exitmain(n) return n /* how to exit from main() */ /* #define _POSIX_SOURCE */ /* Define this if Posix + strict Standard C. */ #include #include #include /* Comment out #include lines below that do not work. */ #include #include #include "vmsdir.h" #include #include #include #include #include #include /* #include */ #include /* #include */ /* Define this if you are using Multinet NFS mounted rcs directories. */ /* They usually are called [.$RCS] and RCS usually uses ,v which ends */ /* up being $5LV. */ #define VMS_MULTINET /* Define the following symbols to be 1 or 0. */ #define has_sys_dir_h 0 /* Does #include work? */ #define has_sys_param_h 0 /* Does #include work? */ #define has_readlink 0 /* Does readlink() work? */ #define NAME_MAX 256 #define PATH_MAX 512 /* #undef NAME_MAX */ /* Uncomment this if NAME_MAX is broken. */ #if !defined(NAME_MAX) && !defined(_POSIX_NAME_MAX) # if has_sys_dir_h # include # endif # ifndef NAME_MAX # ifndef MAXNAMLEN # define MAXNAMLEN 14 # endif # define NAME_MAX MAXNAMLEN # endif #endif #if !defined(PATH_MAX) && !defined(_POSIX_PATH_MAX) # if has_sys_param_h # include # define included_sys_param_h 1 # endif # ifndef PATH_MAX # ifndef MAXPATHLEN # define MAXPATHLEN 1024 # endif # define PATH_MAX (MAXPATHLEN-1) # endif #endif #if has_readlink && !defined(MAXSYMLINKS) # if has_sys_param_h && !included_sys_param_h # include # endif # ifndef MAXSYMLINKS # define MAXSYMLINKS 20 /* BSD; not standard yet */ # endif #endif /* Comment out the keyword definitions below if the keywords work. */ /* #define const */ /* #define volatile */ /* Comment out the typedefs below if the types are already declared. */ /* Fix any uncommented typedefs that are wrong. */ typedef int mode_t; typedef int pid_t; /* typedef int sig_atomic_t; */ /* typedef unsigned size_t; */ typedef int ssize_t; /* typedef long time_t; */ typedef int uid_t; /* Define the following symbols to be 1 or 0. */ #define has_prototypes 1 /* Do function prototypes work? */ #define has_stdarg 1 /* Does work? */ #define has_varargs 0 /* Does work? */ #define va_start_args 2 /* How many args does va_start() take? */ #if has_prototypes # define P(params) params #else # define P(params) () #endif #if has_stdarg # include #else # if has_varargs # include # else typedef char *va_list; # define va_dcl int va_alist; # define va_start(ap) ((ap) = (va_list)&va_alist) # define va_arg(ap,t) (((t*) ((ap)+=sizeof(t))) [-1]) # define va_end(ap) # endif #endif #if va_start_args == 2 # define vararg_start va_start #else # define vararg_start(ap,p) va_start(ap) #endif #define text_equals_binary_stdio 1 /* Does stdio treat text like binary? */ #define text_work_stdio 0 /* Text i/o for working file, binary for RCS file? */ #if text_equals_binary_stdio /* Text and binary i/o behave the same, or binary i/o does not work. */ # define FOPEN_R "r" # define FOPEN_W "w" # define FOPEN_WPLUS "w+" #else /* Text and binary i/o behave differently. */ /* This is incompatible with Posix and Unix. */ # define FOPEN_R "rb" # define FOPEN_W "wb" # define FOPEN_WPLUS "w+b" #endif #if text_work_stdio # define FOPEN_R_WORK "r" # define FOPEN_W_WORK "w" # define FOPEN_WPLUS_WORK "w+" #else # define FOPEN_R_WORK FOPEN_R # define FOPEN_W_WORK FOPEN_W # define FOPEN_WPLUS_WORK FOPEN_WPLUS #endif /* Define or comment out the following symbols as needed. */ #define bad_fopen_wplus 0 /* Does fopen(f,FOPEN_WPLUS) fail to truncate f? */ #define getlogin_is_secure 0 /* Is getlogin() secure? Usually it's not. */ #define has_dirent 0 /* Do opendir(), readdir(), closedir() work? */ #define has_fchmod 0 /* Does fchmod() work? */ #define has_fputs 1 /* Does fputs() work? */ #define has_ftruncate 0 /* Does ftruncate() work? */ #define has_getuid 1 /* Does getuid() work? */ #define has_getpwuid 0 /* Does getpwuid() work? */ #define has_link 0 /* Does link() work? */ #define has_memcmp 1 /* Does memcmp() work? */ #define has_memcpy 1 /* Does memcpy() work? */ #define has_memmove 1 /* Does memmove() work? */ #define has_madvise 0 /* Does madvise() work? */ #define has_mmap 0 /* Does mmap() work on regular files? */ #define has_rename 1 /* Does rename() work? */ #define bad_a_rename 1 /* Does rename(A,B) fail if A is unwritable? */ #define bad_b_rename 1 /* Does rename(A,B) fail if B is unwritable? */ #define VOID (void) /* 'VOID e;' discards the value of an expression 'e'. */ #define has_seteuid 0 /* Does seteuid() work? See README. */ #define has_setuid 0 /* Does setuid() exist? */ #define has_signal 1 /* Does signal() work? */ #define signal_args P((int)) /* arguments of signal handlers */ #define signal_type int /* type returned by signal handlers */ #define sig_zaps_handler 1 /* Must a signal handler reinvoke signal()? */ #define has_sigaction 0 /* Does struct sigaction work? */ #define has_sigblock 1 /* Does sigblock() work? */ #define sigmask(s) (1 << ((s)-1)) /* Yield mask for signal number. */ #define has_sys_siglist 0 /* Does sys_siglist[] work? */ typedef ssize_t fread_type; /* type returned by fread() and fwrite() */ typedef size_t freadarg_type; /* type of their size arguments */ typedef void *malloc_type; /* type returned by malloc() */ #define has_getcwd 1 /* Does getcwd() work? */ #define has_getwd 0 /* Does getwd() work? */ #define has_mktemp 1 /* Does mktemp() work? */ #define has_NFS 0 /* Might NFS be used? */ /* #define strchr index */ /* Use old-fashioned name for strchr()? */ /* #define strrchr rindex */ /* Use old-fashioned name for strrchr()? */ #define bad_unlink 1 /* Does unlink() fail on unwritable files? */ #define has_vfork 1 /* Does vfork() work? */ #define has_fork 1 /* Does fork() work? */ #define has_spawn 0 /* Does spawn*() work? */ #define has_wait 1 /* Does wait() work? */ #define has_waitpid 0 /* Does waitpid() work? */ #define RCS_SHELL "" /* shell to run RCS subprograms */ #define has_vfprintf 1 /* Does vfprintf() work? */ #define has__doprintf 0 /* Does _doprintf() work? */ #define has__doprnt 0 /* Does _doprnt() work? */ /* #undef EXIT_FAILURE */ /* Uncomment this if EXIT_FAILURE is broken. */ #define large_memory 1 /* Can main memory hold entire RCS files? */ /* #undef ULONG_MAX */ /* Uncomment this if ULONG_MAX is broken (e.g. < 0). */ struct utimbuf { time_t actime, modtime; }; /* Uncomment this if needed. */ #define CO "rcs$dir:co" /* name of 'co' program */ #define COMPAT2 0 /* Are version 2 files supported? */ #define DATEFORM "%.2d.%.2d.%.2d.%.2d.%.2d.%.2d" /* e.g. 01.01.01.01.01.01 */ #define DIFF "rcs$dir:diff" /* name of 'diff' program */ #define DIFF3 "rcs$dir:diff3" /* name of 'diff3' program */ #define DIFF3_BIN 1 /* Is diff3 user-visible (not the /usr/lib auxiliary)? */ #define DIFF_FLAGS , "-an" /* Make diff output suitable for RCS. */ #define DIFF_L 1 /* Does diff -L work? */ #define DIFF_SUCCESS 1 /* DIFF status if no differences are found */ #define DIFF_FAILURE 3 /* DIFF status if differences are found */ #define DIFF_TROUBLE 2 /* DIFF status if trouble */ #define ED "" /* name of 'ed' program (used only if !DIFF3_BIN) */ #define MERGE "merge" /* name of 'merge' program */ #define TMPDIR "sys$scratch:" /* default directory for temporary files */ #define SLASH ']' /* principal pathname separator */ #define SLASHes ']' /* `case SLASHes:' labels all pathname separators */ #define isSLASH(c) ((c) == SLASH) /* Is arg a pathname separator? */ #define ROOTPATH(p) (strchr((p),']') != 0) /* Is p an absolute pathname? */ #ifdef VMS_MULTINET #define X_DEFAULT "$5lv]" /* default value for -x option */ #else #define X_DEFAULT "_v]" /* default value for -x option */ #endif #define DIFF_ABSOLUTE 1 /* Is ROOTPATH(DIFF) true? */ #define ALL_ABSOLUTE 1 /* Are all subprograms absolute pathnames? */ #define SENDMAIL "mail" /* how to send mail */ #define TZ_must_be_set 0 /* Must TZ be set for gmtime() to work? */ #define unlink remove /* Adjust the following declarations as needed. */ #if __GNUC__ && !__STRICT_ANSI__ # define exiting volatile /* GCC extension: function cannot return */ #else # define exiting #endif /* Posix (ISO/IEC 9945-1: 1990 / IEEE Std 1003.1-1990) */ /* These definitions are for the benefit of non-Posix hosts, and */ /* Posix hosts that have Standard C compilers but traditional include files. */ /* Unfortunately, mixed-up hosts are all too common. */ #ifndef O_BINARY /* some non-Posix hosts need O_BINARY */ # define O_BINARY 0 /* no effect on Posix */ #endif #ifdef O_CREAT # define open_can_creat 1 #else # define open_can_creat 0 # define O_RDONLY 0 # define O_WRONLY 1 # define O_RDWR 2 # define O_CREAT 01000 # define O_TRUNC 02000 int creat P((char const*,mode_t)); #endif #ifndef O_EXCL # define O_EXCL 0 #endif #ifndef S_IRUSR # ifdef S_IREAD # define S_IRUSR S_IREAD # else # define S_IRUSR 0400 # endif # ifdef S_IWRITE # define S_IWUSR S_IWRITE # else # define S_IWUSR (S_IRUSR/2) # endif #endif #ifndef S_IRGRP # if has_getuid # define S_IRGRP (S_IRUSR / 0010) # define S_IWGRP (S_IWUSR / 0010) # define S_IROTH (S_IRUSR / 0100) # define S_IWOTH (S_IWUSR / 0100) # else /* single user OS -- not Posix or Unix */ # define S_IRGRP 0 # define S_IWGRP 0 # define S_IROTH 0 # define S_IWOTH 0 # endif #endif #ifndef S_ISREG # define S_ISREG(n) (((n) & S_IFMT) == S_IFREG) #endif /* */ #ifndef WEXITSTATUS # define WEXITSTATUS(stat_val) (stat_val) # undef WIFEXITED /* Avoid 4.3BSD incompatibility with Posix. */ #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) 1 #endif /* */ #ifndef STDIN_FILENO # define STDIN_FILENO 0 # define STDOUT_FILENO 1 # define STDERR_FILENO 2 #endif # if ALL_ABSOLUTE # define exec_RCS execv # else # define exec_RCS execvp int execvp P((char const*,char*const*)); # endif /* Standard C library */ /* These definitions are for the benefit of hosts that have */ /* traditional C include files, possibly with Standard C compilers. */ /* Unfortunately, mixed-up hosts are all too common. */ /* */ #ifndef ULONG_MAX /* This does not work in #ifs, but it's good enough for us. */ # define ULONG_MAX ((unsigned long)-1) #endif /* */ #ifndef L_tmpnam # define L_tmpnam 32 /* power of 2 > sizeof("/usr/tmp/xxxxxxxxxxxxxxx") */ #endif #ifndef SEEK_SET # define SEEK_SET 0 #endif /* */ #undef EXIT_SUCCESS #undef EXIT_FAILURE #define EXIT_FAILURE 3 #define EXIT_SUCCESS 1 #define _exit(status) sys$exit(status)