diff options
Diffstat (limited to '')
-rw-r--r-- | docs/nspr/nspr_build_instructions.rst | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/docs/nspr/nspr_build_instructions.rst b/docs/nspr/nspr_build_instructions.rst new file mode 100644 index 0000000000..d927a6bd05 --- /dev/null +++ b/docs/nspr/nspr_build_instructions.rst @@ -0,0 +1,136 @@ +NSPR build instructions +======================= + +Prerequisites +~~~~~~~~~~~~~ + +On Windows, the NSPR build system needs GNU make and a Unix command-line +utility suite such as MKS Toolkit, Cygwin, and MSYS. The easiest way to +get these tools is to install the +:ref:`MozillaBuild` package. + +Introduction +~~~~~~~~~~~~ + +The top level of the NSPR source tree is the ``mozilla/nsprpub`` +directory. Although ``nsprpub`` is a subdirectory under ``mozilla``, +NSPR is independent of the Mozilla client source tree. + +Building NSPR consists of three steps: + +#. run the configure script. You may override the compilers (the CC + environment variable) or specify options. +#. build the libraries +#. build the test programs + +For example, + +:: + + # check out the source tree from Mercurial + hg clone https://hg.mozilla.org/projects/nspr + # create a build directory + mkdir target.debug + cd target.debug + # run the configure script + ../nspr/configure [optional configure options] + # build the libraries + gmake + # build the test programs + cd pr/tests + gmake + +On Mac OS X, use ``make``, which is GNU ``make``. + +.. _Configure_options: + +Configure options +~~~~~~~~~~~~~~~~~ + +Although NSPR uses autoconf, its configure script has two default values +that are different from most open source projects. + +#. If the OS vendor provides a compiler (for example, Sun and HP), NSPR + uses that compiler instead of GCC by default. +#. NSPR build generates a debug build by default. + +.. _--disable-debug_--enable-optimize: + +--disable-debug --enable-optimize +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Specify these two options to generate an optimized (release) build. + +These two options can actually be used independently, but it's not +recommended. + +--enable-64bit +^^^^^^^^^^^^^^ + +On a dual 32-bit/64-bit platform, NSPR build generates a 32-bit build by +default. To generate a 64-bit build, specify the ``--enable-64bit`` +configure option. + +.. _--targetx86_64-pc-mingw32: + +--target=x86_64-pc-mingw32 +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For 64-bit builds on Windows, when using the mozbuild environment. + +.. _--enable-win32-target.3DWIN95: + +--enable-win32-target=WIN95 +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +This option is only used on Windows. NSPR build generates a "WINNT" +configuration by default on Windows for historical reasons. We recommend +most applications use the "WIN95" configuration. The "WIN95" +configuration supports all versions of Windows. The "WIN95" name is +historical; it should have been named "WIN32". + +To generate a "WIN95" configuration, specify the +``--enable-win32-target=WIN95`` configure option. + +.. _--enable-debug-rtl: + +--enable-debug-rtl +^^^^^^^^^^^^^^^^^^ + +This option is only used on Windows. NSPR debug build uses the release C +run-time library by default. To generate a debug build that uses the +debug C run-time library, specify the ``--enable-debug-rtl`` configure +option. + +.. _Makefile_targets: + +Makefile targets +~~~~~~~~~~~~~~~~ + +- all (default) +- clean +- realclean +- distclean +- install +- release + +.. _Running_the_test_programs: + +Running the test programs +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The tests were built above, in the ``pr/tests`` directory. + +On Mac OS X, they can be executed with the following: + +.. code:: + + /bin/sh: + + $ cd pr/tests + $ DYLD_LIBRARY_PATH=../../dist/lib ./accept + PASS + $ + $ # to run all the NSPR tests... + $ + $ DYLD_LIBRARY_PATH=../../dist/lib ../../../nspr/pr/tests/runtests.sh ../.. |