Move the 'meta' dir to 'lib/cretonne/meta'.

The 'lib/cretonne' directory will be the new root of a stand-alone
cretonne crate containg both Python and Rust sources.

This is in preparation for publishing crates on crates.io.
This commit is contained in:
Jakob Stoklund Olesen
2016-10-17 14:16:43 -07:00
parent 680387a53a
commit af6355e2ef
37 changed files with 12 additions and 10 deletions

View File

@@ -58,7 +58,7 @@ html:
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html." @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
autohtml: html autohtml: html
$(SPHINXABUILD) -z ../meta --ignore '*.swp' -b html -E $(ALLSPHINXOPTS) $(BUILDDIR)/html $(SPHINXABUILD) -z ../lib/cretonne/meta --ignore '*.swp' -b html -E $(ALLSPHINXOPTS) $(BUILDDIR)/html
dirhtml: dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml

View File

@@ -24,7 +24,7 @@ sys.path.insert(0, os.path.abspath('.'))
# Also add the meta directory to sys.path so autodoc can find the Cretonne meta # Also add the meta directory to sys.path so autodoc can find the Cretonne meta
# language definitions. # language definitions.
sys.path.insert(0, os.path.abspath('../meta')) sys.path.insert(0, os.path.abspath('../lib/cretonne/meta'))
# -- General configuration ------------------------------------------------ # -- General configuration ------------------------------------------------

View File

@@ -10,8 +10,9 @@ The Cretonne meta language is used to define instructions for Cretonne. It is a
domain specific language embedded in Python. This document describes the Python domain specific language embedded in Python. This document describes the Python
modules that form the embedded DSL. modules that form the embedded DSL.
The meta language descriptions are Python modules under the :file:`meta` The meta language descriptions are Python modules under the
top-level directory. The descriptions are processed in two steps: :file:`lib/cretonne/meta` directory. The descriptions are processed in two
steps:
1. The Python modules are imported. This has the effect of building static data 1. The Python modules are imported. This has the effect of building static data
structures in global variables in the modules. These static data structures structures in global variables in the modules. These static data structures
@@ -22,8 +23,9 @@ top-level directory. The descriptions are processed in two steps:
constant tables. constant tables.
The main driver for this source code generation process is the The main driver for this source code generation process is the
:file:`meta/build.py` script which is invoked as part of the build process if :file:`lib/cretonne/meta/build.py` script which is invoked as part of the build
anything in the :file:`meta` directory has changed since the last build. process if anything in the :file:`lib/cretonne/meta` directory has changed
since the last build.
Settings Settings
@@ -33,8 +35,8 @@ Settings are used by the environment embedding Cretonne to control the details
of code generation. Each setting is defined in the meta language so a compact of code generation. Each setting is defined in the meta language so a compact
and consistent Rust representation can be generated. Shared settings are defined and consistent Rust representation can be generated. Shared settings are defined
in the :mod:`cretonne.settings` module. Some settings are specific to a target in the :mod:`cretonne.settings` module. Some settings are specific to a target
ISA, and defined in a `settings` module under the appropriate :file:`meta/isa/*` ISA, and defined in a `settings` module under the appropriate
directory. :file:`lib/cretonne/meta/isa/*` directory.
Settings can take boolean on/off values, small numbers, or explicitly enumerated Settings can take boolean on/off values, small numbers, or explicitly enumerated
symbolic values. Each type is represented by a sub-class of :class:`Setting`: symbolic values. Each type is represented by a sub-class of :class:`Setting`:
@@ -343,7 +345,7 @@ architectures. Each ISA is represented by a :py:class:`cretonne.TargetISA` insta
.. autoclass:: TargetISA .. autoclass:: TargetISA
The definitions for each supported target live in a package under The definitions for each supported target live in a package under
:file:`meta/isa`. :file:`lib/cretonne/meta/isa`.
.. automodule:: isa .. automodule:: isa
:members: :members:

View File

@@ -29,7 +29,7 @@ fn main() {
let top_dir = cur_dir.as_path(); let top_dir = cur_dir.as_path();
// Scripts are in $top_dir/meta. // Scripts are in $top_dir/meta.
let meta_dir = top_dir.join("meta"); let meta_dir = top_dir.join("lib/cretonne/meta");
let build_script = meta_dir.join("build.py"); let build_script = meta_dir.join("build.py");
// Launch build script with Python. We'll just find python in the path. // Launch build script with Python. We'll just find python in the path.