Author: stsp
Date: Mon Sep 14 10:26:23 2026
New Revision: 1938191

Log:
* tools/build/unix-build/Makefile.svn: Fix cyrus-sasl build with LLVM 22.

Two patches which fix build issues were obtained from the OpenBSD ports tree.

Modified:
   subversion/trunk/tools/dev/unix-build/Makefile.svn

Modified: subversion/trunk/tools/dev/unix-build/Makefile.svn
==============================================================================
--- subversion/trunk/tools/dev/unix-build/Makefile.svn  Mon Sep 14 10:22:58 
2026        (r1938190)
+++ subversion/trunk/tools/dev/unix-build/Makefile.svn  Mon Sep 14 10:26:23 
2026        (r1938191)
@@ -1130,8 +1130,76 @@ cyrus-sasl-clean:
 $(DISTDIR)/$(CYRUS_SASL_DIST):
        cd $(DISTDIR) && $(FETCH_CMD) $(CYRUS_SASL_URL)
 
+$(CYRUS_SASL_OBJDIR)/lib_md5.patch:
+       echo 'Index: lib/md5.c' > $@
+       echo '--- lib/md5.c.orig' >> $@
+       echo '+++ lib/md5.c' >> $@
+       echo '@@ -59,8 +59,12 @@ static void Encode PROTO_LIST' >> $@
+       echo '        ((unsigned char *, UINT4 *, unsigned int)); ' >> $@
+       echo ' static void Decode PROTO_LIST' >> $@
+       echo '        ((UINT4 *, const unsigned char *, unsigned int)); ' >> $@
+       echo '+#if 0' >> $@
+       echo ' static void MD5_memcpy PROTO_LIST ((POINTER, POINTER, unsigned 
int));' >> $@
+       echo ' static void MD5_memset PROTO_LIST ((POINTER, int, unsigned 
int));' >> $@
+       echo '+#endif' >> $@
+       echo '+#define MD5_memcpy memcpy' >> $@
+       echo '+#define MD5_memset memset' >> $@
+       echo ' ' >> $@
+       echo ' static unsigned char PADDING[64] = {' >> $@
+       echo '        0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,' >> $@
+       echo '@@ -317,6 +321,7 @@ unsigned int len;' >> $@
+       echo ' ' >> $@
+       echo '         */' >> $@
+       echo ' ' >> $@
+       echo '+#if 0' >> $@
+       echo ' static void MD5_memcpy (output, input, len)' >> $@
+       echo ' POINTER output;' >> $@
+       echo ' POINTER input;' >> $@
+       echo '@@ -341,6 +346,7 @@ unsigned int len;' >> $@
+       echo '        for (i = 0; i < len; i++) ' >> $@
+       echo '        ((char *)output)[i] = (char)value; ' >> $@
+       echo ' }' >> $@
+       echo '+#endif' >> $@
+       echo ' ' >> $@
+       echo ' void _sasl_hmac_md5_init(HMAC_MD5_CTX *hmac,' >> $@
+       echo '                   const unsigned char *key,' >> $@
+       
+$(CYRUS_SASL_OBJDIR)/saslauthd_md5.patch:
+       echo 'Index: saslauthd/md5.c' >> $@
+       echo '--- saslauthd/md5.c.orig' >> $@
+       echo '+++ saslauthd/md5.c' >> $@
+       echo '@@ -59,8 +59,12 @@ static void Encode PROTO_LIST' >> $@
+       echo '        ((unsigned char *, UINT4 *, unsigned int)); ' >> $@
+       echo ' static void Decode PROTO_LIST' >> $@
+       echo '        ((UINT4 *, unsigned char *, unsigned int)); ' >> $@
+       echo '+#if 0' >> $@
+       echo ' static void MD5_memcpy PROTO_LIST ((POINTER, POINTER, unsigned 
int));' >> $@
+       echo ' static void MD5_memset PROTO_LIST ((POINTER, int, unsigned 
int));' >> $@
+       echo '+#endif' >> $@
+       echo '+#define MD5_memcpy memcpy' >> $@
+       echo '+#define MD5_memset memset' >> $@
+       echo ' ' >> $@
+       echo ' static unsigned char PADDING[64] = {' >> $@
+       echo '        0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,' >> $@
+       echo '@@ -317,6 +321,7 @@ unsigned int len;' >> $@
+       echo ' ' >> $@
+       echo '         */' >> $@
+       echo ' ' >> $@
+       echo '+#if 0' >> $@
+       echo ' static void MD5_memcpy (output, input, len)' >> $@
+       echo ' POINTER output;' >> $@
+       echo ' POINTER input;' >> $@
+       echo '@@ -341,6 +346,7 @@ unsigned int len;' >> $@
+       echo '        for (i = 0; i < len; i++) ' >> $@
+       echo '        ((char *)output)[i] = (char)value; ' >> $@
+       echo ' }' >> $@
+       echo '+#endif' >> $@
+       echo ' ' >> $@
+       echo ' void _saslauthd_hmac_md5_init(HMAC_MD5_CTX *hmac,' >> $@
+       echo '                   const unsigned char *key,' >> $@
+
 # retrieve cyrus-sasl
-$(CYRUS_SASL_OBJDIR)/.retrieved: $(DISTDIR)/$(CYRUS_SASL_DIST)
+$(CYRUS_SASL_OBJDIR)/.retrieved: $(DISTDIR)/$(CYRUS_SASL_DIST) 
$(CYRUS_SASL_OBJDIR)/lib_md5.patch $(CYRUS_SASL_OBJDIR)/saslauthd_md5.patch 
        $(call do_check_sha256,$(CYRUS_SASL_DIST))
        [ -d $(CYRUS_SASL_OBJDIR) ] || mkdir -p $(CYRUS_SASL_OBJDIR)
        tar -C $(SRCDIR) -zxf $(DISTDIR)/$(CYRUS_SASL_DIST)
@@ -1159,6 +1227,9 @@ endif
        (cd $(CYRUS_SASL_SRCDIR)/saslauthd/ && ln -sf ../cmulocal)
        # Fix 64-bit time_t format-string issues
        sed -i 's/t%020ld"/t%020lld"/' $(CYRUS_SASL_SRCDIR)/plugins/otp.c
+       # Fix compilation issues related to MD5_mempcy and MD5_memset
+       (cd $(CYRUS_SASL_SRCDIR) && patch -p0 < 
$(CYRUS_SASL_OBJDIR)/lib_md5.patch)
+       (cd $(CYRUS_SASL_SRCDIR) && patch -p0 < 
$(CYRUS_SASL_OBJDIR)/saslauthd_md5.patch)
        touch $@
 
 # configure cyrus-sasl

Reply via email to