Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > e3d62627d1d1aab7ab1be2dd7f65a872 > files > 294

ecl-10.4.1-1.fc14.x86_64.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>1.5.&#160;File names</title><link rel="stylesheet" href="ecl.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="The ECL manual"><link rel="up" href="ch24.html" title="Chapter&#160;1.&#160;Building programs"><link rel="prev" href="ch24s04.html" title="1.4.&#160;Building libraries"><link rel="next" href="ch24s06.html" title="1.6.&#160;Compiler examples"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">1.5.&#160;File names</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch24s04.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;1.&#160;Building programs</th><td width="20%" align="right">&#160;<a accesskey="n" href="ch24s06.html">Next</a></td></tr></table><hr></div><div class="section" title="1.5.&#160;File names"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Internals-File-names"></a>1.5.&#160;File names</h2></div></div></div><div class="blockquote"><blockquote class="blockquote"><pre class="screen"><a class="indexterm" name="id675771"></a>&#8212; Function: <code class="function">compile-file-pathname</code> <code class="varname">{</code><code class="varname">filename-base</code> <code class="varname">&amp;key</code> <code class="varname">output-file</code> <code class="varname">type</code><code class="varname">}</code></pre><p>When compiling lisp files, creating libraries, etc, a number of files are
   produced which are of interest for the user or programmer. However, the name
   of these files will change from system to system. The purpose of the function
   <code class="literal">compile-file-pathname</code> is to query the compiler about the name of the
   different files that it can produce. Possible values of the <em class="replaceable"><code>type</code></em>
   argument include:</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term">:fas (default)</span></p></td><td><p>Standard compiled files that can be loaded with <code class="literal">load</code>.</p></td></tr><tr><td><p><span class="term">:c, :data, :h</span></p></td><td><p>Intermediate files produced by the Lisp-to-C translator.</p></td></tr><tr><td><p><span class="term">:o</span></p></td><td><p>Linkable object files.</p></td></tr><tr><td><p><span class="term">:lib, :static-library</span></p></td><td><p>A normal library produced with <code class="literal">c:build-static-library</code>.</p></td></tr><tr><td><p><span class="term">:dll, :shared-library</span></p></td><td><p>A dynamically linked library produced with <code class="literal">c:build-shared-library</code>.</p></td></tr><tr><td><p><span class="term">:program</span></p></td><td><p>An executable produced with <code class="literal">c:build-program</code>.</p></td></tr></tbody></table></div><p>The output of this function is system specific. For example, under FreeBSD</p><pre class="screen">
   &gt; (compile-file-pathname "/this/path/mylib" :type :lib)
   #P"/this/path/libmylib.a"
   &gt; (compile-file-pathname "/this/path/mylib" :type :dll)
   #P"/this/path/libmylib.so"
   &gt; (compile-file-pathname "/this/path/mycode")
   #P"/this/path/mycode.fas"
   </pre></blockquote></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch24s04.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch24.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="ch24s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.4.&#160;Building libraries&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;1.6.&#160;Compiler examples</td></tr></table></div></body></html>