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

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

commit 6aebc026b29ad235590fb2b64823baaaa88e4c5e
Author: Jim Jagielski <[email protected]>
AuthorDate: Fri Aug 7 06:13:58 2026 -0400

    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.
    
    Found while building AOO42X on macOS/arm64, where it broke bridgetest
    after the arm64 bridge commits added methods to the IDL; committed
    there as 4421c0a19d. Build-tested on that branch only.
---
 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