home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / contrib / smail / smail-3.1 / smail-3 / smail-3.1.28 / conf / os / lnx < prev    next >
Text File  |  1994-05-05  |  19KB  |  533 lines

  1. # @(#)conf/os/template    1.20 9/6/92 01:09:30
  2. #
  3. # template - template for operating system configuration description
  4. #
  5. # NOTE: variables come in two basic types: lists and simple variables.
  6. # Lists are : or white-space-separated lists of strings (ususally
  7. # just names), though some lists have specific constraints on separation
  8. # characters.  Simple variables have only one value.
  9. #
  10. # The EDITME file can be used to override any simple variable defined
  11. # in this file.  The EDITME file can be used to add to list variables.
  12.  
  13. # OSNAMES(list) - names for this operating system
  14. #
  15. # This is a colon-separated list of names which generally, or specifically
  16. # define the operating system that smail will be executed under.
  17. #
  18. # The following names should be used where applicable:
  19. #
  20. #    UNIX_BSD4_1    - the 4.1 release of Berkeley UNIX
  21. #    UNIX_BSD4_2    - the 4.2 or 4.3 release of Berkeley UNIX
  22. #    UNIX_BSD4_3    - the 4.3 release of Berkeley UNIX
  23. #    UNIX_BSD    - any release of Berkeley UNIX after 4.1
  24. #    UNIX_SYS5_2    - release two of AT&T System V
  25. #    UNIX_SYS5_3    - release three of AT&T System V
  26. #    UNIX_SYS5    - any release of AT&T System V
  27. #    UNIX_SUN_OS_3    - SunOS 3.x, greater than 3.2 (also set 4.2BSD)
  28. #    UNIX_SUN_OS_4    - SunOS 4.x (also set 4.2 and 4.3BSD)
  29. #    UNIX_SUN_OS    - any release of SunOS
  30. #    UNIX_UTS_1    - Amdahl UTS/580 1.x
  31. #    UNIX_UTS_2    - Amdahl UTS/580 2.x
  32. #    UNIX_UTS    - Any release of UTS/580
  33. #    UNIX_V7        - Bell Labs UNIX Release 7
  34. #    UNIX        - Any release of UNIX
  35. #    POSIX_OS    - Any POSIX P1003.1-conformant UNIX system
  36.  
  37. OSNAMES="UNIX:UNIX_SYS5:POSIX_OS"
  38.  
  39.  
  40. # LOCKING_PROTOCOL(variable) - macros for efficient file locking
  41. #
  42. # Define macros for performing high-performance locking on files
  43. # These should include the following macros:
  44. #
  45. #    lock_fd        - given a file descriptor, either lock the
  46. #              file for exclusive access without blocking
  47. #              and return SUCCEED or fail to lock and
  48. #              return FAIL.  This is used for locking spool
  49. #              files.
  50. #
  51. #    lock_fd_wait    - given a file descriptor, lock it for
  52. #              exclusive access and return SUCCEED or
  53. #              return FAIL.  Blocking is permitted.  This
  54. #              may be used for locking mailbox files.
  55. #
  56. #    unlock_fd    - given the file descriptor of a file locked
  57. #              with the lock_fd macro, unlock that file.
  58. #              This can be an expression cast to void.
  59. #
  60. #    unlock_fd_wait    - given the file descriptor of a file locked
  61. #              with the lock_fd_wait macro, unlock that
  62. #              file.  This can be an expression cast to
  63. #              void.
  64. #
  65. #    lock_fd_rd_wait    - given a file descriptor, lock it for shared
  66. #              access.  Blocking is permitted.  This is
  67. #              used when reading forward files or mailing
  68. #              list files.  Closing the file shoud be
  69. #              sufficient for releasing the lock.  This
  70. #              should return SUCCEED or FAIL.
  71. #
  72. # If no reasonable high-efficiency locking method is available for
  73. # your system, then do not define this macro, or set it to a null
  74. # string.
  75. #
  76. # If the locking protocol requires that the file being locked be
  77. # writable, define LOCK_REQUIRES_WRITE.
  78. #
  79. # To use the System V shared lock fcntl(), define USE_FCNTL_RD_LOCK,
  80. # and define lock_fd_rd_wait() to be (fcntl_rd_lock(fd)), and declare
  81. # fcntl_rd_lock() to be extern int.
  82.  
  83. LOCKING_PROTOCOL=
  84.  
  85.  
  86. # LOCK_BY_NAME(variable) - should spool files use named lock-files for locking
  87. #
  88. # If no locking protocol is defined, or a site prefers to use named
  89. # lock files for locking spool files, LOCK_BY_NAME should be defined
  90. # to be "TRUE", otherwise it should not be defined.
  91.  
  92. LOCK_BY_NAME=TRUE
  93.  
  94.  
  95. # FLOCK_MAILBOX(variable) - should mailbox files be locked with lock_fd_wait
  96. #
  97. # Set this to "TRUE" if the lock_fd_wait macro should be used to lock
  98. # mailbox files.  This should be used only with cooperation from all
  99. # mail user agents.  Otherwise, do not set this.
  100.  
  101. #FLOCK_MAILBOX=TRUE
  102.  
  103.  
  104. # MAILBOX_DIR(variable) - in which directory are user mailbox files found
  105. #
  106. # Normally this is either /usr/spool/mail for a V7/BSD-derived system
  107. # or /usr/mail for a System V derived system.  On many newer POSIX-type
  108. # systems, mail is in /var/mail.
  109.  
  110. #MAILBOX_DIR=/var/mail                # POSIX
  111. #MAILBOX_DIR=/usr/mail                # System V
  112. #MAILBOX_DIR=/usr/spool/mail            # Almost anything else
  113. MAILBOX_DIR=/var/spool/mail             # Linux FSSTND
  114.  
  115.  
  116. # CONSOLE(variable) - name of the console device file
  117. #
  118. # This pathname is used as a last resort in writing panic messages from
  119. # smail.  Normally, it is /dev/console.  Some System V machines can also
  120. # use /dev/sysmsg
  121.  
  122. #CONSOLE=/dev/sysmsg
  123. CONSOLE=/dev/console
  124.  
  125.  
  126. # DECLARE_STRINGS(variable) - declare string routines, using macros as needed
  127. #
  128. # The following function names are used by smail and should be
  129. # declared using the C code below:
  130. #
  131. #    strcat(s1,s2)    - concatenate string s2 onto the end of s1
  132. #    strncat(s1,s2,n)- concatenate s2 onto s1 with length constraint n
  133. #    strcmp(s1,s2)    - compare strings s1 and s2
  134. #    strncmp(s1,s2,n)- compare s1 and s2 with length constraint n
  135. #    strcpy(s1,s2)    - copy string s2 to s1
  136. #    strncpy(s1,s2,n)- copy string s2 to s1 for at most n bytes
  137. #    strlen(s1)    - return the length of string s1
  138. #    index(s,c)    - point to first occurance of c in string s
  139. #    rindex(s,c)    - point to last occurance of c in string s
  140. #    bzero(b,n)    - zero n bytes starting at location b
  141. #    bcopy(b1,b2,n)    - copy b1 to b2 for n bytes
  142. #    bcmp(b1,b2,n)    - compree n bytes of b1 and b2, returning 0 if equal
  143. #    memcpy(b1,b2,n)    - copy b2 to b1 for n bytes
  144. #    memcmp(b1,b2,n)    - compare n bytes of b1 and b2, returning 0 if equal
  145. #
  146. # Use of #include or #define is permitted.
  147.  
  148. DECLARE_STRINGS="\
  149. extern char    *strcat();
  150. extern char    *strncat();
  151. extern int    strcmp();
  152. extern int    strncmp();
  153. extern char    *strcpy();
  154. extern char    *strncpy();
  155. extern int    strlen();
  156. extern char    *index();
  157. extern char    *rindex();
  158. /* the following are defined by smail, if they are not in libc */
  159. extern int    bzero();
  160. extern int    bcopy();
  161. extern int    bcmp();
  162. extern char    *strpbrk();
  163. extern int    strspn();
  164. #define memcpy(b1,b2,n)    (bcopy(b2,b1,n))
  165. #define memcmp(b1,b2,n)    (bcmp(b1,b2,n))
  166. "
  167.  
  168.  
  169. # OSLIBS(list) - name any object libraries containing routines we will need
  170. #
  171. # In particular, if networking routines and dbm routines are in libraries
  172. # other than libc, these libraries should be named here.  Systems that
  173. # can use shared libraries may specify a shared version of libc here.
  174. #
  175. # Object library names must be white-space separated.
  176. #
  177. # NOTE:    To compile arpatxt (in the pathalias sources), one of the listed
  178. #    libraries must include regular expression functions.  However,
  179. #    arpatxt is not compiled by default, so such functions are not
  180. #    normally necessary.
  181.  
  182. #OSLIBS="-ldbm -lsocket"    # example
  183. #OSLIBS="-lc_s"            # shared C library for System V.3
  184. #[ "$FROM_ROOT" = src ] && OSLIBS="-lresolv" # resolv library for src directory
  185.  
  186.  
  187. # LDFLAGS(list) - flags that must be passed to ld when creating an executable
  188. #
  189. # Some systems require that particular flags be passed to the loader
  190. # such as for allocating extra stack space.
  191. #
  192. # Loader flags must be white-space separated.
  193.  
  194. #LDFLAGS="-F 2000"    # loader flags for XENIX/286
  195.  
  196.  
  197. # CFLAGS(list) - flags that should be passed to the C compiler
  198. #
  199. # This is a white-space-separated list of arguments that are passed
  200. # to the C compiler when compiling anything.  This can be used to
  201. # set some very special case #defines, or to pass in compiler flags
  202. # such as selection of large-model addressing for the Xenix/286.
  203. #
  204. # NOTE:  Use of -O or -g is normally selected from the EDITME file.
  205.  
  206. #CFLAGS="-Xt"        # select transitional ANSI C for SVR4.0 C compiler
  207. CFLAGS=""
  208.  
  209.  
  210. # CPPFLAGS(list) - flags to pass into C preprocessor
  211. #
  212. # This list is appended to the CFLAGS list, it also passed to mkdepend,
  213. # for building dependencies, which is not true of CFLAGS.  This is useful
  214. # mostly for systems that require "-systype ..." as input the the C
  215. # preprocessor to select default include file locations.
  216.  
  217. #CPPFLAGS="-systype bsd"
  218. #CPPFLAGS="-systype sysv"
  219.  
  220.  
  221. # DRIVER_CONFIGURATION(variable) - configuration file describing smail drivers
  222. #
  223. # Name the configuration file in the conf/driver directory which defines
  224. # a suitable set of smail director, router and transport drivers for
  225. # this operating system.
  226.  
  227. #DRIVER_CONFIGURATION=arpa-network        # includes BIND/DNS router
  228. #DRIVER_CONFIGURATION=bsd-network
  229. DRIVER_CONFIGURATION=unix-generic
  230.  
  231.  
  232. # RANLIB(variable) - how do we organize an existing object archive library
  233. #
  234. # RANLIB should define the base for a shell command which, given an
  235. # object file archive, will organize that library for the loader.
  236. # If no such command is appropriate, set RANLIB to ":", to prevent
  237. # it from doing anything interesting.
  238.  
  239. RANLIB=ranlib                # Behavior compatible with BSD
  240. #RANLIB=:                # many other versions of UNIX
  241.  
  242.  
  243. # CHOWN(variable) - command to use for accessing the chown program
  244. #
  245. # Under Berkeley UNIX, chown is under /etc.  On most other computer systems
  246. # chown is in a normal PATH.  The CHOWN variable should be set appropriately
  247. # for this operating system.
  248.  
  249. #CHOWN=/etc/chown            # Behavior compatible with BSD
  250. CHOWN=chown                # Most other versions of UNIX
  251.  
  252.  
  253. # SITENAME_FILE(variable) - file containing name of local host
  254. #
  255. # Some operating systems store the name of the local host in a file, such
  256. # as /etc/sitename or /etc/whoami.  Define SITENAME_FILE if your site
  257. # requires this.
  258.  
  259. #SITENAME_FILE=/etc/sitename        # correct for Fortune FOR:Pro system
  260. SITENAME_FILE=/etc/HOSTNAME        # Slackware release of Linux
  261.  
  262.  
  263. # HAVE(list) - list of attributes identified for your operating system
  264. #
  265. # For any item that is supported by your operating system, add the
  266. # item name to the HAVE list.  This list translates into #defines
  267. # of the form HAVE_feature, which can be tested in C source files.
  268. # The definitive list of possible HAVE attributes can be found by
  269. # looking through the source code for references to these macros.
  270. #
  271. # Current list of defined names:
  272. #
  273. #    BIND        - system supports the DNS (Domain Name System)
  274. #    BSD_NETWORKING    - system supports BSD-style socket/TCP/IP networking
  275. #    BSTRING        - system has bstring or similar routines
  276. #    COMSAT        - system has the comsat daemon
  277. #    CHSIZE        - system has chsize system call
  278. #    DBM        - system has the dbm(3x) library, *including* dbmclose
  279. #    DUP2        - system has dup2 function
  280. #    FSYNC        - system has fsync system call
  281. #    FTRUNCATE    - system has ftruncate system call
  282. #    GETHOSTNAME    - system has gethostname function, as in BSD
  283. #    GETOPT        - system has getopt function
  284. #    HASH_BANG    - system can use #!/bin/sh in bourne shell scripts
  285. #    HDB_UUCP    - system uses HoneyDanBer UUCP--uux accepts -g and -a
  286. #    MKDIR        - system has mkdir function
  287. #    NDBM        - system has the newer ndbm(3) functions
  288. #    READDIR        - system has opendir/readdir/closedir functions
  289. #    RENAME        - system has rename system call
  290. #    RLIMIT        - system has the setrlimit/getrlimit functions
  291. #    SETEUID        - system has seteuid system call, as in BSD
  292. #    SETGROUPS    - system has setgroups system call, as in BSD/Posix
  293. #    SYS5_STRLIB    - system has strspn and strpbrk
  294. #    SYSEXITS    - system has <sysexits.h>
  295. #    ULIMIT        - system has ulimit system call, as in System V.3
  296. #    UNAME        - system has uname system call, as in System V
  297. #    VFORK        - system has vfork function
  298. #    VFPRINTF    - system has vfprintf function
  299. #    YP        - system has SunOS YP (NIS) service
  300. #    MEMMOVE        - system has ANSI C memmove() function
  301. #
  302. # NOTE: if you don't define DBM or NDBM, then smail will use sdbm.
  303. # If you don't have ndbm, and your dbm library doesn't have dbmclose(),
  304. # then don't define DBM, because smail can't use your dbm, and will
  305. # have to use sdbm instead.
  306.  
  307. #HAVE=BSTRING:GETOPT:UNAME:READDIR
  308. # From Linux Newspak 2.1:
  309. HAVE=BSTRING:GETOPT:UNAME:VFPRINTF:SYS5_STRLIB:RENAME:NDBM:MKDIR:\
  310. FTRUNCATE:MEMMOVE:DUP2:HASH_BANG:GETHOSTNAME:HDB_UUCP:READDIR:SETGROUPS
  311.  
  312.  
  313. # NO_HAVE(list) - define features that this system specifically does not have
  314. #
  315. # Occasionally, the source code will assume that some feature exists
  316. # unless it is told that it does not exist.  The recommended method
  317. # for indicating that a feature does not exist (for these circumstances)
  318. # is to test for a NO_HAVE_* name.  The NO_HAVE variable is a list of
  319. # features that should be named this way.  Note that the OS type is often
  320. # used to indicate that a set of features exist.  If smail thinks that
  321. # your OS has a particular feature, then you may have to use the NO_HAVE
  322. # list to insist that the feature does not exist (or that the feature
  323. # should not be used).
  324. #
  325. # Some possible feature names:
  326. #
  327. #    MEMMOVE        - the system uses ANSI C, but lacks memmove()
  328.  
  329. #NO_HAVE=MEMMOVE
  330.  
  331.  
  332. # MISC_DEFINES(list) - miscellaneous definitions
  333. #
  334. # This is a list of names that will be defined for use by any C
  335. # program or shell script that loads defs.sh files.  These generally
  336. # define very system-specific items that are tested in the sources.
  337. # A simple value can be given using the form NAME=value
  338. #
  339. # Some of the currently useful names are:
  340. #
  341. #    GETHOSTNAME_USE_PTR
  342. #        The Genix4.1 gethostname() system call takes a pointer 
  343. #        to a buffer size rather than the buffer size itself.
  344. #        Define this for systems that have this behavior.
  345. #
  346. #    INET_ADDR_USE_STRUCT
  347. #        There appear to be some systems where inet_addr()
  348. #        returns a struct in_addr, rather than an unsigned
  349. #        long.  We have been told that some versions of Ultrix
  350. #        are inconsistent between what is in the man page and
  351. #        the #include files and how the library routine is
  352. #        actually defined.  Define this for systems that have
  353. #        this non-BSD behavior.
  354. #
  355. #    INET_NTOA_USE_STRUCT
  356. #        This causes smail to use a struct in_addr as the
  357. #        argument to inet_ntoa(), rather than a long.
  358. #
  359. #    REQUIRE_TZ
  360. #        It has been reported that the Xenix5.0 ctime() function
  361. #        dumps core if the TZ environment variable is not set.
  362. #        If your system has this rather buggy behavior, define
  363. #        this.  If this is defined, smail will set the
  364. #        environment variable TZ to GMT0 if it is not already
  365. #        set.
  366. #
  367. #    DECLARE_UTIMBUF
  368. #        Some versions of System V do not define the utimbuf
  369. #        structure in <sys/time.h>, or in <utime.h>.  If your
  370. #        system is one of these, then define DECLARE_UTIMBUF,
  371. #        and smail will define the utimbuf structure itself.
  372. #
  373. #    INCLUDE_UTIME_H
  374. #        Some systems appear to have a <utime.h> file, even though
  375. #        they are not POSIX systems.  The <utime.h> file    is used
  376. #        automatically for POSIX systems.  For other systems,
  377. #        <utime.h> can be used by defining INCLUDE_UTIME_H.
  378. #
  379. #    DBM_INCLUDE='<dbm.h-include-path>'
  380. #    NDBM_INCLUDE='<ndbm.h-include-path>'
  381. #        Some systems support dbm functions (or ndbm functions)
  382. #        but store there interface header files in unusual
  383. #        places.  Such systems can set DBM_INCLUDE (NDBM_INCLUDE)
  384. #        to point to the dbm (ndbm) include file.  For example,
  385. #        the following is not unusual:
  386. #
  387. #            MISC_DEFINES=DBM_INCLUDE='<rpcsvc/dbm.h>'
  388. #
  389. #    void=int
  390. #        This must be used for systems that do not support the
  391. #        void type.  In particular, some older systems that
  392. #        support void still require this for compiling smail.
  393. #        To test for these systems, try the code fragment:
  394. #
  395. #            void f();
  396. #            void (*avf[])() = { f };
  397. #
  398. #        If this yields an error then you will need to set
  399. #        void=int.
  400. #
  401. #    private=smail_private_tag
  402. #        Some C comilers, notably some releases of the Sequent
  403. #        C comiler, recognize private as a keyword.  To avoid
  404. #        uses of this name within smail causing problems for
  405. #        these compilers, use private=smail_private_tag to remap
  406. #        all uses of "private" to a safer name.
  407.  
  408. #MISC_DEFINES=REQUIRE_TZ:DECLARE_UTIMBUF:void=int
  409. MISC_DEFINES=INCLUDE_UTIME_H            # For Linux 
  410.  
  411.  
  412. # MISC_C_DEFINES(list) - miscellaneous C defines
  413. #
  414. # More complex C defines can be specified using the MISC_C_DEFINES
  415. # variable.  This is a list of lines that will be included in the
  416. # defs.h file, included by smail source files.
  417. #
  418. # Items in this "list" must be newline separated.
  419.  
  420. MISC_C_DEFINES='
  421. #define DATA_RLIMIT    (8192 * 1024)    /* limit to 8Mb of data space */
  422. #define STACK_RLIMIT    (1024 * 1024)    /* limit to 1Mb of stack space */
  423. '
  424.  
  425.  
  426. # SOCKET_INCLUDES(variable) - set of #includes to for use with sockets
  427. #
  428. # Some systems require a different set of includes files to get the
  429. # various socket, networking, and DNS resolving header files used by
  430. # the smail source code.  If your system is one of these, then you
  431. # will need to define SOCKET_INCLUDES to match your system.  The
  432. # includes given here are the set of files used of SOCKET_INCLUDES is
  433. # not defined in your OS or EDITME file.
  434.  
  435. : SOCKET_INCLUDES='
  436. #include <sys/socket.h>
  437. #include <netinet/in.h>
  438. #include <netdb.h>
  439. #ifdef HAVE_BIND
  440. # undef NOERROR        /* remove conflict in SVR4 header files */
  441. # include <arpa/nameser.h>
  442. # include <resolv.h>
  443. #endif
  444. '
  445.  
  446.  
  447. # NOBODY(variable) - username to use for anonymous situations
  448. #
  449. # In situations where smail does not trust a user ID, or where it
  450. # does not have any other user ID to use when running a program,
  451. # it will use this user ID for this login name.  Under SunOS and
  452. # BSD systems (4.3 or later) this will normally be "nobody".  If
  453. # undefined, a large ID will be used (32767).
  454.  
  455. #NOBODY=nobody        # BSD and SunOS-like systems
  456. #NOBODY=unknown        # possiblity for some System V systems
  457.  
  458.  
  459. # SECURE_PATH(variable) - a secure, :-separated list of exectuable directories
  460. #
  461. # Shell scripts used by smail will normally use this path, to ensure
  462. # that they can access all normal executables, without the possibility
  463. # of executing something that they shouldn't.
  464.  
  465. SECURE_PATH=/bin:/usr/bin:/usr/local/bin
  466.  
  467.  
  468. # COMPRESS(variable) - an executable that compresses files
  469. # COMP_FLAG(variable) - flag to use to force compression
  470. # DOT_Z(variable) - suffix generated by compression program
  471. # UNCOMPRESS(variable) - program to uncompress files
  472. # ZCAT(variable) - program to write contents of compressed files to stdout
  473. #
  474. # The savelog utility can save space by compressing old log files.
  475. # Normally when a file is compressed, the suffix is added to the
  476. # filename.
  477. #
  478. # The COMPRESS symbol is the name of a program such that:
  479. #
  480. #        $COMPRESS $COMP_FLAG filename ...
  481. #
  482. # the file: filename is replaced by: filename$DOT_Z
  483. # regardless of the size of filename.  The command:
  484. #
  485. #        $UNCOMPRESS filename$DOT_Z
  486. #
  487. # will replace filename$DOT_Z with the original filename.
  488. # The command:
  489. #        $ZCAT filename$DOT_Z
  490. #
  491. # will read the compressed file: filename$DOT_Z and write the
  492. # plain text to standard output while leaving the file compressed.
  493.  
  494. COMPRESS=gzip            # for GNU zip
  495. COMP_FLAG=-9
  496. DOT_Z=.gz
  497. UNCOMPRESS=gunzip
  498. ZCAT=zcat
  499.  
  500. #COMPRESS=compress        # for compress
  501. #COMP_FLAG=-f
  502. #DOT_Z=.Z
  503. #UNCOMPRESS=uncompress
  504. #ZCAT=zcat
  505.  
  506. #COMPRESS=pack            # system V standard
  507. #COMP_FLAG=-f
  508. #UNCOMPRESS=unpack
  509. #ZCAT=pcat
  510. #DOT_Z=.z
  511.  
  512. #COMPRESS=:            # if no compress is used
  513. #COMP_FLAG=""
  514. #UNCOMPRESS=true
  515. #ZCAT=cat
  516. #DOT_Z=""
  517.  
  518.  
  519. # UUCP_SYSTEM_FILE - path to UUCP file containing remote systems
  520. #
  521. # The normal smail configuration defines a router that scans the
  522. # output of the /usr/bin/uuname command for neighboring UUCP sites.
  523. # When smail is running as a daemon, it can cache the output of uuname
  524. # so that the uuname command need not be executed for each mail
  525. # message.  In order to be able to detect when the output of uuname
  526. # will change, smail daemons will stat the UUCP configuration file
  527. # which contains the names of neighboring hosts.  This EDITME variable
  528. # defines the full pathname to this file.  If this variable is not
  529. # defined, then the output of the uuname will not be cached.
  530.  
  531. UUCP_SYSTEM_FILE=/var/lib/uucp/hdb_config/Systems    # use this for HoneyDanBer UUCP
  532. #UUCP_SYSTEM_FILE=/usr/lib/uucp/L.sys    # use this for pre-HDB UUCP
  533.