13b6eaa7bSAndrey A. Chernov/* 23b6eaa7bSAndrey A. Chernov * config.h -- configure various defines for tcsh 33b6eaa7bSAndrey A. Chernov * 43b6eaa7bSAndrey A. Chernov * All source files should #include this FIRST. 53b6eaa7bSAndrey A. Chernov * 63b6eaa7bSAndrey A. Chernov * Edit this to match your system type. 73b6eaa7bSAndrey A. Chernov */ 83b6eaa7bSAndrey A. Chernov 93b6eaa7bSAndrey A. Chernov#ifndef _h_config 103b6eaa7bSAndrey A. Chernov#define _h_config 113b6eaa7bSAndrey A. Chernov/****************** System dependant compilation flags ****************/ 123b6eaa7bSAndrey A. Chernov/* 133b6eaa7bSAndrey A. Chernov * POSIX This system supports IEEE Std 1003.1-1988 (POSIX). 143b6eaa7bSAndrey A. Chernov */ 153b6eaa7bSAndrey A. Chernov#define POSIX 163b6eaa7bSAndrey A. Chernov 173b6eaa7bSAndrey A. Chernov/* 183b6eaa7bSAndrey A. Chernov * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) 193b6eaa7bSAndrey A. Chernov * job control facilities. 203b6eaa7bSAndrey A. Chernov */ 213b6eaa7bSAndrey A. Chernov#define POSIXJOBS 223b6eaa7bSAndrey A. Chernov 233b6eaa7bSAndrey A. Chernov/* 243b6eaa7bSAndrey A. Chernov * POSIXSIGS Use the POSIX signal facilities to emulate BSD signals. 253b6eaa7bSAndrey A. Chernov */ 263b6eaa7bSAndrey A. Chernov#undef POSIXSIGS 273b6eaa7bSAndrey A. Chernov 283b6eaa7bSAndrey A. Chernov/* 293b6eaa7bSAndrey A. Chernov * VFORK This machine has a vfork(). 303b6eaa7bSAndrey A. Chernov * It used to be that for job control to work, this define 313b6eaa7bSAndrey A. Chernov * was mandatory. This is not the case any more. 323b6eaa7bSAndrey A. Chernov * If you think you still need it, but you don't have vfork, 333b6eaa7bSAndrey A. Chernov * define this anyway and then do #define vfork fork. 343b6eaa7bSAndrey A. Chernov * I do this anyway on a Sun because of yellow pages brain damage, 353b6eaa7bSAndrey A. Chernov * [should not be needed under 4.1] 363b6eaa7bSAndrey A. Chernov * and on the iris4d cause SGI's fork is sufficiently "virtual" 373b6eaa7bSAndrey A. Chernov * that vfork isn't necessary. (Besides, SGI's vfork is weird). 383b6eaa7bSAndrey A. Chernov * Note that some machines eg. rs6000 have a vfork, but not 393b6eaa7bSAndrey A. Chernov * with the berkeley semantics, so we cannot use it there either. 403b6eaa7bSAndrey A. Chernov */ 413b6eaa7bSAndrey A. Chernov#define VFORK 423b6eaa7bSAndrey A. Chernov 433b6eaa7bSAndrey A. Chernov/* 443b6eaa7bSAndrey A. Chernov * BSDJOBS You have BSD-style job control (both process groups and 453b6eaa7bSAndrey A. Chernov * a tty that deals correctly 463b6eaa7bSAndrey A. Chernov */ 473b6eaa7bSAndrey A. Chernov#define BSDJOBS 483b6eaa7bSAndrey A. Chernov 493b6eaa7bSAndrey A. Chernov/* 503b6eaa7bSAndrey A. Chernov * BSDSIGS You have 4.2-style signals, rather than USG style. 513b6eaa7bSAndrey A. Chernov * Note: POSIX systems should not define this unless they 523b6eaa7bSAndrey A. Chernov * have sigvec() and friends (ie: 4.3BSD-RENO, HP-UX). 533b6eaa7bSAndrey A. Chernov */ 543b6eaa7bSAndrey A. Chernov#define BSDSIGS 553b6eaa7bSAndrey A. Chernov 563b6eaa7bSAndrey A. Chernov/* 573b6eaa7bSAndrey A. Chernov * BSDTIMES You have BSD-style process time stuff (like rusage) 583b6eaa7bSAndrey A. Chernov * This may or may not be true. For example, Apple Unix 593b6eaa7bSAndrey A. Chernov * (OREO) has BSDJOBS and BSDSIGS but not BSDTIMES. 603b6eaa7bSAndrey A. Chernov */ 613b6eaa7bSAndrey A. Chernov#define BSDTIMES 623b6eaa7bSAndrey A. Chernov 633b6eaa7bSAndrey A. Chernov/* 643b6eaa7bSAndrey A. Chernov * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) 653b6eaa7bSAndrey A. Chernov */ 663b6eaa7bSAndrey A. Chernov#define BSDLIMIT 673b6eaa7bSAndrey A. Chernov 683b6eaa7bSAndrey A. Chernov/* 693b6eaa7bSAndrey A. Chernov * BSDNICE Your system uses setpriority() instead of nice, to 703b6eaa7bSAndrey A. Chernov * change a processes scheduling priority 713b6eaa7bSAndrey A. Chernov */ 723b6eaa7bSAndrey A. Chernov#define BSDNICE 733b6eaa7bSAndrey A. Chernov 743b6eaa7bSAndrey A. Chernov/* 753b6eaa7bSAndrey A. Chernov * TERMIO You have struct termio instead of struct sgttyb. 763b6eaa7bSAndrey A. Chernov * This is usually the case for SYSV systems, where 773b6eaa7bSAndrey A. Chernov * BSD uses sgttyb. POSIX systems should define this 783b6eaa7bSAndrey A. Chernov * anyway, even though they use struct termios. 793b6eaa7bSAndrey A. Chernov */ 803b6eaa7bSAndrey A. Chernov#define TERMIO 813b6eaa7bSAndrey A. Chernov 823b6eaa7bSAndrey A. Chernov/* 833b6eaa7bSAndrey A. Chernov * SYSVREL Your machine is SYSV based (HPUX, A/UX) 843b6eaa7bSAndrey A. Chernov * NOTE: don't do this if you are on a Pyramid -- tcsh is 853b6eaa7bSAndrey A. Chernov * built in a BSD universe. 863b6eaa7bSAndrey A. Chernov * Set SYSVREL to 1, 2, 3, or 4, depending the version of System V 873b6eaa7bSAndrey A. Chernov * you are running. Or set it to 0 if you are not SYSV based 883b6eaa7bSAndrey A. Chernov */ 893b6eaa7bSAndrey A. Chernov#define SYSVREL 0 903b6eaa7bSAndrey A. Chernov 913b6eaa7bSAndrey A. Chernov/* 923b6eaa7bSAndrey A. Chernov * YPBUGS Work around Sun YP bugs that cause expansion of ~username 933b6eaa7bSAndrey A. Chernov * to send command output to /dev/null 943b6eaa7bSAndrey A. Chernov */ 953b6eaa7bSAndrey A. Chernov#undef YPBUGS 963b6eaa7bSAndrey A. Chernov 973b6eaa7bSAndrey A. Chernov/* 983b6eaa7bSAndrey A. Chernov * SIGVOID Define this if your signal handlers return void. On older 993b6eaa7bSAndrey A. Chernov * systems, signal returns int, but on newer ones, it returns void. 1003b6eaa7bSAndrey A. Chernov */ 1013b6eaa7bSAndrey A. Chernov#define SIGVOID 1023b6eaa7bSAndrey A. Chernov 1033b6eaa7bSAndrey A. Chernov/* 1043b6eaa7bSAndrey A. Chernov * HAVEDUP2 Define this if your system supports dup2(). 1053b6eaa7bSAndrey A. Chernov */ 1063b6eaa7bSAndrey A. Chernov#define HAVEDUP2 1073b6eaa7bSAndrey A. Chernov 1083b6eaa7bSAndrey A. Chernov/* 1093b6eaa7bSAndrey A. Chernov * UTHOST Does the utmp file have a host field? 1103b6eaa7bSAndrey A. Chernov */ 1113b6eaa7bSAndrey A. Chernov#define UTHOST 1123b6eaa7bSAndrey A. Chernov 1133b6eaa7bSAndrey A. Chernov/* 1143b6eaa7bSAndrey A. Chernov * DIRENT Your system has <dirent.h> instead of <sys/dir.h> 1153b6eaa7bSAndrey A. Chernov */ 1163b6eaa7bSAndrey A. Chernov#define DIRENT 1173b6eaa7bSAndrey A. Chernov/****************** local defines *********************/ 1183b6eaa7bSAndrey A. Chernov/****************** configurable hacks ****************/ 1193b6eaa7bSAndrey A. Chernov 1203b6eaa7bSAndrey A. Chernov/* have been moved to config_f.h */ 1213b6eaa7bSAndrey A. Chernov#include "config_f.h" 1223b6eaa7bSAndrey A. Chernov 1233b6eaa7bSAndrey A. Chernov#if defined(__FreeBSD__) 1243b6eaa7bSAndrey A. Chernov#define NLS_BUGS 1256767bd61SMark Peek#define BSD_STYLE_COLORLS 1263b6eaa7bSAndrey A. Chernov#endif 1273b6eaa7bSAndrey A. Chernov 1283b6eaa7bSAndrey A. Chernov#if defined(__bsdi__) 1293b6eaa7bSAndrey A. Chernov/* 1303b6eaa7bSAndrey A. Chernov * _PATH_TCSHELL if you've change the installation location (vix) 1313b6eaa7bSAndrey A. Chernov */ 13229301572SMark Peek#include <sys/param.h> 1333b6eaa7bSAndrey A. Chernov# ifdef _BSDI_VERSION >= 199701 1343b6eaa7bSAndrey A. Chernov# define _PATH_TCSHELL "/bin/tcsh" 1353b6eaa7bSAndrey A. Chernov# undef SYSMALLOC 1363b6eaa7bSAndrey A. Chernov# define SYSMALLOC 1373b6eaa7bSAndrey A. Chernov# else 1383b6eaa7bSAndrey A. Chernov# define _PATH_TCSHELL "/usr/contrib/bin/tcsh" 1393b6eaa7bSAndrey A. Chernov# endif 1403b6eaa7bSAndrey A. Chernov 1413b6eaa7bSAndrey A. Chernov# undef NLS 1423b6eaa7bSAndrey A. Chernov# undef NLS_CATALOGS 1433b6eaa7bSAndrey A. Chernov 1443b6eaa7bSAndrey A. Chernov#elif defined(__APPLE__) 1453b6eaa7bSAndrey A. Chernov# define SYSMALLOC 1463b6eaa7bSAndrey A. Chernov 1473b6eaa7bSAndrey A. Chernov#else 1483b6eaa7bSAndrey A. Chernov# define NLS_CATALOGS 1493b6eaa7bSAndrey A. Chernov#endif 1503b6eaa7bSAndrey A. Chernov 1513b6eaa7bSAndrey A. Chernov#endif /* _h_config */ 152