Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / html / python / dist / module-distutils.core.html
CommitLineData
920dae64
AT
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
4<link rel="STYLESHEET" href="dist.css" type='text/css' />
5<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
6<link rel='start' href='../index.html' title='Python Documentation Index' />
7<link rel="first" href="dist.html" title='Distributing Python Modules' />
8<link rel='index' href='genindex.html' title='Index' />
9<link rel='last' href='about.html' title='About this document...' />
10<link rel='help' href='about.html' title='About this document...' />
11<link rel="next" href="module-distutils.ccompiler.html" />
12<link rel="prev" href="api-reference.html" />
13<link rel="parent" href="api-reference.html" />
14<link rel="next" href="module-distutils.ccompiler.html" />
15<meta name='aesop' content='information' />
16<title>10.1 distutils.core -- Core Distutils functionality</title>
17</head>
18<body>
19<DIV CLASS="navigation">
20<div id='top-navigation-panel' xml:id='top-navigation-panel'>
21<table align="center" width="100%" cellpadding="0" cellspacing="2">
22<tr>
23<td class='online-navigation'><a rel="prev" title="10. API Reference"
24 href="api-reference.html"><img src='../icons/previous.png'
25 border='0' height='32' alt='Previous Page' width='32' /></A></td>
26<td class='online-navigation'><a rel="parent" title="10. API Reference"
27 href="api-reference.html"><img src='../icons/up.png'
28 border='0' height='32' alt='Up One Level' width='32' /></A></td>
29<td class='online-navigation'><a rel="next" title="10.2 distutils.ccompiler "
30 href="module-distutils.ccompiler.html"><img src='../icons/next.png'
31 border='0' height='32' alt='Next Page' width='32' /></A></td>
32<td align="center" width="100%">Distributing Python Modules</td>
33<td class='online-navigation'><img src='../icons/blank.png'
34 border='0' height='32' alt='' width='32' /></td>
35<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
36 border='0' height='32' alt='Module Index' width='32' /></a></td>
37<td class='online-navigation'><a rel="index" title="Index"
38 href="genindex.html"><img src='../icons/index.png'
39 border='0' height='32' alt='Index' width='32' /></A></td>
40</tr></table>
41<div class='online-navigation'>
42<b class="navlabel">Previous:</b>
43<a class="sectref" rel="prev" href="api-reference.html">10. API Reference</A>
44<b class="navlabel">Up:</b>
45<a class="sectref" rel="parent" href="api-reference.html">10. API Reference</A>
46<b class="navlabel">Next:</b>
47<a class="sectref" rel="next" href="module-distutils.ccompiler.html">10.2 distutils.ccompiler </A>
48</div>
49<hr /></div>
50</DIV>
51<!--End of Navigation Panel-->
52
53<H1><A NAME="SECTION0010100000000000000000">
5410.1 <tt class="module">distutils.core</tt> -- Core Distutils functionality</A>
55</H1>
56
57<P>
58<A NAME="module-distutils.core"></A>
59
60<P>
61The <tt class="module">distutils.core</tt> module is the only module that needs to be
62installed to use the Distutils. It provides the <tt class="function">setup()</tt> (which
63is called from the setup script). Indirectly provides the
64<tt class="class">distutils.dist.Distribution</tt> and <tt class="class">distutils.cmd.Command</tt> class.
65
66<P>
67<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
68 <td><nobr><b><tt id='l2h-6' xml:id='l2h-6' class="function">setup</tt></b>(</nobr></td>
69 <td><var>arguments</var>)</td></tr></table></dt>
70<dd>
71The basic do-everything function that does most everything you could ever
72ask for from a Distutils method. See XXXXX
73
74<P>
75The setup function takes a large number of arguments. These
76are laid out in the following table.
77
78<P>
79<div class="center"><table class="realtable">
80 <thead>
81 <tr>
82 <th class="center">argument name</th>
83 <th class="left" >value</th>
84 <th class="left" >type</th>
85 </tr>
86 </thead>
87 <tbody>
88 <tr><td class="center" valign="baseline"><argument name>name</argument></td>
89 <td class="left" >The name of the package</td>
90 <td class="left" >a string</td></tr>
91 <tr><td class="center" valign="baseline"><argument name>version</argument></td>
92 <td class="left" >The version number of the package</td>
93 <td class="left" >See <tt class="module"><a href="module-distutils.version.html">distutils.version</a></tt></td></tr>
94 <tr><td class="center" valign="baseline"><argument name>description</argument></td>
95 <td class="left" >A single line describing the package</td>
96 <td class="left" >a string</td></tr>
97 <tr><td class="center" valign="baseline"><argument name>long_description</argument></td>
98 <td class="left" >Longer description of the package</td>
99 <td class="left" >a string</td></tr>
100 <tr><td class="center" valign="baseline"><argument name>author</argument></td>
101 <td class="left" >The name of the package author</td>
102 <td class="left" >a string</td></tr>
103 <tr><td class="center" valign="baseline"><argument name>author_email</argument></td>
104 <td class="left" >The email address of the package author</td>
105 <td class="left" >a string</td></tr>
106 <tr><td class="center" valign="baseline"><argument name>maintainer</argument></td>
107 <td class="left" >The name of the current maintainer, if different from the author</td>
108 <td class="left" >a string</td></tr>
109 <tr><td class="center" valign="baseline"><argument name>maintainer_email</argument></td>
110 <td class="left" >The email address of the current maintainer, if different from the author</td>
111 <td class="left" ></td></tr>
112 <tr><td class="center" valign="baseline"><argument name>url</argument></td>
113 <td class="left" >A URL for the package (homepage)</td>
114 <td class="left" >a URL</td></tr>
115 <tr><td class="center" valign="baseline"><argument name>download_url</argument></td>
116 <td class="left" >A URL to download the package</td>
117 <td class="left" >a URL</td></tr>
118 <tr><td class="center" valign="baseline"><argument name>packages</argument></td>
119 <td class="left" >A list of Python packages that distutils will manipulate</td>
120 <td class="left" >a list of strings</td></tr>
121 <tr><td class="center" valign="baseline"><argument name>py_modules</argument></td>
122 <td class="left" >A list of Python modules that distutils will manipulate</td>
123 <td class="left" >a list of strings</td></tr>
124 <tr><td class="center" valign="baseline"><argument name>scripts</argument></td>
125 <td class="left" >A list of standalone script files to be built and installed</td>
126 <td class="left" >a list of strings</td></tr>
127 <tr><td class="center" valign="baseline"><argument name>ext_modules</argument></td>
128 <td class="left" >A list of Python extensions to be built</td>
129 <td class="left" >A list of
130instances of <tt class="class">distutils.core.Extension</tt></td></tr>
131 <tr><td class="center" valign="baseline"><argument name>classifiers</argument></td>
132 <td class="left" >A list of Trove categories for the package</td>
133 <td class="left" >XXX link to better definition</td></tr>
134 <tr><td class="center" valign="baseline"><argument name>distclass</argument></td>
135 <td class="left" >the <tt class="class">Distribution</tt> class to use</td>
136 <td class="left" >A subclass of <tt class="class">distutils.core.Distribution</tt></td></tr>
137 <tr><td class="center" valign="baseline"><argument name>script_name</argument></td>
138 <td class="left" >The name of the setup.py script - defaults to <code>sys.argv[0]</code></td>
139 <td class="left" >a string</td></tr>
140 <tr><td class="center" valign="baseline"><argument name>script_args</argument></td>
141 <td class="left" >Arguments to supply to the setup script</td>
142 <td class="left" >a list of strings</td></tr>
143 <tr><td class="center" valign="baseline"><argument name>options</argument></td>
144 <td class="left" >default options for the setup script</td>
145 <td class="left" >a string</td></tr>
146 <tr><td class="center" valign="baseline"><argument name>license</argument></td>
147 <td class="left" >The license for the package</td>
148 <td class="left" ></td></tr>
149 <tr><td class="center" valign="baseline"><argument name>keywords</argument></td>
150 <td class="left" >Descriptive meta-data. See <a class="rfc" id='rfcref-5120' xml:id='rfcref-5120'
151href="http://www.python.org/peps/pep-0314.html">PEP 314</a></td>
152 <td class="left" ></td></tr>
153 <tr><td class="center" valign="baseline"><argument name>platforms</argument></td>
154 <td class="left" ></td>
155 <td class="left" ></td></tr>
156 <tr><td class="center" valign="baseline"><argument name>cmdclass</argument></td>
157 <td class="left" >A mapping of command names to <tt class="class">Command</tt> subclasses</td>
158 <td class="left" >a dictionary</td></tr></tbody>
159</table></div>
160
161<P>
162</dl>
163
164<P>
165<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
166 <td><nobr><b><tt id='l2h-7' xml:id='l2h-7' class="function">run_setup</tt></b>(</nobr></td>
167 <td><var>script_name</var><big>[</big><var>, script_args=<code>None</code>, stop_after=<code>'run'</code></var><big>]</big><var></var>)</td></tr></table></dt>
168<dd>
169Run a setup script in a somewhat controlled environment, and return
170the <tt class="class">distutils.dist.Distribution</tt> instance that drives things.
171This is useful if you need to find out the distribution meta-data
172(passed as keyword args from <var>script</var> to <tt class="function">setup()</tt>), or
173the contents of the config files or command-line.
174
175<P>
176<var>script_name</var> is a file that will be run with <tt class="function">execfile()</tt>
177<code>sys.argv[0]</code> will be replaced with <var>script</var> for the duration of the
178call. <var>script_args</var> is a list of strings; if supplied,
179<code>sys.argv[1:]</code> will be replaced by <var>script_args</var> for the duration
180of the call.
181
182<P>
183<var>stop_after</var> tells <tt class="function">setup()</tt> when to stop processing; possible
184values:
185
186<P>
187<div class="center"><table class="realtable">
188 <thead>
189 <tr>
190 <th class="center">value</th>
191 <th class="left" >description</th>
192 </tr>
193 </thead>
194 <tbody>
195 <tr><td class="center" valign="baseline"><argument name>init</argument></td>
196 <td class="left" >Stop after the <tt class="class">Distribution</tt> instance has been created
197and populated with the keyword arguments to <tt class="function">setup()</tt></td></tr>
198 <tr><td class="center" valign="baseline"><argument name>config</argument></td>
199 <td class="left" >Stop after config files have been parsed (and their data
200stored in the <tt class="class">Distribution</tt> instance)</td></tr>
201 <tr><td class="center" valign="baseline"><argument name>commandline</argument></td>
202 <td class="left" >Stop after the command-line (<code>sys.argv[1:]</code> or
203<var>script_args</var>) have been parsed (and the data stored in the
204<tt class="class">Distribution</tt> instance.)</td></tr>
205 <tr><td class="center" valign="baseline"><argument name>run</argument></td>
206 <td class="left" >Stop after all commands have been run (the same as
207if <tt class="function">setup()</tt> had been called in the usual way). This is the default
208value.</td></tr></tbody>
209</table></div>
210</dl>
211
212<P>
213In addition, the <tt class="module">distutils.core</tt> module exposed a number of
214classes that live elsewhere.
215
216<P>
217
218<UL>
219<LI><tt class="class">Extension</tt> from <tt class="module"><a href="module-distutils.extension.html">distutils.extension</a></tt>
220</LI>
221<LI><tt class="class">Command</tt> from <tt class="module"><a href="module-distutils.cmd.html">distutils.cmd</a></tt>
222</LI>
223<LI><tt class="class">Distribution</tt> from <tt class="module"><a href="module-distutils.dist.html">distutils.dist</a></tt>
224</LI>
225</UL>
226
227<P>
228A short description of each of these follows, but see the relevant
229module for the full reference.
230
231<P>
232<dl><dt><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-8' xml:id='l2h-8' class="class">Extension</tt></b>
233<dd>
234
235<P>
236The Extension class describes a single C or C++extension module in a
237setup script. It accepts the following keyword arguments in its
238constructor
239
240<P>
241<div class="center"><table class="realtable">
242 <thead>
243 <tr>
244 <th class="center">argument name</th>
245 <th class="left" >value</th>
246 <th class="left" >type</th>
247 </tr>
248 </thead>
249 <tbody>
250 <tr><td class="center" valign="baseline"><argument name>name</argument></td>
251 <td class="left" >the full name of the extension, including any packages
252-- ie. <em>not</em> a filename or pathname, but Python dotted name</td>
253 <td class="left" >string</td></tr>
254 <tr><td class="center" valign="baseline"><argument name>sources</argument></td>
255 <td class="left" >list of source filenames, relative to the distribution
256root (where the setup script lives), in Unix form (slash-separated) for
257portability. Source files may be C, C++, SWIG (.i), platform-specific
258resource files, or whatever else is recognized by the <code class="du-command">build_ext</code>
259command as source for a Python extension.</td>
260 <td class="left" >string</td></tr>
261 <tr><td class="center" valign="baseline"><argument name>include_dirs</argument></td>
262 <td class="left" >list of directories to search for C/C++ header
263files (in <span class="Unix">Unix</span> form for portability)</td>
264 <td class="left" >string</td></tr>
265 <tr><td class="center" valign="baseline"><argument name>define_macros</argument></td>
266 <td class="left" >list of macros to define; each macro is defined
267using a 2-tuple, where 'value' is either the string to define it to or
268<code>None</code> to define it without a particular value (equivalent of
269<code>#define FOO</code> in source or <b class="programopt">-DFOO</b> on <span class="Unix">Unix</span> C
270compiler command line) </td>
271 <td class="left" > (string,string)
272tuple or (name,<code>None</code>) </td></tr>
273 <tr><td class="center" valign="baseline"><argument name>undef_macros</argument></td>
274 <td class="left" >list of macros to undefine explicitly</td>
275 <td class="left" >string</td></tr>
276 <tr><td class="center" valign="baseline"><argument name>library_dirs</argument></td>
277 <td class="left" >list of directories to search for C/C++ libraries
278at link time </td>
279 <td class="left" >string</td></tr>
280 <tr><td class="center" valign="baseline"><argument name>libraries</argument></td>
281 <td class="left" >list of library names (not filenames or paths) to
282link against </td>
283 <td class="left" >string</td></tr>
284 <tr><td class="center" valign="baseline"><argument name>runtime_library_dirs</argument></td>
285 <td class="left" >list of directories to search for C/C++
286libraries at run time (for shared extensions, this is when the extension
287is loaded)</td>
288 <td class="left" >string</td></tr>
289 <tr><td class="center" valign="baseline"><argument name>extra_objects</argument></td>
290 <td class="left" >list of extra files to link with (eg. object
291files not implied by 'sources', static library that must be explicitly
292specified, binary resource files, etc.)</td>
293 <td class="left" >string</td></tr>
294 <tr><td class="center" valign="baseline"><argument name>extra_compile_args</argument></td>
295 <td class="left" >any extra platform- and compiler-specific
296information to use when compiling the source files in 'sources'. For
297platforms and compilers where a command line makes sense, this is
298typically a list of command-line arguments, but for other platforms it
299could be anything.</td>
300 <td class="left" >string</td></tr>
301 <tr><td class="center" valign="baseline"><argument name>extra_link_args</argument></td>
302 <td class="left" >any extra platform- and compiler-specific
303information to use when linking object files together to create the
304extension (or to create a new static Python interpreter). Similar
305interpretation as for 'extra_compile_args'.</td>
306 <td class="left" >string</td></tr>
307 <tr><td class="center" valign="baseline"><argument name>export_symbols</argument></td>
308 <td class="left" >list of symbols to be exported from a shared
309extension. Not used on all platforms, and not generally necessary for
310Python extensions, which typically export exactly one symbol: <code>init</code> +
311extension_name. </td>
312 <td class="left" >string</td></tr>
313 <tr><td class="center" valign="baseline"><argument name>depends</argument></td>
314 <td class="left" >list of files that the extension depends on </td>
315 <td class="left" >string</td></tr>
316 <tr><td class="center" valign="baseline"><argument name>language</argument></td>
317 <td class="left" >extension language (i.e. <code>'c'</code>, <code>'c++'</code>,
318<code>'objc'</code>). Will be detected from the source extensions if not provided.
319</td>
320 <td class="left" >string</td></tr></tbody>
321</table></div>
322</dl>
323
324<P>
325<dl><dt><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-9' xml:id='l2h-9' class="class">Distribution</tt></b>
326<dd>
327A <tt class="class">Distribution</tt> describes how to build, install and package up a
328Python software package.
329
330<P>
331See the <tt class="function">setup()</tt> function for a list of keyword arguments accepted
332by the Distribution constructor. <tt class="function">setup()</tt> creates a Distribution
333instance.
334</dl>
335
336<P>
337<dl><dt><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-10' xml:id='l2h-10' class="class">Command</tt></b>
338<dd>
339A <tt class="class">Command</tt> class (or rather, an instance of one of its subclasses)
340implement a single distutils command.
341</dl>
342
343<P>
344
345<DIV CLASS="navigation">
346<div class='online-navigation'>
347<p></p><hr />
348<table align="center" width="100%" cellpadding="0" cellspacing="2">
349<tr>
350<td class='online-navigation'><a rel="prev" title="10. API Reference"
351 href="api-reference.html"><img src='../icons/previous.png'
352 border='0' height='32' alt='Previous Page' width='32' /></A></td>
353<td class='online-navigation'><a rel="parent" title="10. API Reference"
354 href="api-reference.html"><img src='../icons/up.png'
355 border='0' height='32' alt='Up One Level' width='32' /></A></td>
356<td class='online-navigation'><a rel="next" title="10.2 distutils.ccompiler "
357 href="module-distutils.ccompiler.html"><img src='../icons/next.png'
358 border='0' height='32' alt='Next Page' width='32' /></A></td>
359<td align="center" width="100%">Distributing Python Modules</td>
360<td class='online-navigation'><img src='../icons/blank.png'
361 border='0' height='32' alt='' width='32' /></td>
362<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
363 border='0' height='32' alt='Module Index' width='32' /></a></td>
364<td class='online-navigation'><a rel="index" title="Index"
365 href="genindex.html"><img src='../icons/index.png'
366 border='0' height='32' alt='Index' width='32' /></A></td>
367</tr></table>
368<div class='online-navigation'>
369<b class="navlabel">Previous:</b>
370<a class="sectref" rel="prev" href="api-reference.html">10. API Reference</A>
371<b class="navlabel">Up:</b>
372<a class="sectref" rel="parent" href="api-reference.html">10. API Reference</A>
373<b class="navlabel">Next:</b>
374<a class="sectref" rel="next" href="module-distutils.ccompiler.html">10.2 distutils.ccompiler </A>
375</div>
376</div>
377<hr />
378<span class="release-info">Release 2.4.2, documentation updated on 28 September 2005.</span>
379</DIV>
380<!--End of Navigation Panel-->
381<ADDRESS>
382See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
383</ADDRESS>
384</BODY>
385</HTML>