Commit Graph

1465 Commits

Author SHA1 Message Date
ThePhD
1341aafa27 Unfortunately, exceptions require some overhead in luajit... overhead we can't always accept on behalf of the user. 2016-02-25 13:04:04 -05:00
ThePhD
3f681eea0d And fixes to bootstrap to properly enable building 2016-02-25 11:13:36 -05:00
ThePhD
7402b1bc95 Clearer names for some of the exposed classes. 2016-02-25 11:07:39 -05:00
ThePhD
c78f8b3292 And finally, proper library control. 2016-02-25 09:26:28 -05:00
ThePhD
f700bbc93d This is a lot harder than it needs to be. 2016-02-25 08:54:58 -05:00
ThePhD
32b9e13e91 Bwuh. Clang version 3.5 is not available on precis either. 2016-02-25 08:43:41 -05:00
ThePhD
48e5601422 Package name is clang-3.5, not clang++3.5... 2016-02-25 08:30:15 -05:00
ThePhD
994095636c Proper luajit testing 2016-02-25 08:28:07 -05:00
ThePhD
3f6de17856 clang and g++ versions we want to target 2016-02-25 08:08:05 -05:00
ThePhD
f9da62a6e3 g++ 4.8 can't handle raw string literals in macros... that's rough. 2016-02-25 03:51:29 -05:00
ThePhD
0bed2a9540 Alll the include files! 2016-02-25 03:45:44 -05:00
ThePhD
9227f25e9c Not very good at argparse... 2016-02-25 03:43:12 -05:00
ThePhD
626f4a7728 Compiling for both! 2016-02-25 03:36:21 -05:00
ThePhD
acead29cd3 lua 5.3 doesn't exist on trusty or precise: have to wait until xenial. 2016-02-25 00:41:04 -05:00
ThePhD
ac916b4b91 Default flags and shiny new badge 2016-02-25 00:08:42 -05:00
ThePhD
1f894fc3b7 Let's.... just keep things simple.... 2016-02-24 22:47:23 -05:00
ThePhD
189a8eea4b Getting used to travis... 2016-02-24 22:38:05 -05:00
ThePhD
2a5cd3bd49 Dependency reduction: just want to test compilers, and we don't explicitly install on the user's machine using shell scripts (configure bootstrap.py to be more flexible instead for that). Only other possible test cases are 2 more for luajit-latest (2.0.4). 2016-02-24 22:29:15 -05:00
Kevin Brightwell
15e91f811f Add build/test support for Travis CI
Tests:

 OS    | Compiler  | Lua Version
 :---- | --------- | -----------
 Linux | gcc-4.9   | lua52, LuaJIT
 Linux | gcc-5     | lua52, LuaJIT
 Linux | clang-3.6 | lua52, LuaJIT
 OSX   | xcode6    | lua52
 OSX   | xcode7    | lua52
 OSX   | gcc-4.9*  | lua52
 OSX   | gcc-5     | lua52

\* On OSX out of the box, gcc-4.9 is actually the gcc wrapper around appleclang
2016-02-24 18:41:23 -05:00
ThePhD
51cd0cb0da Messed up the spacing like a pleb 2016-02-24 14:10:22 -05:00
ThePhD
9c21d11b8c Proper defaults for bootstrap.py
Checks in g++ to make sure things compile
clang++ is a major asshole...
2016-02-24 13:59:17 -05:00
The Phantom Derpstorm
e046435b49 Merge pull request #16 from Nava2/frespect-cxx
Change bootstrap.py to respect `CXX` variable
2016-02-24 11:21:02 -05:00
Kevin Brightwell
3263e67979 Change bootstrap.py to respect CXX variable 2016-02-24 10:36:12 -05:00
ThePhD
3d7a93ae1c Put detail classes not part of the interface into deeper namespaces to clear up the to level. 2016-02-23 23:39:46 -05:00
ThePhD
16c6f62fe3 Remove strerror deprecation remark 2016-02-22 02:44:27 -05:00
ThePhD
166771ae8d Proper support for mixed types of overloads. 2016-02-21 21:27:05 -05:00
ThePhD
a6a2e67dc6 Git had a sneeze and couldn't properly remove this file... 2016-02-21 19:28:30 -05:00
ThePhD
019c7b037b Huge improvements to the library and fixes to compile in g++.
usertype now respects factory functions and does not make default constructors/destructors unless the compiler says its okay
new and __gc functions can be overridden for usertypes to provide handle-like creation and deletion functions
Overloading match fixes
RAII improvements for all usertypes
Added tests to make sure these features stay
2016-02-21 19:26:58 -05:00
ThePhD
b2b73db5cb overloading searching improvements and general refactoring for cleaner implementation. 2016-02-18 22:17:52 -05:00
ThePhD
0ee92c0142 This is hard.... 2016-02-16 21:22:07 -05:00
ThePhD
8a7f4e6586 Update Catch 2016-02-15 09:25:43 -05:00
ThePhD
f62c53f155 x64 build fixes 2016-02-15 09:24:59 -05:00
ThePhD
1293213775 Several improvements to tunnneling for the library, with included tests
Some stack size tests are also included to prevent stack overflow as well.
2016-02-13 20:14:31 -05:00
ThePhD
17c8f8e04d Mo' problems, mo' tests. 2016-02-12 12:56:32 -05:00
ThePhD
228609ee17 Addresses derp from refactoring and #12 2016-02-12 12:47:05 -05:00
ThePhD
a71c9737d4 Fixed usertype checking for overloading resolution (and for userdata in general) 2016-02-11 02:28:38 -05:00
ThePhD
427194bc92 Improved functions example and adjusted all errors for g++ conformance with -Wall -Werror 2016-02-10 12:12:09 -05:00
ThePhD
2788abb34e Overloading now works and there are tests to back it up. The codebase now relies on some C++14 features explicitly. 2016-02-10 11:36:00 -05:00
ThePhD
9372b54b02 Preparing for overload support
Preparing to benchmarking of several different lua frameworks
2016-02-09 03:38:11 -05:00
ThePhD
540438baec Improve readme 2016-02-06 00:14:18 -05:00
ThePhD
5034bd7980 Benchmarking will be done in a separate repository, alongside other frameworks. 2016-02-04 20:16:53 -05:00
ThePhD
a9c5bfc0b8 Update catch 2016-02-02 16:30:49 -05:00
ThePhD
bb29127785 Proper semantics for set/get
`set_function`/`set_usertype` now properly use `set`
For the time being, we are going to avoid implementing `traverse`; aside from performance of nested table access (e.g. `int x = lua["a"]["b"]["c"]`), it's a pain. ;~;
2016-02-02 16:18:44 -05:00
ThePhD
b66c7f015a Significant change to how userdata is stored to make access consistent across values/references/pointers. 2016-02-01 11:56:44 -05:00
ThePhD
c97b3f2b81 Some spiffier table access syntax (and a stupid VC++ bug discovered along with it) 2016-02-01 03:53:51 -05:00
ThePhD
1d93f560f2 more luajit compatibility fixes - works with Lua 5.1, 5.2, 5.3
additional tests to make sure pass-by-value and copy semantics work as intended
new proxy_base class to reduce code duplication
update function / protected_function usage (to solve starwing's issue while keeping code as clean as possible)
2016-02-01 03:27:06 -05:00
ThePhD
27f09fbb35 variadic set - introduction of state_view type to allow for all of the benefits of state without destructing lua instance. 2016-01-30 04:21:33 -05:00
ThePhD
f21f9c9959 Ensures value semantics and proper destructor calls.
Fixes for tabs/spaces
2016-01-28 19:57:02 -05:00
ThePhD
f389c7fe36 True luajit compatibility 2016-01-27 01:07:16 -05:00
ThePhD
31e7857870 Merge remote-tracking branch 'root/develop' into develop
# Conflicts:
#	examples/usertype.cpp
#	sol.hpp
#	sol/debug.hpp
#	sol/default_construct.hpp
#	sol/demangle.hpp
#	sol/deprecate.hpp
#	sol/error.hpp
#	sol/function.hpp
#	sol/function_types.hpp
#	sol/object.hpp
#	sol/proxy.hpp
#	sol/reference.hpp
#	sol/resolve.hpp
#	sol/stack.hpp
#	sol/state.hpp
#	sol/table.hpp
#	sol/traits.hpp
#	sol/tuple.hpp
#	sol/types.hpp
#	sol/usertype.hpp
#	sol/usertype_traits.hpp
2016-01-24 12:16:38 -05:00