Skip to content
A modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.
C TeX Rust C++ Other
Branch: master
Clone or download
pkgw Merge pull request #440 from malbarbo/no-exp-rtti
Disable exceptions and rtti for C++ code
Latest commit 1504201 Aug 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci .circleci/outer-build.sh: update comment; PPC build now uses Rust 1.36 Aug 6, 2019
dist dist/docker/x86_64-alpine-linux-musl/Dockerfile: add libbz2 to the li… Aug 18, 2019
docs adjust the book configuration Aug 10, 2019
fuzz fuzz/README.md: add a brief README Jun 15, 2019
reference_sources @ 3b4ae66 Assert that we are still caught up with staging. Jan 15, 2018
src update comment references to the CLI Aug 19, 2019
tectonic Disable exceptions and rtti for C++ code Aug 20, 2019
tests update comment references to the CLI Aug 19, 2019
xdv 2018 edition: replace `extern crate` Jun 9, 2019
.appveyor.yml build.rs: abstract over dep-finding backend more explicitly Aug 18, 2019
.gitattributes ensure test reference files are checked out with LF line endings Aug 18, 2019
.gitignore create an mdbook within docs/ folder Aug 10, 2019
.gitmodules Use an absolute path to reference_sources Jun 5, 2018
.travis.yml .travis.yml: disable caching Aug 6, 2019
CHANGELOG.md phrase changelog entry 0.1.9 less ambiguously Dec 7, 2018
CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md May 26, 2017
CONTRIBUTING.md CONTRIBUTING.md: add this Dec 30, 2018
Cargo.lock build(deps): bump serde from 1.0.98 to 1.0.99 Aug 19, 2019
Cargo.toml Do necessary changes to load the dependencies using vcpkg-rs. Aug 18, 2019
LICENSE LICENSE: add this Nov 28, 2016
README.md create an mdbook within docs/ folder Aug 10, 2019
build.rs Disable exceptions and rtti for C++ code Aug 20, 2019

README.md

Tectonic

Tectonic is a modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.

Read this first

You should probably click through to the main Tectonic website. This page is just a quick reference for Tectonic developers.

Developer dashboard

Build Status codecov Packaging status

The “reference sources”

Much of the core code of Tectonic is derived from XeTeX, and we strive to track and maintain compatibility with upstream as much as possible. However, the nature of the Tectonic project is such that its source code is going to diverge from that of XeTeX over time. We can do our best to track the semantics of changes to XeTeX, but the expression of those changes in source form may well change greatly over time.

In this repository, the Git submodule reference_sources links to the “staging repository” that tracks the XeTeX source code that we use as a reference. In particular, the version of the reference code in the submodule is the most recent code whose semantics are guaranteed to be expressed in Tectonic, to the best of our efforts. You don’t need to clone reference_sources to build Tectonic (which is good because everyone is always super confused by how Git submodules work!). It just provides a convenient way for Git to track the exact reference code that we are using at any given time.

Please see the tectonic-staging README for more information. (Or at least, more words on the topic.)

Features

The Tectonic build can be customized with the following features:

serialization (enabled by default)

This feature enables (de)serialization using the serde crate. At the moment, this is only used to read per-user configuration from a TOML file. If this feature is disabled, the per-user configuration file will be silently ignored.

This functionality is optional because it requires the serde_derive crate, which in turn uses Rust’s proc_macro feature. The proc_macro functionality is not available on musl targets, and so must be turned off if you wish to build a completely static Tectonic executable.

You can’t perform that action at this time.