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:
@@ -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
|
||||||
|
|||||||
@@ -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 ------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user