office-gobmx/external/nss
Thomas Arnhold f01580ce9c Windows: Require at least Windows XP SP2
* Windows XP SP2 is 0x0502, see
  http://msdn.microsoft.com/en-us/library/aa383745.aspx
* If a module changes the Windows SDK version setting,
  this is done module wide now. So the overall behavior
  is as before. This seems to be the best compromise for
  now.
* We need at least SP2 because of the bluetooth stuff
  used in sd/source/ui/remotecontrol.
* Now, we require at least Internet Explorer 7.0. IE6
  has been outdated for a long time.
* Leave StdAfx.h file definitions, as those are Microsoft
  project specific precompiled header files.
* All local definitions of WINVER are removed, because
  the global WINVER setting makes them obsolete now.

To the relation of the three macros:

Setting _WIN32_WINNT sets WINVER and NTDDI_VERSION
automatically to the same value as _WIN32_WINNT.

WINVER and NTDDI_VERSION can be set idenpendently each
for itself.

Change-Id: Ibcc12493aae4fcaf7bcfda88be99c1b61bc326cb
Reviewed-on: https://gerrit.libreoffice.org/6496
Reviewed-by: Thorsten Behrens <thb@documentfoundation.org>
Tested-by: Thorsten Behrens <thb@documentfoundation.org>
2013-11-20 07:15:16 -06:00
..
ExternalPackage_nss.mk
ExternalProject_nss.mk
Makefile
Module_nss.mk
nsinstall.py
nspr-4.9-build.patch.3
nss-3.13.3-build.patch.3 Windows: Require at least Windows XP SP2 2013-11-20 07:15:16 -06:00
nss-3.13.5-zlib-werror.patch
nss.aix.patch
nss.mingw.patch.3
nss.patch
nss.windows.patch
nss_macosx.patch
README
UnpackedTarball_nss.mk

Contains the security libraries which are also part of [[moz]]. However nss is meant to be more current.

== Relation between nss, moz, moz_prebuilt ==

nss contains the security libraries which are also part of moz. However nss is
meant to be more current, that is it to be updated more often. This should be
easier than doing this with moz.

If nss is built depends on an environment variable (SYSTEM_NSS=NO) which
is per default set to YES. In this case nss is build before moz. The nss
libraries/lib files/headers built in moz are then not delivered. Otherwise they
would overwrite those from nss. That is, the nss libraries build in moz are
removed from mozruntime.zip (build in moz/solver/bin), they are removed from the
lib directory (for example moz/unxlngi6.pro/lib), and the nss and nspr headers
are also removed (inc/nss and inc/nspr).  The nss libraries from the nss module
are then added to mozruntime.zip.

This also applies for moz_prebuilt. Therefore moz and moz_prebuilt must be build
again after changes have been made to the libraries in the nss module.

Also when moz was updated to use a newer version of mozilla, then one must make
sure that new files which also belong to nss are not delivered and are removed
from mozruntime.zip.


== Fips 140 and signed libraries ==

Fips 140 mode is not supported. That is, the *.chk files containing the
checksums for the cryptographic module are not delivered into solver and will
not be part of the OOo installation sets.

Signing has been turned off because
- we change the rpath (install names)  after signing which breaks the signatures
(Mac)
- sqlite conflicts with the system sqlite when signing which breaks the build


== libfreebl3 ==

Porting to other platforms may require to deliver other variants of
libfreebl*. The library name varies according to the platform. Changes need to
be made to
ooo/moz/extractfiles.mk
ooo/moz/zipped/makefile.mk
sun/moz_prebuilt/zipped/makefile.mk

See also
[http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html]


== Windows builds of nss ==

To build mozilla on windows you'll need the mozilla build tools

Build requirements containing the link to the build tools:
[https://developer.mozilla.org/en/Windows_Build_Prerequisites#ss2.2]

The direct link:
[http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.3.exe]


== libsqlite3 ==

The system sqlite in Mac OS X versions older than 10.6 is incompatible
with the softokn3 in nss which requires a later version of sqlite.
Since the baseline is Mac OS X 10.6 we use
NSS_USE_SYSTEM_SQLITE=1
to build using the system sqlite.

The problem described here was found on Mac with OS 10.6
We cannot deliver sqlite in the lib directory of the solver. This directory is
used by tools of the build environment. Using the sqlite from NSS breaks the
tools if they use system libraries which are linked with the system
sqlite. Therefore we deliver it into lib/sqlite on unix systems.

See also issue:
[https://issues.apache.org/ooo/show_bug.cgi?id=106132]