Skip to content

Commit

Permalink
Merge 38cc27c into 70b329e
Browse files Browse the repository at this point in the history
  • Loading branch information
alerque committed Jun 15, 2024
2 parents 70b329e + 38cc27c commit 71323e6
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 10 deletions.
18 changes: 13 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 20 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,20 +1,36 @@
[package]
name = "sile"
[workspace]
resolver = "2"
members = [
".",
"rusile",
]

[workspace.package]
version = "0.15.3"
edition = "2021"
rust-version = "1.71.0"
description = "Simon’s Improved Layout Engine"
authors = [
"Simon Cozens",
"Caleb Maclennan <caleb@alerque.com>",
"Olivier Nicole",
"Didier Willis"
]
readme = "README.md"
homepage = "https://sile-typesetter.org"
repository = "https://github.com/sile-typesetter/sile"
license = "MIT"

[package]
name = "sile"
description = "Simon’s Improved Layout Engine"
readme = "README.md"
build = "build-aux/build.rs"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true

[[bin]]
name = "sile"
Expand Down
9 changes: 8 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,12 @@ endif
$(MANUAL): $(FIGURES)

BUILT_LUA_SOURCES = core/features.lua core/pathsetup.lua core/version.lua
RUSILE_SOURCES = rusile/Cargo.toml rusile/src/lib.rs

bin_PROGRAMS = sile
bin_SCRIPTS = sile-lua
dist_man_MANS = sile-lua.1
sile_SOURCES = src/bin/sile.rs src/lib.rs src/cli.rs
sile_SOURCES = src/bin/sile.rs src/lib.rs src/cli.rs $(RUSILE_SOURCES)
EXTRA_sile_SOURCES =
if !EMBEDDED_RESOURCES
nobase_dist_pkgdata_DATA = $(SILEDATA) $(LUALIBRARIES)
Expand Down Expand Up @@ -146,6 +147,7 @@ else
MLUAVER = lua$(LUA_SHORT_VERSION)
endif
CARGO_FEATURE_ARGS = --features $(MLUAVER)
RUSILE_FEATURE_ARG = --features $(MLUAVER)

if !SYSTEM_LUA_SOURCES
CARGO_FEATURE_ARGS += --features vendored
Expand All @@ -159,6 +161,11 @@ if FONT_VARIATIONS
CARGO_FEATURE_ARGS += --features variations
endif

RUSILE_MODULE = rusile.so
$(RUSILE_MODULE):
$(CARGO_ENV) $(CARGO) build $(CARGO_VERBOSE) $(RUSILE_FEATURE_ARG) $(CARGO_RELEASE_ARGS) -p rusile
$(INSTALL) @builddir@/target/@RUST_TARGET_SUBDIR@/lib$@ $@

DEPDIR := .deps
LOCALFONTS := FONTCONFIG_FILE=$(PWD)/fontconfig.conf
LOCALPATHS := SILE_PATH="$(PWD);libtexpdf/.libs;justenough/.libs"
Expand Down
28 changes: 28 additions & 0 deletions rusile/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[package]
name = "rusile"
description = "Rusty components for the SILE typesetter"
readme = "README.md"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true

[lib]
crate_type = ["rlib", "cdylib"]

[dependencies.sile]
path = ".."

[features]
lua54 = [ "mlua/lua54" ]
lua53 = [ "mlua/lua53" ]
lua52 = [ "mlua/lua52" ]
lua51 = [ "mlua/lua51" ]
luajit = [ "mlua/luajit" ]

[dependencies.mlua]
version = "0.9"
features = [ "module" ]
14 changes: 14 additions & 0 deletions rusile/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
use mlua::prelude::*;

#[mlua::lua_module]
fn rusile(lua: &Lua) -> LuaResult<LuaTable> {
let exports = lua.create_table().unwrap();
let foo: LuaFunction = lua.create_function(foo).unwrap();
exports.set("foo", foo)?;
Ok(exports)
}

fn foo<'a>(_lua: &'a Lua, (): ()) -> LuaResult<()> {
eprintln!("e print from rusile not rustle");
Ok(())
}

0 comments on commit 71323e6

Please sign in to comment.