When compiling sendmail to use version to of the cyrus-sasl library, you should use -DSASL=2 instead of -DSASL. Cyrus-SASL version 2 is unsupported for sendmail until roughly sendmail version 8.13. the -DSASL=2 is an undocumented FFR.
diff -ruN /usr/portage/net-mail/sendmail/sendmail-8.12.7-r4.ebuild /tmp/sendmail-8.12.7-r4.ebuild --- /usr/portage/net-mail/sendmail/sendmail-8.12.7-r4.ebuild 2003-01-27 02:15:00.000000000 -0500 +++ /tmp/sendmail-8.12.7-r4.ebuild 2003-02-01 17:25:42.000000000 -0500 @@ -54,9 +54,9 @@ conf_sendmail_ENVDEF="-DFALSE=0 -DTRUE=1" conf_sendmail_LIBS="" use sasl && confLIBS="${confLIBS} -lsasl2" \ - && confENVDEF="${confENVDEF} -DSASL" \ + && confENVDEF="${confENVDEF} -DSASL=2" \ && confCCOPTS="${confCCOPTS} -I/usr/include/sasl" \ - && conf_sendmail_ENVDEF="${conf_sendmail_ENVDEF} -DSASL" \ + && conf_sendmail_ENVDEF="${conf_sendmail_ENVDEF} -DSASL=2" \ && conf_sendmail_LIBS="${conf_sendmail_LIBS} -lsasl2" use tcpd && confENVDEF="${confENVDEF} -DTCPWRAPPERS" \ && confLIBS="${confLIBS} -lwrap"
I added your changes to sendmail-8.12.7-r5 and verified this is something utilized by 8.12.7. Thanks for update!