<?xml version="1.0" encoding="utf-8" ?> <!-- for emacs: -*- coding: utf-8 -*- --> <!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head><title>currentLayout -- relative locations of Macaulay2 files</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_prefix__Directory.html">next</a> | <a href="_how_sp__Macaulay2_spfinds_spits_spfiles.html">previous</a> | <a href="_prefix__Directory.html">forward</a> | backward | <a href="_how_sp__Macaulay2_spfinds_spits_spfiles.html">up</a> | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div> </td> </tr> </table> <div><a href="index.html" title="">Macaulay2Doc</a> > <a href="_how_sp__Macaulay2_spfinds_spits_spfiles.html" title="">how Macaulay2 finds its files</a> > <a href="_current__Layout.html" title="relative locations of Macaulay2 files">currentLayout</a></div> <hr/> <div><h1>currentLayout -- relative locations of Macaulay2 files</h1> <div class="single"><h2>Description</h2> <div><p>Macaulay2 comes with a variety of types of files, and some of them are associated with a particular Macaulay2 package. The hash table <tt>currentLayout</tt> is a translation table from names, corresponding to the various types of files, to directory paths. The directory paths are to be interpreted relative to the path stored in <a href="_prefix__Directory.html" title="the prefix directory">prefixDirectory</a> or in one of the directories contained in the list <a href="_prefix__Path.html" title="absolute locations of Macaulay2 files">prefixPath</a>. Some of the strings contain <tt>PKG</tt> as a substring, which should be replaced by the name of package whose files will be stored in that directory.</p> <p>The hash table <a href="_current__Layout.html" title="relative locations of Macaulay2 files">Layout</a> contains the two possible values for <a href="_current__Layout.html" title="relative locations of Macaulay2 files">currentLayout</a>; corresponding to the two possible values for the <a href="___Separate__Exec.html" title="name for an optional argument">SeparateExec</a> option used with <a href="_install__Package.html" title="load and install a package and its documentation ">installPackage</a>. The hash table <tt>Layout#2</tt> is used if architecture dependent files are to be stored in a directory tree separate from the one used for architecture independent files. The hash table <tt>Layout#1</tt> is used otherwise.</p> <p>Basic Macaulay2 files are regarded as being associated with a special package called <a href="___Core.html">Core</a>, and the corresponding documentation files are part of the package <tt>Macaulay2Doc</tt>.</p> <table class="examples"><tr><td><pre>i1 : Layout o1 = HashTable{1 => HashTable{bin => bin/ } } common => data => share/ doc => share/doc/Macaulay2/ docdir => share/doc/Macaulay2/ emacs => share/emacs/site-lisp/ exec => info => share/info/ lib => lib/ libraries => lib/Macaulay2/i686-Linux-Fedora-15/lib/ man => share/man/ package => share/Macaulay2/PKG/ packagecache => lib/Macaulay2/i686-Linux-Fedora-15/PKG/cache/ packagedoc => share/doc/Macaulay2/PKG/ packageexampleoutput => share/doc/Macaulay2/PKG/example-output/ packagehtml => share/doc/Macaulay2/PKG/html/ packageimages => share/doc/Macaulay2/PKG/images/ packagelib => lib/Macaulay2/i686-Linux-Fedora-15/PKG/ packages => share/Macaulay2/ packagetests => share/doc/Macaulay2/PKG/tests/ programs => libexec/Macaulay2/i686-Linux-Fedora-15/ 2 => HashTable{bin => i686-Linux-Fedora-15/bin/ } common => common/ data => common/share/ doc => common/share/doc/Macaulay2/ docdir => common/share/doc/Macaulay2/ emacs => common/share/emacs/site-lisp/ exec => i686-Linux-Fedora-15/ info => common/share/info/ lib => common/lib/ libraries => common/lib/Macaulay2/i686-Linux-Fedora-15/lib/ man => common/share/man/ package => common/share/Macaulay2/PKG/ packagecache => common/lib/Macaulay2/i686-Linux-Fedora-15/PKG/cache/ packagedoc => common/share/doc/Macaulay2/PKG/ packageexampleoutput => common/share/doc/Macaulay2/PKG/example-output/ packagehtml => common/share/doc/Macaulay2/PKG/html/ packageimages => common/share/doc/Macaulay2/PKG/images/ packagelib => common/lib/Macaulay2/i686-Linux-Fedora-15/PKG/ packages => common/share/Macaulay2/ packagetests => common/share/doc/Macaulay2/PKG/tests/ programs => i686-Linux-Fedora-15/libexec/Macaulay2/i686-Linux-Fedora-15/ o1 : HashTable</pre> </td></tr> </table> Here are the meanings of the keys used in <a href="_current__Layout.html" title="relative locations of Macaulay2 files">currentLayout</a>.<ul><li><tt>"bin"</tt> : executable files (M2)</li> <li><tt>"common"</tt> : architecture independent files</li> <li><tt>"data"</tt> : architecture independent data files</li> <li><tt>"doc"</tt> : documentation</li> <li><tt>"docdir"</tt> : documentation for Macaulay2 packages</li> <li><tt>"emacs"</tt> : emacs source files (*.el, *.elc)</li> <li><tt>"exec"</tt> : architecture dependent files</li> <li><tt>"info"</tt> : documentation in info form</li> <li><tt>"lib"</tt> : architecture dependent data and executable files</li> <li><tt>"libraries"</tt> : dynamically loadable libraries from third party packages linked with Macaulay2</li> <li><tt>"man"</tt> : man pages</li> <li><tt>"package"</tt> : additional source files for the Macaulay2 package PKG</li> <li><tt>"packagecache"</tt> : cached data files for the Macaulay2 package PKG</li> <li><tt>"packagedoc"</tt> : documentation for the Macaulay2 package PKG</li> <li><tt>"packageexampleoutput"</tt> : example output files for the Macaulay2 package PKG</li> <li><tt>"packagehtml"</tt> : html documentation for the Macaulay2 package PKG (*.html)</li> <li><tt>"packageimages"</tt> : images for the Macaulay2 package PKG (*.jpg)</li> <li><tt>"packagelib"</tt> : architecture dependent files for the Macaulay2 package PKG</li> <li><tt>"packages"</tt> : source files for Macaulay2 packages; this directory appears on the path</li> <li><tt>"packagetests"</tt> : test files for the Macaulay2 package PKG</li> <li><tt>"programs"</tt> : programs to be run by Macaulay2</li> </ul> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_install__Package.html" title="load and install a package and its documentation ">installPackage(..., SeparateExec => ...)</a> -- load and install a package and its documentation </span></li> </ul> </div> <div class="waystouse"><h2>For the programmer</h2> <p>The object <a href="_current__Layout.html" title="relative locations of Macaulay2 files">currentLayout</a> is <span>a <a href="___Hash__Table.html">hash table</a></span>.</p> </div> </div> </body> </html>