Rene Engelhard wrote:
Hi,

with integration of cws unowinregcross (and therefore in m181) we have a
new build requirement: mingw32. See issue 49178.

That should read "See issue 49718", I assume.

It is used for building unowinreg.dll (because using random binaries out
of CVS is bad(tm)).

Sorry for stepping into this so late. As far as I understand, the situation is as follows:

- We have some OOo source files in odk/source/unowinreg/win/ from which a Windows DLL is built, and that Windows DLL is needed on all platforms, not just Windows.

- On SRC680m180 and earlier, the DLL resulting from the sources is checked into CVS as odk/bin/win/unowinreg.dll. On Windows, the DLL is built from sources, on all other platforms, the checked-in version is used. If anybody changes the sources in odk/source/unowinreg/win/, that person is required to also check in a new odk/bin/win/unowinreg.dll (i.e., do a build on Windows to obtain the new DLL and then check it in). The rationale for the checked-in DLL is that it is difficult or impossible to build the DLL on platforms other than Windows.

- Since SRC680m181, the DLL resulting from the sources is no longer checked into CVS. Rather, as a new prerequisite you either need to have the necessary tools available to build it from the sources (i.e., a cross compiler, which might not be available for every platform), or you need to copy the DLL from somewhere. If anybody changes the sources in odk/source/unowinreg/win/, that person is required to make the new version of the DLL globally available somewhere (but not replacing the globally available old version of the DLL, as that might still be needed by people building an older version of OOo) and inform everybody that the prerequisite of copying the DLL from somewhere A has changed to copying it from somewhere B. This step is further complicated by our child workspace mechanism: The changes to odk/source/unowinreg/win/ will happen on some CWS first. So that anybody can build that CWS, a CWS-specific version of the DLL needs to be made available globally, and everybody needs to be informed that when building the CWS, the prerequisite of copying the DLL has changed. Then, the CWS will be integrated into some MWS, and before the MWS is announced as available, an MWS-built version of the DLL (which might differ from the CWS-specific version, e.g., if multiple CWS that made changes to odk/source/unowinreg/win/ are integrated simultaneously) needs to be made available globally, and everybody needs to be informed about the changed prerequisite (and who does do that, the person that did the changes to odk/source/unowinreg/win/ or the person that announces the availability of the new MWS?).

Honestly, the old way looks much less error prone, as it leverages established mechanisms (CVS) to avoid some of the pitfalls. It is of course a laudable approach to build as much as possible from sources. However, that approach apparently has its limits, and you have to be careful not to stretch it too far.

Given these reasons, I strongly vote for undoing the changes introduced in SRC680m181.

(The changes on SRC680m181 might also allow to---optionally---build the DLL from sources on more platforms than was possible before. If that is the case, I think that is a good move which should of course not be undone. It is just the moving of the precompiled DLL from CVS to somewhere else that I find highly problematic.)

-Stephan

[...]
Regards,

Rene

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to