head	1.1;
branch	1.1.1;
access;
symbols
	RELENG_8_4:1.1.1.5.0.50
	RELENG_9_1_0_RELEASE:1.1.1.5
	RELENG_9_1:1.1.1.5.0.48
	RELENG_9_1_BP:1.1.1.5
	RELENG_8_3_0_RELEASE:1.1.1.5
	RELENG_8_3:1.1.1.5.0.46
	RELENG_8_3_BP:1.1.1.5
	RELENG_9_0_0_RELEASE:1.1.1.5
	RELENG_9_0:1.1.1.5.0.44
	RELENG_9_0_BP:1.1.1.5
	RELENG_9:1.1.1.5.0.42
	RELENG_9_BP:1.1.1.5
	RELENG_7_4_0_RELEASE:1.1.1.5
	RELENG_8_2_0_RELEASE:1.1.1.5
	RELENG_7_4:1.1.1.5.0.40
	RELENG_7_4_BP:1.1.1.5
	RELENG_8_2:1.1.1.5.0.38
	RELENG_8_2_BP:1.1.1.5
	RELENG_8_1_0_RELEASE:1.1.1.5
	RELENG_8_1:1.1.1.5.0.36
	RELENG_8_1_BP:1.1.1.5
	RELENG_7_3_0_RELEASE:1.1.1.5
	RELENG_7_3:1.1.1.5.0.34
	RELENG_7_3_BP:1.1.1.5
	RELENG_8_0_0_RELEASE:1.1.1.5
	RELENG_8_0:1.1.1.5.0.32
	RELENG_8_0_BP:1.1.1.5
	RELENG_8:1.1.1.5.0.30
	RELENG_8_BP:1.1.1.5
	RELENG_7_2_0_RELEASE:1.1.1.5
	RELENG_7_2:1.1.1.5.0.28
	RELENG_7_2_BP:1.1.1.5
	RELENG_7_1_0_RELEASE:1.1.1.5
	RELENG_6_4_0_RELEASE:1.1.1.5
	RELENG_7_1:1.1.1.5.0.26
	RELENG_7_1_BP:1.1.1.5
	RELENG_6_4:1.1.1.5.0.24
	RELENG_6_4_BP:1.1.1.5
	RELENG_7_0_0_RELEASE:1.1.1.5
	RELENG_6_3_0_RELEASE:1.1.1.5
	RELENG_7_0:1.1.1.5.0.22
	RELENG_7_0_BP:1.1.1.5
	RELENG_6_3:1.1.1.5.0.20
	RELENG_6_3_BP:1.1.1.5
	v8_14_2:1.1.1.5
	RELENG_7:1.1.1.5.0.18
	RELENG_7_BP:1.1.1.5
	v8_14_1:1.1.1.5
	RELENG_6_2_0_RELEASE:1.1.1.5
	RELENG_6_2:1.1.1.5.0.16
	RELENG_6_2_BP:1.1.1.5
	v8_13_8:1.1.1.5
	v8_13_7:1.1.1.5
	RELENG_5_5_0_RELEASE:1.1.1.5
	RELENG_5_5:1.1.1.5.0.14
	RELENG_5_5_BP:1.1.1.5
	RELENG_6_1_0_RELEASE:1.1.1.5
	RELENG_6_1:1.1.1.5.0.12
	RELENG_6_1_BP:1.1.1.5
	v8_13_6:1.1.1.5
	RELENG_6_0_0_RELEASE:1.1.1.5
	RELENG_6_0:1.1.1.5.0.10
	RELENG_6_0_BP:1.1.1.5
	RELENG_6:1.1.1.5.0.8
	RELENG_6_BP:1.1.1.5
	v8_13_4:1.1.1.5
	RELENG_5_4_0_RELEASE:1.1.1.5
	RELENG_5_4:1.1.1.5.0.6
	RELENG_5_4_BP:1.1.1.5
	v8_13_3:1.1.1.5
	RELENG_4_11_0_RELEASE:1.1.1.1.2.3
	RELENG_4_11:1.1.1.1.2.3.0.2
	RELENG_4_11_BP:1.1.1.1.2.3
	RELENG_5_3_0_RELEASE:1.1.1.5
	RELENG_5_3:1.1.1.5.0.4
	RELENG_5_3_BP:1.1.1.5
	RELENG_5:1.1.1.5.0.2
	RELENG_5_BP:1.1.1.5
	v8_13_1:1.1.1.5
	RELENG_4_10_0_RELEASE:1.1.1.1.2.2
	RELENG_4_10:1.1.1.1.2.2.0.10
	RELENG_4_10_BP:1.1.1.1.2.2
	RELENG_5_2_1_RELEASE:1.1.1.4
	v8_12_11:1.1.1.4
	RELENG_5_2_0_RELEASE:1.1.1.4
	RELENG_5_2:1.1.1.4.0.6
	RELENG_5_2_BP:1.1.1.4
	RELENG_4_9_0_RELEASE:1.1.1.1.2.2
	RELENG_4_9:1.1.1.1.2.2.0.8
	RELENG_4_9_BP:1.1.1.1.2.2
	v8_12_10:1.1.1.4
	RELENG_5_1_0_RELEASE:1.1.1.4
	RELENG_5_1:1.1.1.4.0.4
	RELENG_5_1_BP:1.1.1.4
	RELENG_4_8_0_RELEASE:1.1.1.1.2.2
	v8_12_9:1.1.1.4
	RELENG_4_8:1.1.1.1.2.2.0.6
	RELENG_4_8_BP:1.1.1.1.2.2
	v8_12_8:1.1.1.4
	v8_12_7:1.1.1.4
	RELENG_5_0_0_RELEASE:1.1.1.4
	RELENG_5_0:1.1.1.4.0.2
	RELENG_5_0_BP:1.1.1.4
	RELENG_4_7_0_RELEASE:1.1.1.1.2.2
	RELENG_4_7:1.1.1.1.2.2.0.4
	RELENG_4_7_BP:1.1.1.1.2.2
	v8_12_6:1.1.1.4
	RELENG_4_6_2_RELEASE:1.1.1.1.2.2
	RELENG_4_6_1_RELEASE:1.1.1.1.2.2
	v8_12_5:1.1.1.4
	v8_12_4:1.1.1.4
	RELENG_4_6_0_RELEASE:1.1.1.1.2.2
	RELENG_4_6:1.1.1.1.2.2.0.2
	RELENG_4_6_BP:1.1.1.1.2.2
	v8_12_3_20020420:1.1.1.3
	v8_12_3:1.1.1.2
	RELENG_4:1.1.1.1.0.2
	v8_12_2:1.1.1.1
	SENDMAIL:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2002.02.17.21.56.43;	author gshapiro;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2002.02.17.21.56.43;	author gshapiro;	state Exp;
branches
	1.1.1.1.2.1;
next	1.1.1.2;

1.1.1.2
date	2002.04.10.03.04.55;	author gshapiro;	state Exp;
branches;
next	1.1.1.3;

1.1.1.3
date	2002.04.20.20.31.42;	author gshapiro;	state Exp;
branches;
next	1.1.1.4;

1.1.1.4
date	2002.06.11.21.11.55;	author gshapiro;	state Exp;
branches;
next	1.1.1.5;

1.1.1.5
date	2004.08.01.01.04.43;	author gshapiro;	state Exp;
branches
	1.1.1.5.30.1
	1.1.1.5.42.1
	1.1.1.5.50.1;
next	;

1.1.1.1.2.1
date	2002.03.25.21.25.20;	author gshapiro;	state Exp;
branches;
next	1.1.1.1.2.2;

1.1.1.1.2.2
date	2002.04.17.02.00.07;	author gshapiro;	state Exp;
branches;
next	1.1.1.1.2.3;

1.1.1.1.2.3
date	2004.08.09.00.15.39;	author gshapiro;	state Exp;
branches;
next	;

1.1.1.5.30.1
date	2014.02.02.00.21.49;	author svnexp;	state Exp;
branches;
next	;

1.1.1.5.42.1
date	2014.02.02.00.01.51;	author svnexp;	state Exp;
branches;
next	;

1.1.1.5.50.1
date	2004.08.01.01.04.43;	author svnexp;	state dead;
branches;
next	1.1.1.5.50.2;

1.1.1.5.50.2
date	2013.03.28.13.01.59;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@# Copyright (c) 2000-2002 Sendmail, Inc. and its suppliers.
#	All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#	$Id: README,v 1.20 2002/01/09 18:05:39 ca Exp $
#

Libsm is a library of generally useful C abstractions.
For documentation, see index.html.

Libsm stands alone; it depends on no other sendmail libraries,
and the only sendmail header files it depends on are its own,
which reside in ../include/sm.

The t-*.c files are regression tests.
These tests are incomplete: we do not yet test all of the APIs,
and we have not yet converted all tests to use the test harness.
If a test fails read the explanation it generates.  Sometimes it
is sufficient to change a compile time flag, which are also listed
below.  If that does not help, check the sendmail/README files for
problems on your OS.

The b-*.c files are benchmarks that compare system routines with
those provided by libsm. By default sendmail uses the routines
provided by the OS. In several cases, the routines provided by
libsm are faster than those of the OS. If your OS provides the
routines, you can compare the performance of them with the libsm
versions by running the programs with the option -d (by default
the programs just issue an explanation when/how to use them).
The programs are:

b-strcmp.c	tests strcasecmp().

+----------------------+
| CONFIGURATION MACROS |
+----------------------+

Libsm uses a set of C preprocessor macros to specify platform specific
features of the C compiler and standard C libraries.

If you are porting sendmail to a new platform, you may need to tweak
the values of some of these macros.

The following macros are given default values in <sm/config.h>.
If the default value is wrong for a given platform, then a platform
specific value is specified in one of two ways:

  - A -D option is added to the confENVDEF macro; this change can be made
    to the platform M4 file in devtools/OS, or to the site.config.m4
    file in devtools/Site.

  - The confSM_OS_HEADER macro in the platform M4 file defines sm_os_foo,
    which forces "sm/os/sm_os_foo.h" to be included by "sm/config.h" via a
    link that is made from "sm_os.h" to "sm/os/sm_os_foo.h".  Platform
    specific configuration macro settings are added to <sm/os/sm_os_foo.h>.

SM_CONF_STDBOOL_H
	Set to 1 if the header file <stdbool.h> exists,
	and defines true, false and bool.

SM_CONF_SYS_CDEFS_H
	Set to 1 if the header file <sys/cdefs.h> exists,
	and defines __P.  You may need to do this to eliminate
	warnings about __P being multiply defined.

SM_CONF_STDDEF_H
	Set to 0 if the header file <stddef.h> does not exist.

SM_CONF_SETITIMER
	Set to 0 if the setitimer function is not available.

SM_CONF_SYSEXITS_H
	Set to 1 if <sysexits.h> exists, and sets the EX_* macros
	to values different from the default BSD values in <sm/sysexits.h>.

SM_CONF_UID_GID
	Set to 0 if <sys/types.h> does not define uid_t and gid_t.

SM_CONF_SSIZE_T
	Set to 0 if <sys/types.h> does not define ssize_t.

SM_CONF_BROKEN_SIZE_T
	Set to 1 if size_t is not unsigned.

SM_CONF_LONGLONG
	Set to 1 if your C compiler supports the 'long long' type.
	This will be set automatically if you use gcc or a C compiler
	that conforms to the 1999 ISO C standard.

SM_CONF_QUAD_T
	Set to 1 if your C compiler does not support 'long long',
	but <sys/types.h> defines quad_t as an integral type.

SM_CONF_SHM
	Set to 1 if System V shared memory APIs are available.

SM_CONF_MSG
	Set to 1 if System V message queues are available.

SM_CONF_SEM
	Set to 1 if semaphores are available.

SM_CONF_BROKEN_STRTOD
	Set to 1 if your strtod() does not work properly.

SM_CONF_GETOPT
	Set to 1 if your operating system does not include getopt(3).

SM_IO_MAX_BUF_FILE
	Set this to a useful buffer size for regular files if stat(2)
	does not return a value for st_blksize that is the
	"optimal blocksize for I/O".

SM_IO_MAX_BUF
	Set this to a useful maximum buffer size for other than
	regular files if stat(2) does not return a value for
	st_blksize that is the "optimal blocksize for I/O".

SM_IO_MIN_BUF
	Set this to a useful minimum buffer size for other than
	regular files if stat(2) does not return a value for
	st_blksize that is the "optimal blocksize for I/O".

@


1.1.1.1
log
@Import sendmail 8.12.2
@
text
@@


1.1.1.2
log
@Import sendmail 8.12.3
@
text
@d8 1
a8 1
#	$Id: README,v 1.21 2002/01/23 17:30:48 gshapiro Exp $
a110 3

SM_CONF_LDAP_MEMFREE
	Set to 1 if your LDAP client libraries include ldap_memfree(3).
@


1.1.1.3
log
@Import of post-8.12.3 bug fixes from vendor repository.

These are being imported for the upcoming FreeBSD 4.6 release.
@
text
@d8 1
a8 1
#	$Id: README,v 1.1.1.2 2002/04/10 03:04:55 gshapiro Exp $
@


1.1.1.4
log
@Import sendmail 8.12.4
@
text
@d8 1
a8 1
#	$Id: README,v 1.21 2002/01/23 17:30:48 gshapiro Exp $
@


1.1.1.5
log
@Import sendmail 8.13.1
@
text
@d8 1
a8 1
#	$Id: README,v 1.24 2003/12/20 09:23:48 gshapiro Exp $
a110 3

SM_CONF_LDAP_INITIALIZE
	Set to 1 if your LDAP client libraries include ldap_initialize(3).
@


1.1.1.5.30.1
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/261377
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# Copyright (c) 2000-2002 Proofpoint, Inc. and its suppliers.
d8 1
a8 1
#	$Id: README,v 1.25 2013/11/22 20:51:42 ca Exp $
@


1.1.1.5.42.1
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/261370
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# Copyright (c) 2000-2002 Proofpoint, Inc. and its suppliers.
d8 1
a8 1
#	$Id: README,v 1.25 2013/11/22 20:51:42 ca Exp $
@


1.1.1.5.50.1
log
@file README was added on branch RELENG_8_4 on 2013-03-28 13:01:59 +0000
@
text
@d1 132
@


1.1.1.5.50.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 132
# Copyright (c) 2000-2002 Sendmail, Inc. and its suppliers.
#	All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#	$Id: README,v 1.24 2003/12/20 09:23:48 gshapiro Exp $
#

Libsm is a library of generally useful C abstractions.
For documentation, see index.html.

Libsm stands alone; it depends on no other sendmail libraries,
and the only sendmail header files it depends on are its own,
which reside in ../include/sm.

The t-*.c files are regression tests.
These tests are incomplete: we do not yet test all of the APIs,
and we have not yet converted all tests to use the test harness.
If a test fails read the explanation it generates.  Sometimes it
is sufficient to change a compile time flag, which are also listed
below.  If that does not help, check the sendmail/README files for
problems on your OS.

The b-*.c files are benchmarks that compare system routines with
those provided by libsm. By default sendmail uses the routines
provided by the OS. In several cases, the routines provided by
libsm are faster than those of the OS. If your OS provides the
routines, you can compare the performance of them with the libsm
versions by running the programs with the option -d (by default
the programs just issue an explanation when/how to use them).
The programs are:

b-strcmp.c	tests strcasecmp().

+----------------------+
| CONFIGURATION MACROS |
+----------------------+

Libsm uses a set of C preprocessor macros to specify platform specific
features of the C compiler and standard C libraries.

If you are porting sendmail to a new platform, you may need to tweak
the values of some of these macros.

The following macros are given default values in <sm/config.h>.
If the default value is wrong for a given platform, then a platform
specific value is specified in one of two ways:

  - A -D option is added to the confENVDEF macro; this change can be made
    to the platform M4 file in devtools/OS, or to the site.config.m4
    file in devtools/Site.

  - The confSM_OS_HEADER macro in the platform M4 file defines sm_os_foo,
    which forces "sm/os/sm_os_foo.h" to be included by "sm/config.h" via a
    link that is made from "sm_os.h" to "sm/os/sm_os_foo.h".  Platform
    specific configuration macro settings are added to <sm/os/sm_os_foo.h>.

SM_CONF_STDBOOL_H
	Set to 1 if the header file <stdbool.h> exists,
	and defines true, false and bool.

SM_CONF_SYS_CDEFS_H
	Set to 1 if the header file <sys/cdefs.h> exists,
	and defines __P.  You may need to do this to eliminate
	warnings about __P being multiply defined.

SM_CONF_STDDEF_H
	Set to 0 if the header file <stddef.h> does not exist.

SM_CONF_SETITIMER
	Set to 0 if the setitimer function is not available.

SM_CONF_SYSEXITS_H
	Set to 1 if <sysexits.h> exists, and sets the EX_* macros
	to values different from the default BSD values in <sm/sysexits.h>.

SM_CONF_UID_GID
	Set to 0 if <sys/types.h> does not define uid_t and gid_t.

SM_CONF_SSIZE_T
	Set to 0 if <sys/types.h> does not define ssize_t.

SM_CONF_BROKEN_SIZE_T
	Set to 1 if size_t is not unsigned.

SM_CONF_LONGLONG
	Set to 1 if your C compiler supports the 'long long' type.
	This will be set automatically if you use gcc or a C compiler
	that conforms to the 1999 ISO C standard.

SM_CONF_QUAD_T
	Set to 1 if your C compiler does not support 'long long',
	but <sys/types.h> defines quad_t as an integral type.

SM_CONF_SHM
	Set to 1 if System V shared memory APIs are available.

SM_CONF_MSG
	Set to 1 if System V message queues are available.

SM_CONF_SEM
	Set to 1 if semaphores are available.

SM_CONF_BROKEN_STRTOD
	Set to 1 if your strtod() does not work properly.

SM_CONF_GETOPT
	Set to 1 if your operating system does not include getopt(3).

SM_CONF_LDAP_INITIALIZE
	Set to 1 if your LDAP client libraries include ldap_initialize(3).

SM_CONF_LDAP_MEMFREE
	Set to 1 if your LDAP client libraries include ldap_memfree(3).

SM_IO_MAX_BUF_FILE
	Set this to a useful buffer size for regular files if stat(2)
	does not return a value for st_blksize that is the
	"optimal blocksize for I/O".

SM_IO_MAX_BUF
	Set this to a useful maximum buffer size for other than
	regular files if stat(2) does not return a value for
	st_blksize that is the "optimal blocksize for I/O".

SM_IO_MIN_BUF
	Set this to a useful minimum buffer size for other than
	regular files if stat(2) does not return a value for
	st_blksize that is the "optimal blocksize for I/O".

@


1.1.1.1.2.1
log
@MFC: Import sendmail 8.12.2
MFC: Resolve conflicts from sendmail 8.12.2 import
MFC: Remove files no longer part of the sendmail 8.12.2 distribution.
MFC: Fix mail.local build for non-sendmail.org code (1.15)
@
text
@@


1.1.1.1.2.2
log
@MFC: Import sendmail 8.12.3
@
text
@d8 1
a8 1
#	$Id: README,v 1.21 2002/01/23 17:30:48 gshapiro Exp $
a110 3

SM_CONF_LDAP_MEMFREE
	Set to 1 if your LDAP client libraries include ldap_memfree(3).
@


1.1.1.1.2.3
log
@MFC: sendmail 8.13.1 import and related changes
@
text
@d8 1
a8 1
#	$Id: README,v 1.24 2003/12/20 09:23:48 gshapiro Exp $
a110 3

SM_CONF_LDAP_INITIALIZE
	Set to 1 if your LDAP client libraries include ldap_initialize(3).
@


