diff options
Diffstat (limited to 'devtools/M4/UNIX')
-rw-r--r-- | devtools/M4/UNIX/all.m4 | 121 | ||||
-rw-r--r-- | devtools/M4/UNIX/check.m4 | 28 | ||||
-rw-r--r-- | devtools/M4/UNIX/defines.m4 | 169 | ||||
-rw-r--r-- | devtools/M4/UNIX/executable.m4 | 42 | ||||
-rw-r--r-- | devtools/M4/UNIX/footer.m4 | 19 | ||||
-rw-r--r-- | devtools/M4/UNIX/library.m4 | 36 | ||||
-rw-r--r-- | devtools/M4/UNIX/links.m4 | 29 | ||||
-rw-r--r-- | devtools/M4/UNIX/manpage.m4 | 79 | ||||
-rw-r--r-- | devtools/M4/UNIX/sm-test.m4 | 28 | ||||
-rw-r--r-- | devtools/M4/UNIX/smlib.m4 | 27 |
10 files changed, 578 insertions, 0 deletions
diff --git a/devtools/M4/UNIX/all.m4 b/devtools/M4/UNIX/all.m4 new file mode 100644 index 0000000000000..327c2bd0618f0 --- /dev/null +++ b/devtools/M4/UNIX/all.m4 @@ -0,0 +1,121 @@ +divert(-1) +# +# Copyright (c) 1999-2000, 2006 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. +# +# +# Definitions for Makefile construction for sendmail +# +# $Id: all.m4,v 8.21 2006/06/14 20:18:27 ca Exp $ +# +divert(0)dnl +ALL=${BEFORE} ${LINKS} bldTARGETS + +all: ${ALL} + +clean: bldCLEAN_TARGETS + +define(`bldADD_SRC', ${$1SRCS} )dnl +SRCS=bldFOREACH(`bldADD_SRC(', bldC_PRODUCTS) +define(`bldADD_OBJS', ${$1OBJS} )dnl +OBJS=bldFOREACH(`bldADD_OBJS(', bldC_PRODUCTS) + +ifdef(`bldCHECK_PROGRAMS',`dnl +check_PROGRAMS=bldCHECK_PROGRAMS') + +ifdef(`bldCHECK_TARGETS',`dnl +TESTS=bldCHECK_TARGETS') + +VPATH=${srcdir} +changequote([[, ]]) +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; \ + list='$(TESTS)'; \ + srcdir=$(srcdir); export srcdir; \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + echo "XPASS: $$tst"; \ + ;; \ + *) \ + echo "PASS: $$tst"; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xfail=`expr $$xfail + 1`; \ + echo "XFAIL: $$tst"; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + echo "FAIL: $$tst"; \ + ;; \ + esac; \ + fi; \ + done; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="All $$all tests passed"; \ + else \ + banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all tests failed"; \ + else \ + banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ + fi; \ + fi; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes"; \ + test "$$failed" -eq 0; \ + fi +changequote(`, ') + +check-am: all + $(MAKE) $(check_PROGRAMS) + $(MAKE) check-TESTS +check: check-am + + +define(`bldADD_SRC_CHK', ${$1SRCS_CHK} )dnl +SRCS_CHK=bldFOREACH(`bldADD_SRC_CHK(', bldC_CHECKS) +define(`bldADD_OBJS_CHK', ${$1OBJS_CHK} )dnl +OBJS_CHK=bldFOREACH(`bldADD_OBJS(', bldC_CHECKS) + +ifdef(`bldNO_INSTALL', `divert(-1)') +install: bldINSTALL_TARGETS + +install-strip: bldINSTALL_TARGETS ifdef(`bldSTRIP_TARGETS', `bldSTRIP_TARGETS') +ifdef(`bldNO_INSTALL', `divert(0)') + +ifdef(`confREQUIRE_SM_OS_H',` +ifdef(`confSM_OS_HEADER', +`sm_os.h: ${SRCDIR}/inc`'lude/sm/os/confSM_OS_HEADER.h + ${RM} ${RMOPTS} sm_os.h + ${LN} ${LNOPTS} ${SRCDIR}/inc`'lude/sm/os/confSM_OS_HEADER.h sm_os.h', +`sm_os.h: + ${CP} /dev/null sm_os.h')') + +divert(bldDEPENDENCY_SECTION) +################ Dependency scripts +include(confBUILDTOOLSDIR/M4/depend/ifdef(`confDEPEND_TYPE', `confDEPEND_TYPE', +`generic').m4)dnl +################ End of dependency scripts +divert(0) diff --git a/devtools/M4/UNIX/check.m4 b/devtools/M4/UNIX/check.m4 new file mode 100644 index 0000000000000..581a5aa889c7f --- /dev/null +++ b/devtools/M4/UNIX/check.m4 @@ -0,0 +1,28 @@ +divert(-1) +# +# Copyright (c) 2006 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. +# +# Compile/run a test program. +# +# $Id: check.m4,v 8.5 2006/08/28 23:48:54 ca Exp $ +# +define(`smcheck', `dnl +ifelse(X`'$2, `X', `', `ifelse(index($2, `run'), `-1', `', `dnl +bldLIST_PUSH_ITEM(`bldCHECK_TARGETS', $1)dnl +')') +ifelse(X`'$2, `X', `', `ifelse(index($2, `compile'), `-1', `', `dnl +bldLIST_PUSH_ITEM(`bldC_CHECKS', $1)dnl +bldLIST_PUSH_ITEM(`bldCHECK_PROGRAMS', $1)dnl +bldPUSH_CLEAN_TARGET($1`-clean')dnl +divert(bldTARGETS_SECTION) +$1`'SRCS=$1.c +$1: ${BEFORE} $1.o ifdef(`confCHECK_LIBS', `confCHECK_LIBS') + ${CC} -o $1 ${LDOPTS} ${LIBDIRS} $1.o ifdef(`confCHECK_LIBS', `confCHECK_LIBS') ${LIBS} +$1-clean: + rm -f $1 $1.o')') +divert(0)') diff --git a/devtools/M4/UNIX/defines.m4 b/devtools/M4/UNIX/defines.m4 new file mode 100644 index 0000000000000..a4a04c6cc35b9 --- /dev/null +++ b/devtools/M4/UNIX/defines.m4 @@ -0,0 +1,169 @@ +divert(-1) +# +# Copyright (c) 1999-2001, 2006 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. +# +# +# Definitions for Makefile construction for sendmail +# +# $Id: defines.m4,v 8.47 2006/10/06 05:44:44 ca Exp $ +# +# temporary hack: if confREQUIRE_LIBSM is set then also set confREQUIRE_SM_OS_H +ifdef(`confREQUIRE_LIBSM',` +ifdef(`confREQUIRE_SM_OS_H',`', `define(`confREQUIRE_SM_OS_H', `1')')') +# +divert(0)dnl + +# C compiler +CC= confCC +CCOPTS= ifdef(`confCCOPTS', `confCCOPTS', ` ') ifdef(`confMT', ifdef(`confMTCCOPTS', `confMTCCOPTS', `'), `') + +# Linker for executables +CCLINK = ifdef(`confCCLINK', `confCCLINK', `confCC') +# Linker for libraries +LD= ifdef(`confLD', `confLD', `confCC') +LDOPTS= ifdef(`confLDOPTS', `confLDOPTS') ifdef(`confMT', ifdef(`confMTLDOPTS', `confMTLDOPTS', `'), `') +LDOPTS_SO= ${LDOPTS} ifdef(`confLDOPTS_SO', `confLDOPTS_SO', `-shared') + +# Shell +SHELL= confSHELL + +# use O=-O (usual) or O=-g (debugging) +O= ifdef(`confOPTIMIZE', `confOPTIMIZE', `-O') + +# Object archiver +AR= ifdef(`confAR', `confAR', `ar') +AROPTS= ifdef(`confAROPTS', `confAROPTS', `crv') + +# Remove command +RM= ifdef(`confRM', `confRM', `rm') +RMOPTS= ifdef(`confRMOPTS', `confRMOPTS', `-f') + +# Link command +LN= ifdef(`confLN', `confLN', `ln') +LNOPTS= ifdef(`confLNOPTS', `confLNOPTS', `-f -s') + +# Ranlib (or echo) +RANLIB= ifdef(`confRANLIB', `confRANLIB', `ranlib') +RANLIBOPTS= ifdef(`confRANLIBOPTS', `confRANLIBOPTS', `') + +# Object stripper +STRIP= ifdef(`confSTRIP', `confSTRIP', `strip') +STRIPOPTS= ifdef(`confSTRIPOPTS', `confSTRIPOPTS', `') + +# environment definitions (e.g., -D_AIX3) +ENVDEF= ifdef(`confENVDEF', `confENVDEF') ifdef(`conf_'bldCURRENT_PRD`_ENVDEF', `conf_'bldCURRENT_PRD`_ENVDEF') + +# location of the source directory +SRCDIR= ifdef(`confSRCDIR', `confSRCDIR', `_SRC_PATH_') + +# inc`'lude directories +INCDIRS= confINCDIRS + +# library directories +LIBDIRS=confLIBDIRS + +# Additional libs needed +LIBADD= ifdef(`conf_'bldCURRENT_PRD`_LIBS', `conf_'bldCURRENT_PRD`_LIBS') + +# libraries required on your system +LIBS= ${LIBADD} ifdef(`confLIBS', `confLIBS') ifdef(`conf_'bldCURRENT_PRD`_LIB_POST', `conf_'bldCURRENT_PRD`_LIB_POST') + +# location of sendmail binary (usually /usr/sbin or /usr/lib) +BINDIR= ifdef(`confMBINDIR', `confMBINDIR', `/usr/sbin') + +# location of "user" binaries (usually /usr/bin or /usr/ucb) +UBINDIR=ifdef(`confUBINDIR', `confUBINDIR', `/usr/bin') + +# location of "root" binaries (usually /usr/sbin or /usr/etc) +SBINDIR=ifdef(`confSBINDIR', `confSBINDIR', `/usr/sbin') + +# location of "root" binaries (usually /usr/sbin or /usr/etc) +MBINDIR=ifdef(`confMBINDIR', `confMBINDIR', `/usr/sbin') + +# location of "libexec" binaries (usually /usr/libexec or /usr/etc) +EBINDIR=ifdef(`confEBINDIR', `confEBINDIR', `/usr/libexec') + +# where to install inc`'lude files (usually /usr/inc`'lude) +INCLUDEDIR=ifdef(`confINCLUDEDIR', `confINCLUDEDIR', `/usr/inc`'lude') + +# where to install library files (usually /usr/lib) +LIBDIR=ifdef(`confLIBDIR', `confLIBDIR', `/usr/lib') + +# additional .c files needed +SRCADD= ifdef(`confSRCADD', `confSRCADD') + +ifdef(`conf_'bldCURRENT_PRD`_SRCADD', `bldLIST_PUSH_ITEM(`bldSOURCES', `conf_'bldCURRENT_PRD`_SRCADD')') + +# additional .o files needed +OBJADD= ifdef(`confOBJADD', `confOBJADD') +bldCURRENT_PRODUCT`OBJADD'= ifdef(`conf_'bldCURRENT_PRD`_OBJADD', `conf_'bldCURRENT_PRD`_OBJADD') ifdef(`confLIBADD', `bldADD_EXTENSIONS(`a', confLIBADD)', `') + +# copy files +CP= ifdef(`confCOPY', `confCOPY', `cp') + +# In some places windows wants nmake where unix would just want make +NMAKE=ifdef(`confNMAKE', `confNMAKE', `${MAKE}') + +################### end of user configuration flags ###################### + +BUILDBIN=confBUILDBIN +COPTS= -I. ${INCDIRS} ${ENVDEF} ${CCOPTS} +CFLAGS= $O ${COPTS} ifdef(`confMT', ifdef(`confMTCFLAGS', `confMTCFLAGS -DXP_MT', `-DXP_MT'), `') + + +BEFORE= confBEFORE ifdef(`confREQUIRE_SM_OS_H',`sm_os.h') + +LINKS=ifdef(`bldLINK_SOURCES', `bldLINK_SOURCES', `') + +bldCURRENT_PRODUCT`SRCS'= bldSOURCES ${SRCADD} +bldCURRENT_PRODUCT`OBJS'= bldSUBST_EXTENSIONS(`o', bldSOURCES) ifdef(`bldLINK_SOURCES', `bldSUBST_EXTENSIONS(`o', bldLINK_SOURCES)') ${OBJADD} ${bldCURRENT_PRODUCT`OBJADD'} +bldCURRENT_PRODUCT`SMDEPLIBS'= ifdef(`bldSMDEPLIBS', `bldSMDEPLIBS', `') +bldCURRENT_PRODUCT`TARGET_LINKS'= ifdef(`bldTARGET_LINKS', `bldTARGET_LINKS', `') + +bldPUSH_ALL_SRCS(bldCURRENT_PRODUCT`SRCS')dnl + +ifdef(`bldBIN_TYPE', , `define(`bldBIN_TYPE', `U')')dnl +ifdef(`bldINSTALL_DIR', , `define(`bldINSTALL_DIR', `U')')dnl + +NROFF= ifdef(`confNROFF', `confNROFF', `groff -Tascii') +MANDOC= ifdef(`confMANDOC', `confMANDOC', `-man') + +INSTALL=ifdef(`confINSTALL', `confINSTALL', `install') + +# User binary ownership/permissions +UBINOWN=ifdef(`confUBINOWN', `confUBINOWN', `bin') +UBINGRP=ifdef(`confUBINGRP', `confUBINGRP', `bin') +UBINMODE=ifdef(`confUBINMODE', `confUBINMODE', `555') + +# Setuid binary ownership/permissions +SBINOWN=ifdef(`confSBINOWN', `confSBINOWN', `root') +SBINGRP=ifdef(`confSBINGRP', `confSBINGRP', `bin') +SBINMODE=ifdef(`confSBINMODE', `confSBINMODE', `4555') + +# Setgid binary ownership/permissions +GBINOWN=ifdef(`confGBINOWN', `confGBINOWN', `root') +GBINGRP=ifdef(`confGBINGRP', `confGBINGRP', `smmsp') +GBINMODE=ifdef(`confGBINMODE', `confGBINMODE', `2555') + +# owner of MSP queue +MSPQOWN=ifdef(`confMSPQOWN', `confMSPQOWN', `smmsp') + +# MTA binary ownership/permissions +MBINOWN=ifdef(`confMBINOWN', `confMBINOWN', `root') +MBINGRP=ifdef(`confMBINGRP', `confMBINGRP', `bin') +MBINMODE=ifdef(`confMBINMODE', `confMBINMODE', `550') + +# Library ownership/permissions +LIBOWN=ifdef(`confLIBOWN', `confLIBOWN', `root') +LIBGRP=ifdef(`confLIBGRP', `confLIBGRP', `bin') +LIBMODE=ifdef(`confLIBMODE', `confLIBMODE', `0444') + +# Include file ownership/permissions +INCOWN=ifdef(`confINCOWN', `confINCOWN', `root') +INCGRP=ifdef(`confINCGRP', `confINCGRP', `bin') +INCMODE=ifdef(`confINCMODE', `confINCMODE', `0444') diff --git a/devtools/M4/UNIX/executable.m4 b/devtools/M4/UNIX/executable.m4 new file mode 100644 index 0000000000000..44d255890c38b --- /dev/null +++ b/devtools/M4/UNIX/executable.m4 @@ -0,0 +1,42 @@ +divert(-1) +# +# Copyright (c) 1999, 2001, 2006 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. +# +# +# Definitions for Makefile construction for sendmail +# +# $Id: executable.m4,v 8.24 2006/10/06 05:44:44 ca Exp $ +# +divert(0)dnl +include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/links.m4')dnl +bldLIST_PUSH_ITEM(`bldC_PRODUCTS', bldCURRENT_PRODUCT)dnl +bldPUSH_TARGET(bldCURRENT_PRODUCT)dnl +bldPUSH_INSTALL_TARGET(`install-'bldCURRENT_PRODUCT)dnl +bldPUSH_CLEAN_TARGET(bldCURRENT_PRODUCT`-clean')dnl +bldPUSH_ALL_SRCS(bldCURRENT_PRODUCT`SRCS')dnl +bldPUSH_STRIP_TARGET(`strip-'bldCURRENT_PRODUCT)dnl + +include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4') +divert(bldTARGETS_SECTION) +bldCURRENT_PRODUCT: ${bldCURRENT_PRODUCT`OBJS'} ${bldCURRENT_PRODUCT`SMDEPLIBS'} + ${CCLINK} -o bldCURRENT_PRODUCT ${LDOPTS} ${LIBDIRS} ${bldCURRENT_PRODUCT`OBJS'} ${LIBS} + +ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)') + +ifdef(`bldNO_INSTALL', , +`install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT ifdef(`bldTARGET_INST_DEP', `bldTARGET_INST_DEP') + ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${bldINSTALL_DIR`'BINDIR} ]; then confMKDIR -p ${DESTDIR}${bldINSTALL_DIR`'BINDIR}; else :; fi ') + ${INSTALL} -c -o ${bldBIN_TYPE`'BINOWN} -g ${bldBIN_TYPE`'BINGRP} -m ${bldBIN_TYPE`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${bldINSTALL_DIR`'BINDIR} +ifdef(`bldTARGET_LINKS', `bldMAKE_TARGET_LINKS(${bldINSTALL_DIR`'BINDIR}/bldCURRENT_PRODUCT, ${bldCURRENT_PRODUCT`'TARGET_LINKS})')') + +strip-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT + ${STRIP} ${STRIPOPTS} ${DESTDIR}${bldINSTALL_DIR`'BINDIR}`'/bldCURRENT_PRODUCT + +bldCURRENT_PRODUCT-clean: + rm -f ${OBJS} bldCURRENT_PRODUCT ${MANPAGES} +divert(0) diff --git a/devtools/M4/UNIX/footer.m4 b/devtools/M4/UNIX/footer.m4 new file mode 100644 index 0000000000000..18b386eb34a49 --- /dev/null +++ b/devtools/M4/UNIX/footer.m4 @@ -0,0 +1,19 @@ +divert(-1) +# +# Copyright (c) 1999 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. +# +# +# Definitions for Makefile construction for sendmail +# +# $Id: footer.m4,v 8.2 1999/05/13 16:16:35 gshapiro Exp $ +# +divert(0)dnl +################ Dependency scripts +include(confBUILDTOOLSDIR/M4/depend/ifdef(`confDEPEND_TYPE', `confDEPEND_TYPE', +`generic').m4)dnl +################ End of dependency scripts diff --git a/devtools/M4/UNIX/library.m4 b/devtools/M4/UNIX/library.m4 new file mode 100644 index 0000000000000..77ed2104e9052 --- /dev/null +++ b/devtools/M4/UNIX/library.m4 @@ -0,0 +1,36 @@ +divert(-1) +# +# Copyright (c) 1999-2001, 2006 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. +# +# +# Definitions for Makefile construction for sendmail +# +# $Id: library.m4,v 8.11 2006/09/05 22:56:53 ca Exp $ +# +divert(0)dnl +include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/links.m4')dnl +bldLIST_PUSH_ITEM(`bldC_PRODUCTS', bldCURRENT_PRODUCT)dnl +bldPUSH_TARGET(bldCURRENT_PRODUCT`.a')dnl +bldPUSH_INSTALL_TARGET(`install-'bldCURRENT_PRODUCT)dnl +bldPUSH_CLEAN_TARGET(bldCURRENT_PRODUCT`-clean')dnl + +include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4') +divert(bldTARGETS_SECTION) +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: bldCURRENT_PRODUCT.a +ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${bldINSTALL_DIR`'LIBDIR} ]; then confMKDIR -p ${DESTDIR}${bldINSTALL_DIR`'LIBDIR}; else :; fi ') + ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bldCURRENT_PRODUCT.a ${DESTDIR}${LIBDIR}') + +bldCURRENT_PRODUCT-clean: + rm -f ${OBJS} bldCURRENT_PRODUCT.a ${MANPAGES} + +divert(0) diff --git a/devtools/M4/UNIX/links.m4 b/devtools/M4/UNIX/links.m4 new file mode 100644 index 0000000000000..d47eb5b2dc3b3 --- /dev/null +++ b/devtools/M4/UNIX/links.m4 @@ -0,0 +1,29 @@ +divert(-1) +# +# Copyright (c) 1999 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. +# +# +# Definitions for Makefile construction for sendmail +# +# $Id: links.m4,v 8.5 1999/07/25 03:53:08 gshapiro Exp $ +# +divert(0)dnl +define(`bldMAKE_SOURCE_LINK', +`$1: ${SRCDIR}/$1 + -ln -s ${SRCDIR}/$1 $1' +)dnl +define(`bldMAKE_SOURCE_LINKS', +`bldFOREACH(`bldMAKE_SOURCE_LINK(', $1)'dnl +)dnl +define(`bldMAKE_TARGET_LINKS', +` for i in $2; do \ + rm -f $$i; \ + ln -s $1 $$i; \ + done' +)dnl + diff --git a/devtools/M4/UNIX/manpage.m4 b/devtools/M4/UNIX/manpage.m4 new file mode 100644 index 0000000000000..c46cf6fb49bbe --- /dev/null +++ b/devtools/M4/UNIX/manpage.m4 @@ -0,0 +1,79 @@ +divert(-1) +# +# Copyright (c) 1999-2001 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. +# +# +# Definitions for Makefile construction for sendmail +# +# $Id: manpage.m4,v 8.15 2006/09/07 22:13:07 ca Exp $ +# +divert(0)dnl + +define(`bldGET_MAN_SOURCE_NUM', +`substr($1, eval(len($1) - 1))'dnl +)dnl +define(`bldGET_MAN_BASE_NAME', +`substr($1, 0, eval(len($1) - 2))'dnl +)dnl +ifdef(`confNO_MAN_BUILD',, ` +bldPUSH_TARGET(`${MANPAGES}') +bldPUSH_INSTALL_TARGET(`install-docs')') +bldLIST_PUSH_ITEM(`bldMAN_PAGES', `bldSOURCES')dnl + +MANOWN= ifdef(`confMANOWN', `confMANOWN', `bin') +MANGRP= ifdef(`confMANGRP', `confMANGRP', `bin') +MANMODE=ifdef(`confMANMODE', `confMANMODE', `444') +MANROOT=ifdef(`confMANROOT', `confMANROOT', `/usr/share/man/cat') +MANROOTMAN=ifdef(`confMANROOTMAN', `confMANROOTMAN', `/usr/share/man/man') +MAN1= ${MANROOT}ifdef(`confMAN1', `confMAN1', `1') +MAN1MAN=${MANROOTMAN}ifdef(`confMAN1', `confMAN1', `1') +MAN1EXT=ifdef(`confMAN1EXT', `confMAN1EXT', `1') +MAN1SRC=ifdef(`confMAN1SRC', `confMAN1SRC', `0') +MAN3= ${MANROOT}ifdef(`confMAN3', `confMAN3', `3') +MAN3MAN=${MANROOTMAN}ifdef(`confMAN3', `confMAN3', `3') +MAN3EXT=ifdef(`confMAN3EXT', `confMAN3EXT', `3') +MAN3SRC=ifdef(`confMAN3SRC', `confMAN3SRC', `0') +MAN4= ${MANROOT}ifdef(`confMAN4', `confMAN4', `4') +MAN4MAN=${MANROOTMAN}ifdef(`confMAN4', `confMAN4', `4') +MAN4EXT=ifdef(`confMAN4EXT', `confMAN4EXT', `4') +MAN4SRC=ifdef(`confMAN4SRC', `confMAN4SRC', `0') +MAN5= ${MANROOT}ifdef(`confMAN5', `confMAN5', `5') +MAN5MAN=${MANROOTMAN}ifdef(`confMAN5', `confMAN5', `5') +MAN5EXT=ifdef(`confMAN5EXT', `confMAN5EXT', `5') +MAN5SRC=ifdef(`confMAN5SRC', `confMAN5SRC', `0') +MAN8= ${MANROOT}ifdef(`confMAN8', `confMAN8', `8') +MAN8MAN=${MANROOTMAN}ifdef(`confMAN8', `confMAN8', `8') +MAN8EXT=ifdef(`confMAN8EXT', `confMAN8EXT', `8') +MAN8SRC=ifdef(`confMAN8SRC', `confMAN8SRC', `0') + +define(`bldMAN_TARGET_NAME', +`bldGET_MAN_BASE_NAME($1).${MAN`'bldGET_MAN_SOURCE_NUM($1)`SRC}' 'dnl +)dnl +MANPAGES= bldFOREACH(`bldMAN_TARGET_NAME(', `bldMAN_PAGES') + +divert(bldTARGETS_SECTION) +define(`bldMAN_BUILD_CMD', +`bldGET_MAN_BASE_NAME($1).${MAN`'bldGET_MAN_SOURCE_NUM($1)`SRC}': bldGET_MAN_BASE_NAME($1).bldGET_MAN_SOURCE_NUM($1) + ${NROFF} ${MANDOC} bldGET_MAN_BASE_NAME($1).bldGET_MAN_SOURCE_NUM($1) > bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}' || ${CP} bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}'.dist bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}'' + +)dnl +bldFOREACH(`bldMAN_BUILD_CMD(', `bldMAN_PAGES') + +install-docs: ${MANPAGES} +ifdef(`confNO_MAN_INSTALL', `divert(-1)', `dnl') +define(`bldMAN_INSTALL_CMD', +`ifdef(`confDONT_INSTALL_CATMAN', `dnl', +` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC} ]; then confMKDIR -p ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}; else :; fi ') + ${INSTALL} -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} bldGET_MAN_BASE_NAME($1).`${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}' `${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)}/bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`EXT}'') +ifdef(`confINSTALL_RAWMAN', +` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN} ]; then confMKDIR -p ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}; else :; fi ') + ${INSTALL} -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} bldGET_MAN_BASE_NAME($1).bldGET_MAN_SOURCE_NUM($1) `${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}'/bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`EXT}'', `dnl')' +)dnl +bldFOREACH(`bldMAN_INSTALL_CMD(', `bldMAN_PAGES') +ifdef(`confNO_MAN_INSTALL', `divert(0)', `dnl') +divert(0) diff --git a/devtools/M4/UNIX/sm-test.m4 b/devtools/M4/UNIX/sm-test.m4 new file mode 100644 index 0000000000000..71ce3c6e3f3fc --- /dev/null +++ b/devtools/M4/UNIX/sm-test.m4 @@ -0,0 +1,28 @@ +divert(-1) +# +# Copyright (c) 2001-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. +# +# Compile/run a test program for libsm. +# +# $Id: sm-test.m4,v 1.7 2002/02/01 17:38:07 ca Exp $ +# +define(`smtest', +`bldPUSH_TARGET($1)dnl +bldLIST_PUSH_ITEM(`bldC_PRODUCTS', $1)dnl +bldPUSH_CLEAN_TARGET($1`-clean')dnl +divert(bldTARGETS_SECTION) +$1`'SRCS=$1.c +$1: ${BEFORE} $1.o ifdef(`confREQUIRE_LIBSM', `libsm.a') + ${CC} -o $1 ${LDOPTS} ${LIBDIRS} $1.o ifdef(`confREQUIRE_LIBSM', `libsm.a') ${LIBS} +ifelse(len(X`'$2), `1', `', ` + @echo ============================================================ + ./$1 + @echo ============================================================') +$1-clean: + rm -f $1 $1.o +divert(0)') diff --git a/devtools/M4/UNIX/smlib.m4 b/devtools/M4/UNIX/smlib.m4 new file mode 100644 index 0000000000000..9720d7d7427c2 --- /dev/null +++ b/devtools/M4/UNIX/smlib.m4 @@ -0,0 +1,27 @@ +divert(-1) +# +# Copyright (c) 1999-2000 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. +# +# +# Definitions for Makefile construction for sendmail +# +# $Id: smlib.m4,v 8.3 2000/07/07 18:52:23 dmoen Exp $ +# +divert(0)dnl + +define(`confLIBEXT', `a')dnl + +define(`bldPUSH_SMLIB', + `bldPUSH_TARGET(bldABS_OBJ_DIR`/lib$1/lib$1.a') +bldPUSH_SMDEPLIB(bldABS_OBJ_DIR`/lib$1/lib$1.a') +PREPENDDEF(`confLIBS', bldABS_OBJ_DIR`/lib$1/lib$1.a') +divert(bldTARGETS_SECTION) +bldABS_OBJ_DIR/lib$1/lib$1.a: + (cd ${SRCDIR}/lib$1; sh Build ${SENDMAIL_BUILD_FLAGS}) +divert +')dnl |