The branch main has been updated by jrtc27:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=81805ec30074363e5d7d7add37b3ccf4f1eb396b

commit 81805ec30074363e5d7d7add37b3ccf4f1eb396b
Author:     Jessica Clarke <[email protected]>
AuthorDate: 2023-07-27 04:10:47 +0000
Commit:     Jessica Clarke <[email protected]>
CommitDate: 2023-07-27 04:10:47 +0000

    depend-cleanup.sh: Generalise lib32 code and avoid duplication
    
    By passing through _ALL_libcompats we can avoid hard-coding the list of
    libcompats in depend-cleanup.sh. This cleanup also makes clean_dep
    shorter by using a loop instead of handling each case explicitly (at the
    expense of slightly tweaked logging).
    
    Reviewed by:    brooks, jhb
    Differential Revision:  https://reviews.freebsd.org/D41187
---
 Makefile.inc1                 |  1 +
 tools/build/depend-cleanup.sh | 44 +++++++++++++++++++++++++------------------
 2 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/Makefile.inc1 b/Makefile.inc1
index b3a33a928ee5..3f0546861bbd 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1026,6 +1026,7 @@ _sanity_check: .PHONY .MAKE
 _cleanobj_fast_depend_hack: .PHONY
        @echo ">>> Deleting stale dependencies...";
        MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} \
+           ALL_libcompats=${_ALL_libcompats:Q} \
            sh ${.CURDIR}/tools/build/depend-cleanup.sh ${OBJTOP}
 
 _worldtmp: .PHONY
diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh
index 39ab518d5dc9..687f04f57f8c 100755
--- a/tools/build/depend-cleanup.sh
+++ b/tools/build/depend-cleanup.sh
@@ -73,6 +73,10 @@ if [ -z "${MACHINE_ARCH+set}" ]; then
        err "MACHINE_ARCH not set"
 fi
 
+if [ -z "${ALL_libcompats+set}" ]; then
+       err "ALL_libcompats not set"
+fi
+
 run()
 {
        if [ "$VERBOSE" ]; then
@@ -88,18 +92,15 @@ run()
 # $3 source extension
 clean_dep()
 {
-       if egrep -qw "$2\.$3" "$OBJTOP"/$1/.depend.$2.*o 2>/dev/null; then
-               echo "Removing stale dependencies and objects for $2.$3"
-               run rm -f \
-                   "$OBJTOP"/$1/.depend.$2.* \
-                   "$OBJTOP"/$1/$2.*o
-       fi
-       if egrep -qw "$2\.$3" "$OBJTOP"/obj-lib32/$1/.depend.$2.*o 2>/dev/null; 
then
-               echo "Removing 32-bit stale dependencies and objects for $2.$3"
-               run rm -f \
-                   "$OBJTOP"/obj-lib32/$1/.depend.$2.* \
-                   "$OBJTOP"/obj-lib32/$1/$2.*o
-       fi
+       for libcompat in "" $ALL_libcompats; do
+               dirprfx=${libcompat:+obj-lib${libcompat}/}
+               if egrep -qw "$2\.$3" "$OBJTOP"/$dirprfx$1/.depend.$2.*o 
2>/dev/null; then
+                       echo "Removing stale ${libcompat:+lib${libcompat} 
}dependencies and objects for $2.$3"
+                       run rm -f \
+                           "$OBJTOP"/$dirprfx$1/.depend.$2.* \
+                           "$OBJTOP"/$dirprfx$1/$2.*o
+               fi
+       done
 }
 
 # Date      Rev      Description
@@ -113,7 +114,10 @@ if [ -e 
"$OBJTOP"/cddl/lib/libzfs/.depend.libzfs_changelist.o ] && \
     egrep -qw "cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c" 
\
     "$OBJTOP"/cddl/lib/libzfs/.depend.libzfs_changelist.o; then
        echo "Removing old ZFS tree"
-       run rm -rf "$OBJTOP"/cddl "$OBJTOP"/obj-lib32/cddl
+       for libcompat in "" $ALL_libcompats; do
+               dirprfx=${libcompat:+obj-lib${libcompat}/}
+               run rm -rf "$OBJTOP"/${dirprfx}cddl
+       done
 fi
 
 # 20200916  WARNS bumped, need bootstrapped crunchgen stubs
@@ -134,7 +138,10 @@ fi
 # 20210108  821aa63a0940   non-widechar version of ncurses removed
 if [ -e "$OBJTOP"/lib/ncurses/ncursesw ]; then
        echo "Removing stale ncurses objects"
-       run rm -rf "$OBJTOP"/lib/ncurses "$OBJTOP"/obj-lib32/lib/ncurses
+       for libcompat in "" $ALL_libcompats; do
+               dirprfx=${libcompat:+obj-lib${libcompat}/}
+               run rm -rf "$OBJTOP"/${dirprfx}lib/ncurses
+       done
 fi
 
 # 20210608  f20893853e8e    move from atomic.S to atomic.c
@@ -183,10 +190,11 @@ clean_dep   lib/libc        kqueue1 S
 # 20230623  b077aed33b7b    OpenSSL 3.0 update
 if [ -f "$OBJTOP"/secure/lib/libcrypto/aria.o ]; then
        echo "Removing old OpenSSL 1.1.1 tree"
-       run rm -rf "$OBJTOP"/secure/lib/libcrypto \
-           "$OBJTOP"/secure/lib/libssl \
-           "$OBJTOP"/obj-lib32/secure/lib/libcrypto \
-           "$OBJTOP"/obj-lib32/secure/lib/libssl
+       for libcompat in "" $ALL_libcompats; do
+               dirprfx=${libcompat:+obj-lib${libcompat}/}
+               run rm -rf "$OBJTOP"/${dirprfx}secure/lib/libcrypto \
+                   "$OBJTOP"/${dirprfx}secure/lib/libssl
+       done
 fi
 
 # 20230714  ee8b0c436d72    replace ffs/fls implementations with clang builtins

Reply via email to