This is an automated email from the ASF dual-hosted git repository.

jimjag pushed a commit to branch AOO42X
in repository https://gitbox.apache.org/repos/asf/openoffice.git

commit 4421c0a19de5765a74284db758e89d8d0d7e5b0b
Author: Jim Jagielski <[email protected]>
AuthorDate: Fri Aug 7 06:10:42 2026 -0400

    Step Four of AOO42X macOS build backports.
    
    testtools: rebuild uno_types.rdb when bridgetest.idl changes
    
    The registry merges in bridgetest.rdb but did not depend on it, so an
    IDL edit left it describing the old interface while the headers and
    libraries described the new one, and the bridge dispatched the added
    methods through stale vtable slots. It only ever came out right on a
    clean build.
    
    $? can no longer name the copy source now that there are two
    prerequisites.
    
    Not a backport: trunk has the same bug and needs the same fix.
---
 main/testtools/source/bridgetest/makefile.mk | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/main/testtools/source/bridgetest/makefile.mk 
b/main/testtools/source/bridgetest/makefile.mk
index 9193933e3a..ca4b8fdd7d 100644
--- a/main/testtools/source/bridgetest/makefile.mk
+++ b/main/testtools/source/bridgetest/makefile.mk
@@ -146,9 +146,13 @@ runtest : $(DLLDEST)$/uno_types.rdb 
$(DLLDEST)$/uno_services.rdb makefile.mk \
 $(DLLDEST)/services.rdb :
     $(COPY) $(SOLARXMLDIR)/ure/services.rdb $@
 
-$(DLLDEST)$/uno_types.rdb : $(SOLARBINDIR)$/udkapi.rdb
+# bridgetest.rdb is merged in below, so it must be a prerequisite too: without
+# it an edit to bridgetest.idl leaves a registry that disagrees with the 
freshly
+# generated headers, and the bridge then dispatches through stale vtable slots.
+# $? cannot be used to name the copy source once there are two prerequisites.
+$(DLLDEST)$/uno_types.rdb : $(SOLARBINDIR)$/udkapi.rdb $(BIN)$/bridgetest.rdb
        echo $(DLLDEST)
-       $(GNUCOPY) $? $@
+       $(GNUCOPY) $(SOLARBINDIR)$/udkapi.rdb $@
     $(REGMERGE) $@ / $(BIN)$/bridgetest.rdb
 
 $(DLLDEST)$/bridgetest_client$(BATCH_SUFFIX) .ERRREMOVE: makefile.mk

Reply via email to