Files
Mozilla/mozilla/extensions/python/xpcom/src
dougt%netscape.com fed2927b2c Create a new xpcom obsolete library (and component library).
Moved nsFileSpec and related classes into this obsolete library.
  Moved nsRegistry and related libreg functionality into the obsolete library.

Updated many callers using the obsolete nsFile spec to use nsIFile and Necko to do file IO.

Combined the following DLLs (source -> dest)
  uriloader -> docshell
  shistory -> docshell
  jsurl -> jsdom
  gkview -> gklayout

Moved nsAdapterEnumerator out of xpcom/ds and into mailnews, since they're the only consumer

Modifed the xpt_link tool so that you can specify a “only include” cid list that can mask CID’s that you are not interested in.

Added build options:
Prevent the building of xpinstall (--disable-xpinstall)
Prevent the building js component loader (--disable-jsloader)
A build option to only build a single profile (--enable-single-profile)
A build flag to only built the required xpfe components (--disable-xpfe-components).

Removal or hiding of unused functions and classes including nsEscape*, nsDequeIterator, nsRecyclingAllocatorImpl, nsDiscriminatedUnion, nsOpaqueKey, nsCRT::strlen, NS_NewCommandLineService

Bug 194240, r/sr = darin, alec.


git-svn-id: svn://10.0.0.236/trunk@139480 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-15 01:04:32 +00:00
..
2002-11-25 11:21:22 +00:00

<!-- Copyright (c) 2000-2001 ActiveState Tool Corporation. -->
<!-- See the file LICENSE.txt for licensing information. -->

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Building the Python XPCOM package</title>
</head>

<body>

<h1>Building the Python XPCOM package.</h1>

<p>This file describes how to build the Python XPCOM C++ sources.</p>
<p>There are the following steps</p>
<ul>
  <li><a href="#ConfiguringTheEnvironment">Configure environment variables</a></li>
  <li><a href="#BuildingTheSources">Building the sources</a></li>
</ul>
<p>Testing etc is described in the <a href="../readme.html">main readme</a>.</p>
<h2><a name="ConfiguringTheEnvironment">Configuring environment variables</a></h2>
<h3> MOZ_SRC&nbsp;</h3>
<p><b>Windows: </b>Run the standard MOZENV.BAT used to build Mozilla.&nbsp; This
sets MOZ_SRC</p>
<p><b>Unix:</b> Set MOZ_SRC to point to the base source directory -  assumes
&quot;mozilla&quot; sub-directory with mozilla directory  tree under that. eg: assuming
<i>/home/user/src/mozilla/dist/...</i>&quot;</p>
<pre>export MOZ_SRC=/home/user/src</pre>
<h3>PYTHON_SRC</h3>
<p><b>Windows:</b> Set <i> PYTHON_SRC</i> to point to the base Python source  directory.&nbsp;
eg: assuming <i>c:\src\python\PCBuild\...</i><pre>set PYTHON_SRC=c:\src\python</pre>
<p>Unix: Set PYTHON_SRC to point to the base of an &quot;installed&quot; Python
tree. eg:<pre>export PYTHON_SRC=/usr/local/ActivePython-1.6</pre>
<h2><a name="BuildingTheSources">Building the sources</a></h2>
<p>You must ensure some environment variables are setup.&nbsp; The section on <a href="#ConfiguringTheEnvironment">configuring
environment variables explains how.</a></p>
<p>There are 2 build processes to run All C++ sources are in the <i>xpcom\src</i>
 directory.:</p>
<h3>Windows</h3>
<ul>
  <li> Execute &quot;compile.py&quot; in this directory.  This will take <i>Setup.in</i>, create an MSDev project, and build
    <i>..\_xpcom.pyd</i> and <i>..\_xpcom_d.pyd</i>&quot;</li>
  <li> Change to the <i>loader</i> directory.</li>
  <li> Run <i>nmake -f makefile.win</i>.  This will create <i>pyloader.dll</i>,  and
    automatically copy it to the Mozilla build directory.</li>
 <a href="#ConfiguringTheEnvironment">
  </ul>
  <p>Finally, </a><a href="../readme.html#RunningTheTests">run the tests</a>,
  where we also test everything imports correctly.</p>
<h3>Linux</h3>
<p><b> NOTE:</b>  Do not attempt to use &quot;Setup.in&quot; to create a Makefile&nbsp;</p>
<ul>
  <li>Run &quot;make&quot; in this directory.&nbsp; This will create <i>../_xpcommodule.so</i></li>
  <li> Run "make" in the loader directory.  This will create <i>libpyloader.so</i>,
    and copy it to the Mozilla directory.</li>
 <a href="#ConfiguringTheEnvironment">
  </ul>
  <p>Finally, </a><a href="../readme.html#RunningTheTests">running the tests</a>,
  where we also test everything imports correctly.</p>

</body>

</html>