diff options
Diffstat (limited to 'devtools')
| -rw-r--r-- | devtools/M4/UNIX/all.m4 | 3 | ||||
| -rw-r--r-- | devtools/M4/UNIX/sharedlib.m4 | 64 | ||||
| -rw-r--r-- | devtools/OS/Darwin.21.x | 24 | ||||
| -rw-r--r-- | devtools/OS/Darwin.22.x | 24 | ||||
| -rw-r--r-- | devtools/OS/Darwin.23.x | 24 | ||||
| -rw-r--r-- | devtools/OS/HP-UX.11.x | 2 | ||||
| -rw-r--r-- | devtools/README | 13 | ||||
| -rw-r--r-- | devtools/Site/site.config.m4.sample | 2 | ||||
| -rwxr-xr-x | devtools/bin/configure.sh | 4 |
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) |
