Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to lua 5.3 #116

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ after_success:
[ $TRAVIS_BRANCH = master ] &&
[ $TRAVIS_PULL_REQUEST = false ] &&
cargo publish --manifest-path lua52-sys/Cargo.toml --token ${CRATESIO_TOKEN}
- |
[ $TRAVIS_BRANCH = master ] &&
[ $TRAVIS_PULL_REQUEST = false ] &&
cargo publish --manifest-path lua53-sys/Cargo.toml --token ${CRATESIO_TOKEN}
- |
[ $TRAVIS_BRANCH = master ] &&
[ $TRAVIS_PULL_REQUEST = false ] &&
Expand Down
2 changes: 1 addition & 1 deletion hlua/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ license = "MIT"

[dependencies]
libc = "0.2"
lua52-sys = { version = "0.1.0", path = "../lua52-sys" }
lua53-sys = { version = "0.1.0", path = "../lua53-sys" }
2 changes: 1 addition & 1 deletion hlua/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
extern crate lua52_sys as ffi;
extern crate lua53_sys as ffi;
extern crate libc;

use std::ffi::{CStr, CString};
Expand Down
4 changes: 2 additions & 2 deletions hlua/src/values.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ macro_rules! numeric_impl(

#[inline]
fn push_to_lua(self, mut lua: L) -> Result<PushGuard<L>, (Void, L)> {
unsafe { ffi::lua_pushnumber(lua.as_mut_lua().0, self as f64) };
unsafe { ffi::lua_pushnumber(lua.as_mut_lua().0, self as ffi::lua_Number) };
let raw_lua = lua.as_lua();
Ok(PushGuard { lua: lua, size: 1, raw_lua: raw_lua })
}
Expand All @@ -114,7 +114,7 @@ macro_rules! numeric_impl(
);

numeric_impl!(f32);
numeric_impl!(f64);
numeric_impl!(f64); // TODO: remove?

impl<'lua, L> Push<L> for String
where L: AsMutLua<'lua>
Expand Down
2 changes: 2 additions & 0 deletions lua53-sys/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Cargo.lock
target
16 changes: 16 additions & 0 deletions lua53-sys/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[package]
name = "lua53-sys"
version = "0.1.0"
authors = ["Pierre Krieger <[email protected]>"]
description = "Bindings for Lua 5.3"
build = "build.rs"
links = "lua"
license = "MIT"
repository = "https://github.com/tomaka/rust-hl-lua"

[build-dependencies]
pkg-config = "0.3"
gcc = "0.3"

[dependencies]
libc = "0.2"
47 changes: 47 additions & 0 deletions lua53-sys/build.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
extern crate pkg_config;
extern crate gcc;

fn main() {
match pkg_config::find_library("lua5.3") {
Ok(_) => return,
Err(..) => {}
};

gcc::Config::new()
.file("lua/src/lapi.c")
.file("lua/src/lcode.c")
.file("lua/src/lctype.c")
.file("lua/src/ldebug.c")
.file("lua/src/ldo.c")
.file("lua/src/ldump.c")
.file("lua/src/lfunc.c")
.file("lua/src/lgc.c")
.file("lua/src/llex.c")
.file("lua/src/lmem.c")
.file("lua/src/lobject.c")
.file("lua/src/lopcodes.c")
.file("lua/src/lparser.c")
.file("lua/src/lstate.c")
.file("lua/src/lstring.c")
.file("lua/src/ltable.c")
.file("lua/src/ltm.c")
.file("lua/src/lundump.c")
.file("lua/src/lvm.c")
.file("lua/src/lzio.c")
.file("lua/src/lauxlib.c")
.file("lua/src/lbaselib.c")
.file("lua/src/lbitlib.c")
.file("lua/src/lcorolib.c")
.file("lua/src/ldblib.c")
.file("lua/src/liolib.c")
.file("lua/src/lmathlib.c")
.file("lua/src/loslib.c")
.file("lua/src/lstrlib.c")
.file("lua/src/ltablib.c")
.file("lua/src/lutf8lib.c")
.file("lua/src/loadlib.c")
.file("lua/src/linit.c")
//.define("LUA_COMPAT_5_2", None)
.include("lua/src")
.compile("liblua.a");
}
114 changes: 114 additions & 0 deletions lua53-sys/lua/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# Makefile for installing Lua
# See doc/readme.html for installation and customization instructions.

# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================

# Your platform. See PLATS for possible values.
PLAT= none

# Where to install. The installation starts in the src and doc directories,
# so take care if INSTALL_TOP is not an absolute path. See the local target.
# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
INSTALL_TOP= /usr/local
INSTALL_BIN= $(INSTALL_TOP)/bin
INSTALL_INC= $(INSTALL_TOP)/include
INSTALL_LIB= $(INSTALL_TOP)/lib
INSTALL_MAN= $(INSTALL_TOP)/man/man1
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V

# How to install. If your install program does not support "-p", then
# you may have to run ranlib on the installed liblua.a.
INSTALL= install -p
INSTALL_EXEC= $(INSTALL) -m 0755
INSTALL_DATA= $(INSTALL) -m 0644
#
# If you don't have "install" you can use "cp" instead.
# INSTALL= cp -p
# INSTALL_EXEC= $(INSTALL)
# INSTALL_DATA= $(INSTALL)

# Other utilities.
MKDIR= mkdir -p
RM= rm -f

# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======

# Convenience platforms targets.
PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris

# What to install.
TO_BIN= lua luac
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
TO_LIB= liblua.a
TO_MAN= lua.1 luac.1

# Lua version and release.
V= 5.3
R= $V.3

# Targets start here.
all: $(PLAT)

$(PLATS) clean:
cd src && $(MAKE) $@

test: dummy
src/lua -v

install: dummy
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)

uninstall:
cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC)
cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB)
cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN)

local:
$(MAKE) install INSTALL_TOP=../install

none:
@echo "Please do 'make PLATFORM' where PLATFORM is one of these:"
@echo " $(PLATS)"
@echo "See doc/readme.html for complete instructions."

# make may get confused with test/ and install/
dummy:

# echo config parameters
echo:
@cd src && $(MAKE) -s echo
@echo "PLAT= $(PLAT)"
@echo "V= $V"
@echo "R= $R"
@echo "TO_BIN= $(TO_BIN)"
@echo "TO_INC= $(TO_INC)"
@echo "TO_LIB= $(TO_LIB)"
@echo "TO_MAN= $(TO_MAN)"
@echo "INSTALL_TOP= $(INSTALL_TOP)"
@echo "INSTALL_BIN= $(INSTALL_BIN)"
@echo "INSTALL_INC= $(INSTALL_INC)"
@echo "INSTALL_LIB= $(INSTALL_LIB)"
@echo "INSTALL_MAN= $(INSTALL_MAN)"
@echo "INSTALL_LMOD= $(INSTALL_LMOD)"
@echo "INSTALL_CMOD= $(INSTALL_CMOD)"
@echo "INSTALL_EXEC= $(INSTALL_EXEC)"
@echo "INSTALL_DATA= $(INSTALL_DATA)"

# echo pkg-config data
pc:
@echo "version=$R"
@echo "prefix=$(INSTALL_TOP)"
@echo "libdir=$(INSTALL_LIB)"
@echo "includedir=$(INSTALL_INC)"

# list targets that do not create files (but not all makes understand .PHONY)
.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho

# (end of Makefile)
6 changes: 6 additions & 0 deletions lua53-sys/lua/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

This is Lua 5.3.3, released on 30 May 2016.

For installation instructions, license details, and
further information about Lua, see doc/readme.html.

Loading