next | previous | forward | backward | up | top | index | toc | directory | Macaulay 2 web site
Macaulay2Doc > how Macaulay 2 finds its files > Layout

Layout -- relative locations of Macaulay 2 files

Description

The hash table Layout is a translation table from symbolic names to directory paths, which are to interpreted relative to the path stored in prefixDirectory, or in one of the directories contained in the list prefixPath. The entries are strings: these provide paths to various types of files associated with the Macaulay 2. All of the strings start with one of the prefixes EXEC/ or COMMON/, which indicate whether the directory is a repository for architecture dependent files or for architecture independent files, respectively. In addition, some of the strings contain PKG as a substring, which should be replayce by the name of package whose files will be stored in that directory.

Basic Macaulay 2 files are regarded as being associated with a special package called Core, but the corresponding documentation files are part of the package Macaulay2Doc.

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 => info/
                              lib => lib/
                              libraries => lib/Macaulay2/Core/
                              man => man/
                              package => share/Macaulay2/PKG/
                              packagecache => lib/Macaulay2/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/PKG/
                              packages => share/Macaulay2/
                              packagetests => share/doc/Macaulay2/PKG/tests/
               2 => HashTable{bin => x86_64-Linux-Ubuntu-8.10/bin/                                  }
                              common => common/
                              data => common/share/
                              doc => common/share/doc/Macaulay2/
                              docdir => common/share/doc/Macaulay2/
                              emacs => common/share/emacs/site-lisp/
                              exec => x86_64-Linux-Ubuntu-8.10/
                              info => common/info/
                              lib => x86_64-Linux-Ubuntu-8.10/lib/
                              libraries => x86_64-Linux-Ubuntu-8.10/lib/Macaulay2/Core/
                              man => common/man/
                              package => common/share/Macaulay2/PKG/
                              packagecache => x86_64-Linux-Ubuntu-8.10/lib/Macaulay2/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 => x86_64-Linux-Ubuntu-8.10/lib/Macaulay2/PKG/
                              packages => common/share/Macaulay2/
                              packagetests => common/share/doc/Macaulay2/PKG/tests/

o1 : HashTable
Here are the meanings of the keys used in Layout. Some of these entries may not be in use.
  • "bin" : executable files (M2)
  • "data" : machine independent data files, not just for Macaulay 2
  • "doc" : documentation, not just for Macaulay 2
  • "docdir" : documentation for Macaulay 2 packages
  • "emacs" : emacs source files (*.el, *.elc)
  • "info" : documentation in info form, not just for Macaulay 2
  • "lib" : machine dependent data and executable files, not just for Macaulay 2
  • "libraries" : dynamically loadable libraries from third party packages linked with Macaulay 2
  • "man" : man pages
  • "package" : additional source files for the Macaulay 2 package FOO
  • "packagecache" : cached data files for the Macaulay 2 package FOO
  • "packagedoc" : documentation for the Macaulay 2 package FOO
  • "packageexampleoutput" : example output files for the Macaulay 2 package FOO
  • "packagehtml" : html documentation for the Macaulay 2 package FOO (*.html)
  • "packageimages" : images for the Macaulay 2 package FOO (*.jpg)
  • "packages" : source files for Macaulay 2 packages; this directory appears on the path
  • "packagetests" : test files for the Macaulay 2 package FOO

For the programmer

The object Layout is a hash table.