/* config.h - OpenVMS/AXP specific configuration June 1995 - <email@example.com> */ /* The following macro are defined by running ./configure under UNIX OSs. */ #define PACKAGE_STRING "Concurrent Versions System (CVS) %PACKAGE_VERSION%" /* We only want to build the client */ #define CLIENT_SUPPORT 1 #undef SERVER_SUPPORT /* Define as the maximum value of type 'size_t', if the system doesn't define it. */ #define SIZE_MAX SSIZE_MAX /* Set up for other #if's which follow */ #ifndef __DECC_VER #define __DECC_VER 0 #endif #ifndef __VMS_VER #define __VMS_VER 0 #endif /* VMS is case insensitive */ /* #define FOLD_FN_CHAR(c) tolower(c) */ /* Temporary files named "#booger.3.6~" aren't legal under VMS, Define this if you want to use names which are legal for VMS */ #define USE_VMS_FILENAMES 1 /* What VMS calls /dev/null. */ #define DEVNULL "NLA0:" /* Define to empty if the keyword does not work. */ /* #undef const */ /* Define if you have <dirent.h>. */ /* #undef DIRENT */ /* Define if you have <sys/param.h> */ /* #undef HAVE_SYS_PARAM_H */ /* Define to `int' if <sys/types.h> doesn't define. */ /* #undef gid_t */ /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #define inline #endif /* Define if you support file names longer than 14 characters. */ /* #undef HAVE_LONG_FILE_NAMES */ /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ /* #define HAVE_SYS_WAIT_H 1 OpenVMS POSIX has it, but VMS does not. */ #undef POSIX /* Define if utime(file, NULL) sets file's timestamp to the present. */ /* #undef HAVE_UTIME_NULL */ /* Define if on MINIX. */ /* #undef _MINIX */ /* Define to `int' if <sys/types.h> doesn't define. */ /* #undef mode_t */ /* Define if you don't have <dirent.h>, but have <ndir.h>. */ #define HAVE_NDIR_H 1 /* Define to `int' if <sys/types.h> doesn't define. */ /* #undef pid_t */ /* Define if the system does not provide POSIX.1 features except with this defined. */ /* #undef _POSIX_1_SOURCE */ /* Define if you need to in order for stat and other things to work. */ /* #undef _POSIX_SOURCE */ /* Define as the return type of signal handlers (int or void). */ #define RETSIGTYPE void /* The default remote shell to use, if one does not specify the CVS_RSH environment variable. */ #define RSH_DFLT "rsh" /* Define to `unsigned' if <sys/types.h> doesn't define. */ /* #undef size_t */ /* Define if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Define if you don't have <dirent.h>, but have <sys/dir.h>. */ /* #undef SYSDIR */ /* Define if you don't have <dirent.h>, but have <sys/ndir.h>. */ /* #undef SYSNDIR */ /* Define if your <sys/time.h> declares struct tm. */ /* #undef TM_IN_SYS_TIME */ /* Define to `int' if <sys/types.h> doesn't define. */ /* #undef uid_t */ /* Define if the closedir function returns void instead of int. */ /* #undef VOID_CLOSEDIR */ /* Define if you have MIT Kerberos version 4 available. */ /* #undef HAVE_KERBEROS */ /* Define if you have the fchmod function. */ /* #undef HAVE_FCHMOD */ /* Define if you have the fsync function. */ /* #undef HAVE_FSYNC */ /* Define if you have the ftime function. */ /* #undef HAVE_FTIME */ /* Define if you have the ftruncate function. */ /* #undef HAVE_FTRUNCATE */ /* Define if you have the getpagesize function. */ /* #undef HAVE_GETPAGESIZE */ /* Define if you have the krb_get_err_text function. */ /* #undef HAVE_KRB_GET_ERR_TEXT */ /* Define if you have the mkdir function */ #define HAVE_MKDIR 1 /* Define if you have the rmdir function */ #define HAVE_RMDIR 1 /* Define if you have the rename function */ #define HAVE_RENAME 1 /* Define if you have the timezone function. */ /* #undef HAVE_TIMEZONE */ /* Define if you have the vfork function. */ #define HAVE_VFORK /* Define if you have the vprintf function. */ #define HAVE_VPRINTF /* Define if you have the <errno.h> header file. */ /* #undef HAVE_ERRNO_H */ /* Define if you have the <fcntl.h> header file. */ #if __DECC_VER >= 50700000 # define HAVE_FCNTL_H 1 #endif /* Define if you have the <memory.h> header file. */ /* #undef HAVE_MEMORY_H */ /* Define if you have the <ndbm.h> header file. */ /* #undef HAVE_NDBM_H */ /* Define if you have the <string.h> header file. */ #define HAVE_STRING_H 1 /* Define to force lib/regex.c to use malloc instead of alloca. */ #define REGEX_MALLOC 1 /* Define to force lib/regex.c to define re_comp et al. */ #define _REGEX_RE_COMP 1 /* Define if you have the <sys/select.h> header file. */ /* #undef HAVE_SYS_SELECT_H */ /* Define this if your <sys/socket.h> defines select() */ #define SYS_SOCKET_H_DEFINES_SELECT 1 /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 /* Define if you have the <utime.h> header file. */ /* #undef HAVE_UTIME_H */ /* Define if you have the nsl library (-lnsl). */ /* #undef HAVE_LIBNSL */ /* Define if you have the socket library (-lsocket). */ /* #undef HAVE_LIBSOCKET */ /* Under VMS, filenames are case-insensitive. */ #define FILENAMES_CASE_INSENSITIVE 1 #define RSH_NOT_TRANSPARENT 1 #define START_SERVER vms_start_server #define NO_SOCKET_TO_FD 1 #define START_SERVER_RETURNS_SOCKET 1 #define SEND_NEVER_PARTIAL 1 #define SYSTEM_GETCALLER() getlogin () #define GETPWNAM_MISSING 1 /* Avoid name conflicts with VMS libraries. */ #define getopt cvs_getopt #define optind cvs_optind #define optopt cvs_optopt #define optarg cvs_optarg #define opterr cvs_opterr /* Avoid open/read/closedir name conflicts with DEC C 5.7 libraries, and fix the problem with readdir() retaining the trailing period. */ #define CVS_OPENDIR vms_opendir #define CVS_READDIR vms_readdir #define CVS_CLOSEDIR vms_closedir /* argv in VMS is the full pathname which would look really ugly in error messages. Even if we stripped out the directory and ".EXE;5", it would still be misleading, as if one has used "OLDCVS :== ...CVS-JULY.EXE", then argv does not contain the name of the command which the user invokes CVS with. If there is a way for VMS to find the latter, that might be worth messing with, but it also seems fine to just always call it "cvs". */ #define ARGV0_NOT_PROGRAM_NAME #define CVS_UNLINK vms_unlink /* There is some pretty unixy code in src/commit.c which tries to prevent people from commiting changes as "root" (which would prevent CVS from making a log entry with the actual user). On VMS, I suppose one could say that SYSTEM is equivalent, but I would think that it actually is not necessary; at least at the VMS sites I've worked at people just used their own accounts (turning privileges on and off as desired). */ #undef CVS_BADROOT #define NO_SOCKET_TO_FD 1 /* * The following configuration options used to be defined in options.h. */ /* * For portability and heterogeneity reasons, CVS is shipped by default using * my own text-file version of the ndbm database library in the src/myndbm.c * file. If you want better performance and are not concerned about * heterogeneous hosts accessing your modules file, turn this option off. */ #ifndef MY_NDBM #define MY_NDBM #endif /* Directory used for storing temporary files, if not overridden by environment variables or the -T global option. There should be little need to change this (-T is a better mechanism if you need to use a different directory for temporary files). */ #ifndef TMPDIR_DFLT #define TMPDIR_DFLT "sys$scratch" #endif /* * The default editor to use, if one does not specify the "-e" option to cvs, * or does not have an EDITOR environment variable. I set this to just "vi", * and use the shell to find where "vi" actually is. This allows sites with * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH * is reasonable). */ #ifndef EDITOR_DFLT #define EDITOR_DFLT "" #endif /* * The default umask to use when creating or otherwise setting file or * directory permissions in the repository. Must be a value in the * range of 0 through 0777. For example, a value of 002 allows group * rwx access and world rx access; a value of 007 allows group rwx * access but no world access. This value is overridden by the value * of the CVSUMASK environment variable, which is interpreted as an * octal number. */ #ifndef UMASK_DFLT #define UMASK_DFLT 002 #endif /* * The cvs admin command is restricted to the members of the group * CVS_ADMIN_GROUP. If this group does not exist, all users are * allowed to run cvs admin. To disable the cvs admin for all users, * create an empty group CVS_ADMIN_GROUP. To disable access control for * cvs admin, comment out the define below. */ #ifndef CVS_ADMIN_GROUP /* #define CVS_ADMIN_GROUP "cvsadmin" */ #endif /* * When committing or importing files, you must enter a log message. * Normally, you can do this either via the -m flag on the command line or an * editor will be started for you. If you like to use logging templates (the * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to * force people to use the editor even if they specify a message with -m. * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the * temp file when the editor is started. */ #ifndef FORCE_USE_EDITOR /* #define FORCE_USE_EDITOR */ #endif /* * Yes, we can do the authenticated client. */ #define AUTH_CLIENT_SUPPORT 1 /* * If you are working with a large remote repository and a 'cvs checkout' is * swamping your network and memory, define these to enable flow control. * You will end up with even less guarantees of a consistant checkout, * but that may be better than no checkout at all. The master server process * will monitor how far it is getting behind, if it reaches the high water * mark, it will signal the child process to stop generating data when * convenient (ie: no locks are held, currently at the beginning of a * new directory). Once the buffer has drained sufficiently to reach the * low water mark, it will be signalled to start again. * -- EXPERIMENTAL! -- A better solution may be in the works. * You may override the default hi/low watermarks here too. */ #ifndef SERVER_FLOWCONTROL /* #define SERVER_FLOWCONTROL */ /* #define SERVER_HI_WATER (2 * 1024 * 1024) */ /* #define SERVER_LO_WATER (1 * 1024 * 1024) */ #endif /* End of CVS options.h section */ /* Return non-zero iff FILENAME is absolute. Trivial under Unix, but more complicated under other systems. */ #define ISABSOLUTE(filename) (filename == '/' || filename == '[' || filename == '<' || strchr(filename, ':')) #include "vms.h"