On 12/16/11 2:52 PM, Oliver-Rainer Wittmann wrote:
Hi,
until yesterday all my local Windows builds of AOO on the way to our "IP
cleared" milestone are made more or less without the copy-left
components - using configure option --disable-copyleft (it is currently
the default).
As Andre has started working on a certain configure option to enable the
build of copy-left (category-b) components I wanted to try to build nss
and moz in advance.
In the following I am documenting my experiences and my solutions to get
a corresponding build done.
In advance, here in my system setup:
- Windows 7
- Visual Studio C++ 2008 Express
- Windows SDK for Windows 2008 Server
- JDK 1.6.0_27
Thus, I am also using the configure options --disable-directx,
--disable-atl and --disable-activex.
--disable-directx is not necessary, Andé has fixed something that it is
now supported.
Juergen
Here is my journey:
As default configure option --disable-copyleft disables the build of nss
and moz I added configure option --enable-copyleft to my configure call.
The following configure run did not succeed:
<configure output>
[snip]
checking whether to enable build of Mozilla/Mozilla NSS-using
components... yes
checking whether to build Mozilla addressbook connectivity... yes
checking whether to build XML Security support... yes
checking whether to build LDAP configuration backend... yes
checking which LDAP SDK to use... Netscape/Mozilla
checking which mozilla to use... internal
checking for toolkit mozilla should use... checking whether to build
Mozilla/SeaMonkey... yes
checking whether to build provided NSS module... yes
checking for Mozilla build tooling... ok
configure: error: Building SeaMonkey is supported with Microsoft Visual
Studio .NET 2005 only.
</configure output>
I remembered that in the Windows building guide [1] something about
prebuilts and Mozilla binary distribution was said. Thus, I added
configure option --disable-build-mozilla and copied the corresponding
prebuilts, found at [2], in the folder main/moz/zipped/
The next run of the configure did not succeed, too:
<configure output>
[snip]
checking whether to enable build of Mozilla/Mozilla NSS-using
components... yes
checking whether to build Mozilla addressbook connectivity... yes
checking whether to build XML Security support... yes
checking whether to build LDAP configuration backend... yes
checking which LDAP SDK to use... Netscape/Mozilla
checking which mozilla to use... internal
checking for toolkit mozilla should use... checking whether to build
Mozilla/SeaMonkey... no
checking whether to build provided NSS module... yes
checking for Mozilla build tooling... configure: error: Mozilla build
tooling not found.
Use the --with-mozilla-build option after installing the tools obtained
from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32
</configure output>
Now, I was somehow confused:
I have specified that the build of moz is disable, why should I install
Mozilla build tooling. Consulting the configure.in (source for the
configure script) and the Internet gave me the answer. For building nss
the Mozilla build tooling is needed.
Thus, I installed the Mozilla build tooling, found at the above given
location, and I added configure option
--with-mozilla-build=c:/mozilla-build.
The following configure run went well, but having the configure options
--disable-build-mozilla and --with-mozilla-build=c:/mozilla-build side
by side looks very strange.
Now, it was time to start the build. The build took some time and failed
in module instsetoo_native. Build of modules nss and moz worked well,
while in module moz the prebuilts are unpacked instead of performing a
build.
The build failed in module instsetoo_native due to some missing files in
main/external/msvcp71/ and main/external/msvcp80/
- msvcr71.dll in main/external/msvcp71/ - it comes from the Visual
Studio C++ 2003 - I am not sure, if it is really needed.
- msvcp80.dll and msvcr80.dll in main/external/msvcp80/ - these come
from the Visual Studio C++ 2005 - may be there are needed for the
prebuilts in module moz (SeaMonkey), but I am not sure.
After providing these files in the corresponding folders the build
succeeded.
The following features are available in the installed Apache OpenOffice:
- Digital signatures (Menu File - Digital Signatures)
- Macro Security (Menu Tools - Options - Security - button "Macro
Security")
- Uno Service com.sun.star.security.CertificateContainer is available.
This can be tested with the following Basic script:
<basic script>
test = createUnoService("com.sun.star.security.CertificateContainer")
msgbox test.dbg_methods
</basic script>
I hope this helps others to get a Windows build inclusive nss and moz.
May be Andre is inspired in his work regaring the configure script - the
one or the other improved hint or message from the configure script
might help.
I think that the prebuilts for module moz (SeaMonkey version 1.1.4)
should be available inside our SVN repository. One option would be to
directly check them in into folder main/moz/zipped/ where they are
needed. Another option would be that the bootstrap script triggers a
corresponding download, similar to our ext_sources mechanism.
More options?
Which option do we prefer?
Best regards, Oliver.
[1]
http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Building_on_Windows
[2] http://tools.openoffice.org/moz_prebuild/OOo3.2