76 lines
3.6 KiB
Plaintext
76 lines
3.6 KiB
Plaintext
= Vulkan^(R)^ Specification Repository Scripts
|
|
|
|
This directory contains scripts used in building the Vulkan API
|
|
specification and related artifacts. For the most part, these scripts are
|
|
invoked from the top-level directory or from the API Registry in
|
|
../xml to build generated components of the specification.
|
|
|
|
Scripts in this directory include:
|
|
|
|
* genvk.py - Python script to generate Vulkan headers and some other
|
|
targets, using the generators described below.
|
|
* reg.py - Python tools to read a registry XML file and call into
|
|
generators to create headers and other types of output.
|
|
* conventions.py, vkconventions.py - API-specific parameters and
|
|
formatting / style conventions used by generators.
|
|
* generator.py - output generator base class.
|
|
** cgenerator.py - C header output generator.
|
|
** docgenerator.py - Asciidoc interface language include generator.
|
|
** extensionmetadocgenerator.py - Generator for Asciidoc extension
|
|
descriptions in spec appendices.
|
|
** hostsyncgenerator.py - Asciidoc host sync table generator.
|
|
** pygenerator.py - Generates python encoding of the API description.
|
|
** validitygenerator.py - Asciidoc validity language generator.
|
|
|
|
* checkXrefs - shell script to look for broken internal links in a
|
|
generated HTML specification.
|
|
* check_spec_links.py - validates a variety of markup and content in the
|
|
Asciidoctor specification source.
|
|
* make_ext_dependency.py - generate extension dependencies in Bash and
|
|
Python form for use when building the specification.
|
|
* genRelease, genspec.py - build HTML and PDF Specifications with a
|
|
variety of options to control target directories, extensions included
|
|
while building, etc.
|
|
* genRef.py, reflib.py - extract API reference pages from specification
|
|
source into single-page source documents.
|
|
* indexExt.py - generate HTML index of all extensions for inclusion into
|
|
the Vulkan registry index page.
|
|
* reflow.py, reflow_count.py - reflow specification source text to follow
|
|
style guidelines, and insert Valid Usage statements where they're
|
|
needed.
|
|
* test_check_spec_links.py, test_check_spec_links_api_specific.py,
|
|
test_entity_db.py - these are from another Khronos WG repository and are
|
|
unused by Vulkan at present.
|
|
* htmldiff/htmldiff - HTML diff script (see below).
|
|
|
|
* Retired/ - contains obsolete, unused, or single-purpose scripts. Not
|
|
maintained.
|
|
|
|
HTML Diff Script for Vulkan
|
|
===========================
|
|
|
|
This is a first cut at a script to compare Vulkan HTML specifications. Usage
|
|
is simply 'htmldiff file1.html file2.html > diff.html'. The script does not
|
|
copy CSS and images required by the input specs, so it's best to generate
|
|
the output in the same directory as one of the inputs. However, the script
|
|
must be invoked from the directory it is located within.
|
|
|
|
The scripts used require Python and Perl. Additionally, the python
|
|
'utidylib' module and the underlying libtidy C library are required,
|
|
which may make it challenging to run the scripts on non-Linux platforms
|
|
- I haven't checked and those requirements cannot be easily removed. On
|
|
Debian Linux, it may be necessary to install the 'python-utidylib' and
|
|
'libtidy' packages if they are not already present. I haven't checked
|
|
dependencies for other Linux distributions but they are probably
|
|
similar.
|
|
|
|
The scripts are taken from the code backing the
|
|
|
|
http://services.w3.org/htmldiff
|
|
|
|
website. 'htmldiff' is the Python driver script. 'htmldiff.pl' is the
|
|
Perl script which generates the diff after preprocessing of the input
|
|
HTML by 'htmldiff'. 'htmldiff.orig' is the original Python script from
|
|
the website, modified to run at the command line instead of as a CGI
|
|
script.
|