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
