summaryrefslogtreecommitdiff
path: root/devtools
diff options
context:
space:
mode:
Diffstat (limited to 'devtools')
-rw-r--r--devtools/M4/UNIX/all.m43
-rw-r--r--devtools/M4/UNIX/sharedlib.m464
-rw-r--r--devtools/OS/Darwin.21.x24
-rw-r--r--devtools/OS/Darwin.22.x24
-rw-r--r--devtools/OS/Darwin.23.x24
-rw-r--r--devtools/OS/HP-UX.11.x2
-rw-r--r--devtools/README13
-rw-r--r--devtools/Site/site.config.m4.sample2
-rwxr-xr-xdevtools/bin/configure.sh4
9 files changed, 148 insertions, 12 deletions
diff --git a/devtools/M4/UNIX/all.m4 b/devtools/M4/UNIX/all.m4
index cde5f83e1459..4b95e3ff7a14 100644
--- a/devtools/M4/UNIX/all.m4
+++ b/devtools/M4/UNIX/all.m4
@@ -30,7 +30,7 @@ check_PROGRAMS=bldCHECK_PROGRAMS')
ifdef(`bldCHECK_TARGETS',`dnl
TESTS=bldCHECK_TARGETS')
-VPATH=${srcdir}
+VPATH=${srcdir}:${srcdir}/tests
changequote([[, ]])
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; skip=0; \
@@ -39,6 +39,7 @@ check-TESTS: $(TESTS)
if test -n "$$list"; then \
for tst in $$list; do \
if test -f ./$$tst; then dir=./; \
+ elif test -f "$(srcdir)/tests/$$tst"; then dir="$(srcdir)/tests/"; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
diff --git a/devtools/M4/UNIX/sharedlib.m4 b/devtools/M4/UNIX/sharedlib.m4
new file mode 100644
index 000000000000..c5ffa0ea2b7b
--- /dev/null
+++ b/devtools/M4/UNIX/sharedlib.m4
@@ -0,0 +1,64 @@
+divert(-1)
+#
+# Copyright (c) 2000-2001, 2006, 2008 Proofpoint, 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.
+#
+#
+# Definitions for Makefile construction for sendmail
+#
+# $Id: sharedlib.m4,v 8.19 2013-11-22 20:51:23 ca Exp $
+#
+divert(0)dnl
+
+define(`confLIBEXT', `a')dnl
+
+SHAREDLIB_SUFFIX= ifdef(`confSHAREDLIB_SUFFIX', `confSHAREDLIB_SUFFIX', `')
+SHAREDLIB_EXT= ifdef(`confSHAREDLIB_EXT', `confSHAREDLIB_EXT', `.so')
+SHAREDLIB= bldCURRENT_PRODUCT${SHAREDLIB_EXT}${SHAREDLIB_SUFFIX}
+SHAREDLIB_LINK= bldCURRENT_PRODUCT${SHAREDLIB_EXT}
+SHAREDLIBDIR= ifdef(`confSHAREDLIBDIR',`confSHAREDLIBDIR',`/usr/lib/')
+DEPLIBS= ifdef(`confDEPLIBS', `confDEPLIBS', `') ${bldCURRENT_PRODUCT`SMDEPLIBS'}
+
+CONFIG_SONAME= ifdef(`confSONAME', `confSONAME ${SHAREDLIB}', `')
+
+include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/links.m4')dnl
+bldLIST_PUSH_ITEM(`bldC_PRODUCTS', bldCURRENT_PRODUCT)dnl
+bldPUSH_TARGET(${SHAREDLIB})dnl
+bldPUSH_TARGET(bldCURRENT_PRODUCT`.a')dnl
+bldPUSH_INSTALL_TARGET(`install-'bldCURRENT_PRODUCT)dnl
+bldPUSH_CLEAN_TARGET(bldCURRENT_PRODUCT`-clean')dnl
+
+ifdef(`bld_ALREADY_SO',,
+ `ifdef(`confCCOPTS_SO',
+ `PREPENDDEF(`confCCOPTS', `defn(`confCCOPTS_SO')')')')
+define(`bld_ALREADY_SO')
+include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4')
+divert(bldTARGETS_SECTION)
+
+${SHAREDLIB}: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'} ifelse(bldOS, `AIX', `bldCURRENT_PRODUCT.a')
+ ${LD} ${LDOPTS_SO} ${CONFIG_SONAME} -o ${SHAREDLIB} ${bldCURRENT_PRODUCT`OBJS'} ${LIBDIRS} ${DEPLIBS}
+ ifelse(bldOS, `AIX', `${CP} ${SHAREDLIB} shr.o
+ ${AR} ${AROPTS} bldCURRENT_PRODUCT.a shr.o
+ ${CP} bldCURRENT_PRODUCT.a ${SHAREDLIB}',`rm -f bldCURRENT_PRODUCT${SHAREDLIB_EXT}
+ ${LN} ${SHAREDLIB} bldCURRENT_PRODUCT${SHAREDLIB_EXT}')
+
+bldCURRENT_PRODUCT.a: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'}
+ ${AR} ${AROPTS} bldCURRENT_PRODUCT.a ${bldCURRENT_PRODUCT`OBJS'}
+ ${RANLIB} ${RANLIBOPTS} bldCURRENT_PRODUCT.a
+
+ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)')
+
+install-`'bldCURRENT_PRODUCT: ${SHAREDLIB}
+ ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${SHAREDLIBDIR} ]; then confMKDIR -p ${DESTDIR}${SHAREDLIBDIR}; else :; fi ')
+ ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} ${SHAREDLIB} ${DESTDIR}${SHAREDLIBDIR}
+ ifelse(bldOS, `AIX', `${AR} ${AROPTS} ${DESTDIR}${SHAREDLIBDIR}bldCURRENT_PRODUCT.a ${SHAREDLIB}', `rm -f ${DESTDIR}${SHAREDLIBDIR}${SHAREDLIB_LINK}
+ ${LN} ${LNOPTS} ${DESTDIR}${SHAREDLIBDIR}${SHAREDLIB} ${DESTDIR}${SHAREDLIBDIR}${SHAREDLIB_LINK}')
+
+bldCURRENT_PRODUCT-clean:
+ rm -f ${OBJS} ${SHAREDLIB} bldCURRENT_PRODUCT.a ${MANPAGES} ifelse(bldOS, `AIX', `shr.o', `bldCURRENT_PRODUCT${SHAREDLIB_EXT}')
+
+divert(0)
diff --git a/devtools/OS/Darwin.21.x b/devtools/OS/Darwin.21.x
new file mode 100644
index 000000000000..0d907335bd19
--- /dev/null
+++ b/devtools/OS/Darwin.21.x
@@ -0,0 +1,24 @@
+dnl DO NOT EDIT THIS FILE.
+dnl Place personal settings in devtools/Site/site.config.m4
+
+#
+define(`confCC', `cc -pipe ${Extra_CC_Flags}')
+define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')
+define(`confENVDEF', `-DDARWIN=210000 -DBIND_8_COMPAT -DNETINET6')
+define(`confLDOPTS', `${Extra_LD_Flags}')
+define(`confMTLDOPTS', `-lpthread')
+define(`confMILTER_STATIC', `')
+define(`confDEPEND_TYPE', `CC-M')
+define(`confOPTIMIZE', `-O3')
+define(`confRANLIBOPTS', `-c')
+define(`confHFDIR', `/usr/share/sendmail')
+define(`confINSTALL_RAWMAN')
+define(`confMANOWN', `root')
+define(`confMANGRP', `wheel')
+define(`confUBINOWN', `root')
+define(`confUBINGRP', `wheel')
+define(`confSBINOWN', `root')
+define(`confSBINGRP', `wheel')
+define(`confLDOPTS_SO', `-dynamiclib -flat_namespace -undefined suppress -single_module')
+define(`confSHAREDLIB_EXT', `.dylib')
+APPENDDEF(`conf_sendmail_LIBS', `-lresolv')
diff --git a/devtools/OS/Darwin.22.x b/devtools/OS/Darwin.22.x
new file mode 100644
index 000000000000..d17e3ea7a55a
--- /dev/null
+++ b/devtools/OS/Darwin.22.x
@@ -0,0 +1,24 @@
+dnl DO NOT EDIT THIS FILE.
+dnl Place personal settings in devtools/Site/site.config.m4
+
+#
+define(`confCC', `cc -pipe ${Extra_CC_Flags}')
+define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')
+define(`confENVDEF', `-DDARWIN=220000 -DBIND_8_COMPAT -DNETINET6')
+define(`confLDOPTS', `${Extra_LD_Flags}')
+define(`confMTLDOPTS', `-lpthread')
+define(`confMILTER_STATIC', `')
+define(`confDEPEND_TYPE', `CC-M')
+define(`confOPTIMIZE', `-O3')
+define(`confRANLIBOPTS', `-c')
+define(`confHFDIR', `/usr/share/sendmail')
+define(`confINSTALL_RAWMAN')
+define(`confMANOWN', `root')
+define(`confMANGRP', `wheel')
+define(`confUBINOWN', `root')
+define(`confUBINGRP', `wheel')
+define(`confSBINOWN', `root')
+define(`confSBINGRP', `wheel')
+define(`confLDOPTS_SO', `-dynamiclib -flat_namespace -undefined suppress -single_module')
+define(`confSHAREDLIB_EXT', `.dylib')
+APPENDDEF(`conf_sendmail_LIBS', `-lresolv')
diff --git a/devtools/OS/Darwin.23.x b/devtools/OS/Darwin.23.x
new file mode 100644
index 000000000000..4bf43eef2e16
--- /dev/null
+++ b/devtools/OS/Darwin.23.x
@@ -0,0 +1,24 @@
+dnl DO NOT EDIT THIS FILE.
+dnl Place personal settings in devtools/Site/site.config.m4
+
+#
+define(`confCC', `cc -pipe ${Extra_CC_Flags}')
+define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')
+define(`confENVDEF', `-DDARWIN=230000 -DBIND_8_COMPAT -DNETINET6')
+define(`confLDOPTS', `${Extra_LD_Flags}')
+define(`confMTLDOPTS', `-lpthread')
+define(`confMILTER_STATIC', `')
+define(`confDEPEND_TYPE', `CC-M')
+define(`confOPTIMIZE', `-O3')
+define(`confRANLIBOPTS', `-c')
+define(`confHFDIR', `/usr/share/sendmail')
+define(`confINSTALL_RAWMAN')
+define(`confMANOWN', `root')
+define(`confMANGRP', `wheel')
+define(`confUBINOWN', `root')
+define(`confUBINGRP', `wheel')
+define(`confSBINOWN', `root')
+define(`confSBINGRP', `wheel')
+define(`confLDOPTS_SO', `-dynamiclib -flat_namespace -undefined suppress -single_module')
+define(`confSHAREDLIB_EXT', `.dylib')
+APPENDDEF(`conf_sendmail_LIBS', `-lresolv')
diff --git a/devtools/OS/HP-UX.11.x b/devtools/OS/HP-UX.11.x
index 00c6d290cd41..b87b28323fce 100644
--- a/devtools/OS/HP-UX.11.x
+++ b/devtools/OS/HP-UX.11.x
@@ -3,7 +3,7 @@
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
-# +z is to generate position independant code
+# +z is to generate position independent code
define(`confCClibsmi', `cc -Ae +Z')
define(`confCC', `cc -Ae')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
diff --git a/devtools/README b/devtools/README
index 986e2461bd6b..31aeaff43942 100644
--- a/devtools/README
+++ b/devtools/README
@@ -49,8 +49,7 @@ configuration step by specifying the -S flag with the Build command.
The OS subtree contains definitions for variations on a standard
model for system installation. The M4 variables that can be defined
and their defaults before referencing the appropriate OS definitions
-are listed below. Note that variables preceded by an asterisk (*)
-are currently not used in the open source distribution.
+are listed below.
confBEFORE [empty] Files to create before sendmail is
compiled. The methods must be defined
@@ -86,7 +85,7 @@ confBUILDBIN ../../devtools/bin The location of the build support
directory.
confCC cc The C compiler to use.
confCCOPTS [empty] Additional options to pass to confCC.
-*confCCOPTS_SO [empty] Additional options for compiling
+confCCOPTS_SO [empty] Additional options for compiling
shared object libraries.
confCCLINK confCC Linker to use (for executables).
confCOPY cp A program that copies files.
@@ -127,9 +126,9 @@ confINSTALL install The BSD-compatible install program.
Use ${BUILDBIN}/install.sh if none
is available on your system.
confINSTALL_RAWMAN [undefined] Install the unformatted manual pages.
-*confLD confCC Linker to use (for libraries).
+confLD confCC Linker to use (for libraries).
confLDOPTS [empty] Linker options.
-*confLDOPTS_SO [empty] Additional linker options for
+confLDOPTS_SO [empty] Additional linker options for
linking shared object libraries.
confLIBDIR /usr/lib Where to install library files.
confLIBDIRS [empty] -L flags passed to ld.
@@ -214,9 +213,9 @@ confSBINOWN root The owner for set-user-ID binaries.
confSETUSERID_INSTALL [undefined] Needs to be defined to enable the
install-set-user-id target for
sendmail. See sendmail/SECURITY.
-confSHAREDLIB_EXT .so Shared library file extenion name.
+confSHAREDLIB_EXT .so Shared library file extension name.
confSHAREDLIB_SUFFIX [empty] Shared object version suffix.
-confSHAREDLIBDIR /usr/lib/ Directory for installing shared
+confSHAREDLIBDIR /usr/lib/ Directory for installing shared
library. Note: if the value is
not empty, it must end with a
slash ('/') otherwise it will not
diff --git a/devtools/Site/site.config.m4.sample b/devtools/Site/site.config.m4.sample
index 5cdf0efe027f..9830c648a768 100644
--- a/devtools/Site/site.config.m4.sample
+++ b/devtools/Site/site.config.m4.sample
@@ -21,7 +21,7 @@ APPENDDEF(`confENVDEF', `-UNIS')
dnl #####################################################################
dnl ### ###
dnl ### The next group of statements illustrates how to add support ###
-dnl ### for a particular map class.
+dnl ### for a particular map class. ###
dnl ### ###
dnl ### Note that the map define goes in confMAPDEF, and that any ###
dnl ### special library must be defined. Note, also that include ###
diff --git a/devtools/bin/configure.sh b/devtools/bin/configure.sh
index db85c9df2862..cd5afc7abc1a 100755
--- a/devtools/bin/configure.sh
+++ b/devtools/bin/configure.sh
@@ -167,7 +167,7 @@ then
echo "define(\`confRANLIB', \`ranlib')dnl"
fi
-roff_progs="groff nroff"
+roff_progs="groff nroff mandoc"
for roff_prog in $roff_progs
do
if [ ! -z "`$SHELL $find_prog $roff_prog`" ]
@@ -179,7 +179,7 @@ done
case $found_roff
in
- groff)
+ groff|mandoc)
echo "ifdef(\`confNROFF',,\`define(\`confNROFF', \`$found_roff -Tascii')')dnl"
;;
nroff)