Blame SOURCES/sendmail-8.14.3-sharedmilter.patch

06f80e
diff -up sendmail-8.14.3/devtools/M4/UNIX/sharedlibrary.m4.sharedmilter sendmail-8.14.3/devtools/M4/UNIX/sharedlibrary.m4
06f80e
--- sendmail-8.14.3/devtools/M4/UNIX/sharedlibrary.m4.sharedmilter	2009-01-20 15:19:34.000000000 +0100
06f80e
+++ sendmail-8.14.3/devtools/M4/UNIX/sharedlibrary.m4	2009-01-20 15:19:34.000000000 +0100
06f80e
@@ -15,22 +15,23 @@ divert(-1)
06f80e
 divert(0)dnl
06f80e
 include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/links.m4')dnl
06f80e
 bldLIST_PUSH_ITEM(`bldC_PRODUCTS', bldCURRENT_PRODUCT)dnl
06f80e
-bldPUSH_TARGET(bldCURRENT_PRODUCT`.a')dnl
06f80e
+bldPUSH_TARGET(bldCURRENT_PRODUCT.so.confSOVER.confSOPLVL)dnl
06f80e
 bldPUSH_INSTALL_TARGET(`install-'bldCURRENT_PRODUCT)dnl
06f80e
 bldPUSH_CLEAN_TARGET(bldCURRENT_PRODUCT`-clean')dnl
06f80e
 
06f80e
 include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4')
06f80e
 divert(bldTARGETS_SECTION)
06f80e
-bldCURRENT_PRODUCT.a: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'}
06f80e
-	${AR} ${AROPTS} bldCURRENT_PRODUCT.a ${bldCURRENT_PRODUCT`OBJS'}
06f80e
-	${RANLIB} ${RANLIBOPTS} bldCURRENT_PRODUCT.a
06f80e
+bldCURRENT_PRODUCT.so.confSOVER.confSOPLVL: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'}
06f80e
+	${CC} ${CFLAGS} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.so.confSOVER.confSOPLVL `-Wl,'confSONAME`,'bldCURRENT_PRODUCT`.so.'confSOVER ${bldCURRENT_PRODUCT`OBJS'}
06f80e
 ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)')
06f80e
 
06f80e
-install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.a
06f80e
+install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.so.confSOVER.confSOPLVL
06f80e
 ifdef(`bldINSTALLABLE', `	ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${bldINSTALL_DIR`'LIBDIR} ]; then confMKDIR -p ${DESTDIR}${bldINSTALL_DIR`'LIBDIR}; else :; fi ')
06f80e
-	${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bldCURRENT_PRODUCT.a ${DESTDIR}${LIBDIR}')
06f80e
+	${LN} ${LNOPTS} bldCURRENT_PRODUCT.so.confSOVER.confSOPLVL ${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.so.confSOVER
06f80e
+	${LN} ${LNOPTS} bldCURRENT_PRODUCT.so.confSOVER ${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.so
06f80e
+	${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bldCURRENT_PRODUCT.so.confSOVER`.'confSOPLVL ${DESTDIR}${LIBDIR}')
06f80e
 
06f80e
 bldCURRENT_PRODUCT-clean:
06f80e
-	rm -f ${OBJS} bldCURRENT_PRODUCT.a ${MANPAGES}
06f80e
+	rm -f ${OBJS} bldCURRENT_PRODUCT.so* ${MANPAGES}
06f80e
 
06f80e
 divert(0)
06f80e
diff -up sendmail-8.14.3/libmilter/Makefile.m4.sharedmilter sendmail-8.14.3/libmilter/Makefile.m4
06f80e
--- sendmail-8.14.3/libmilter/Makefile.m4.sharedmilter	2008-04-08 07:23:44.000000000 +0200
06f80e
+++ sendmail-8.14.3/libmilter/Makefile.m4	2009-01-20 15:26:05.000000000 +0100
06f80e
@@ -9,7 +9,11 @@ define(`confMT', `true')
06f80e
 SMSRCDIR=ifdef(`confSMSRCDIR', `confSMSRCDIR', `${SRCDIR}/sendmail')
06f80e
 PREPENDDEF(`confINCDIRS', `-I${SMSRCDIR} ')
06f80e
 
06f80e
-bldPRODUCT_START(`library', `libmilter')
06f80e
+APPENDDEF(`confOPTIMIZE', `-fno-pie -fPIC')
06f80e
+define(`runCtest', `esyscmd(`echo -e "#include <stdio.h>\n#include \"../include/libmilter/mfapi.h\"\nint main(){'$1`;return 0;}" | gcc -x c -I../include -o ctest - && ./ctest && rm -f ctest')')dnl
06f80e
+define(`confSOVER', runCtest(`printf(\"%d.%d\", SM_LM_VRS_MAJOR(SMFI_VERSION), SM_LM_VRS_MINOR(SMFI_VERSION))'))dnl
06f80e
+define(`confSOPLVL', runCtest(`printf(\"%d\", SM_LM_VRS_PLVL(SMFI_VERSION))'))dnl
06f80e
+bldPRODUCT_START(`sharedlibrary', `libmilter')
06f80e
 define(`bldINSTALLABLE', `true')
06f80e
 define(`LIBMILTER_EXTRAS', `errstring.c strl.c')
06f80e
 APPENDDEF(`confENVDEF', `-DNOT_SENDMAIL -Dsm_snprintf=snprintf')