Thread: [luabind] Alternative fork for C++11
Brought to you by:
arvidn,
daniel_wallin
From: Michael S. <mic...@tu...> - 2013-09-26 14:31:21
|
Hello, I have so far been developing privately on a fork of Ryan Pavlik's luabind version (https://github.com/decimad/luabind-deboostified) to make it independent of boost and use variadic templates and c++11 constructs unconditionally. With the advent of Visual C++ 2013 RC I felt it was time to tame the beast down in order to not cripple Intellisense by its pure complexity of all boost preprocessor magic going on there, but maybe there is something in it for users of different compilers. I basically replaced the policy system and reworked all the calling-wrapper-code while trying to maintain test stability (adapting the tests where I found a breaking change was farvorable). Now I don't want to urge anyone using it (it would even create some porting work, as it is not 100% source compatible), but I want to ask if anyone could take the time to test if it compiles and tests ok on other c++11 compilers or if I made it unbuildable by accident (maybe even giving hints of what is wrong). If anyone ever feels like he would like to use a c++11-version, I would like to contribute back a working thing (or at least try to offer it). With kind regards, Michael |
From: Teto <mat...@gm...> - 2013-09-26 14:43:33
|
That's truly awesome. I had started myself a port of luabind to C++11 but had given up in front facing the huge amount of work needed. I won't have time to check this anytime soon but I will in a few months and give you feedback. I believe it reduces the codebase ? It should make the code a lot clearer also, allowing for more third party contributions. Thanks a lot for your work. Matt On Thu, Sep 26, 2013 at 4:31 PM, Michael Steinberg <mic...@tu...> wrote: > Hello, > I have so far been developing privately on a fork of Ryan Pavlik's > luabind version (https://github.com/decimad/luabind-deboostified) to > make it independent of boost and use variadic templates and c++11 > constructs unconditionally. With the advent of Visual C++ 2013 RC I felt > it was time to tame the beast down in order to not cripple Intellisense > by its pure complexity of all boost preprocessor magic going on there, > but maybe there is something in it for users of different compilers. > I basically replaced the policy system and reworked all the > calling-wrapper-code while trying to maintain test stability (adapting > the tests where I found a breaking change was farvorable). > Now I don't want to urge anyone using it (it would even create some > porting work, as it is not 100% source compatible), but I want to ask if > anyone could take the time to test if it compiles and tests ok on other > c++11 compilers or if I made it unbuildable by accident (maybe even > giving hints of what is wrong). If anyone ever feels like he would like > to use a c++11-version, I would like to contribute back a working thing > (or at least try to offer it). > > With kind regards, > Michael > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > luabind-user mailing list > lua...@li... > https://lists.sourceforge.net/lists/listinfo/luabind-user |
From: Michael S. <mic...@tu...> - 2013-09-26 15:04:08
|
Hello, > I believe it reduces the codebase ? It > should make the code a lot clearer also, allowing for more third party > contributions. Lots of old code has gone, the statistics are about +4k -5k lines. Note that this includes my replacement for boost::mpl usage (boost::mpl + boost::lexical_cast are really big buggers and noone seems to care to make c++11-ready) and other boost stuff, so it could have been even less (plus the meta header in the end provides much more than I used at the end). But I fear that I might have broken stuff all over the place, so this needs testing and the provided tests do not cover the whole code. I tried to make the stuff clearer, if anybody has improvement ideas, I'll gladly accept patches (when I find out how to apply them :D)/ideas. Other than that I'm watching the other repositories and try to port their patches. Michael |
From: Lorenzo P. <bla...@gm...> - 2013-09-26 14:48:07
|
Looks interesting. I could test with gcc 4.8.1 and possibly even clang on Mac OSX 10.8, but I'm not familiar with the original build method of luabind, I don't know if I should mimic it. Do I just compile all the .cpp files? On 09/26/2013 04:31 PM, Michael Steinberg wrote: > Hello, > I have so far been developing privately on a fork of Ryan Pavlik's > luabind version (https://github.com/decimad/luabind-deboostified) to > make it independent of boost and use variadic templates and c++11 > constructs unconditionally. With the advent of Visual C++ 2013 RC I felt > it was time to tame the beast down in order to not cripple Intellisense > by its pure complexity of all boost preprocessor magic going on there, > but maybe there is something in it for users of different compilers. > I basically replaced the policy system and reworked all the > calling-wrapper-code while trying to maintain test stability (adapting > the tests where I found a breaking change was farvorable). > Now I don't want to urge anyone using it (it would even create some > porting work, as it is not 100% source compatible), but I want to ask if > anyone could take the time to test if it compiles and tests ok on other > c++11 compilers or if I made it unbuildable by accident (maybe even > giving hints of what is wrong). If anyone ever feels like he would like > to use a c++11-version, I would like to contribute back a working thing > (or at least try to offer it). > > With kind regards, > Michael > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > luabind-user mailing list > lua...@li... > https://lists.sourceforge.net/lists/listinfo/luabind-user |
From: Michael S. <mic...@tu...> - 2013-09-26 14:52:21
|
Hello, > Do I just compile all the .cpp files? the project comes with CMake files that should probably be able to set up the project files for your build environment (It was very simple here on windows). You will need a version of the lua library however. Michael |
From: Lorenzo P. <bla...@gm...> - 2013-09-26 15:08:08
|
It doesn't seem to set the -std=c++11 flag On 09/26/2013 04:51 PM, Michael Steinberg wrote: > Hello, >> Do I just compile all the .cpp files? > the project comes with CMake files that should probably be able to set > up the project files for your build environment (It was very simple here > on windows). You will need a version of the lua library however. > > Michael > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > luabind-user mailing list > lua...@li... > https://lists.sourceforge.net/lists/listinfo/luabind-user |
From: Michael S. <mic...@tu...> - 2013-09-26 15:14:43
|
Gnarg! I will try to find out how to set that with the CMake files. This was the first CMake project I used and I didn't think about other compilers might need an extra flag for c++11. Many more beginner's mistakes to come! Michael |
From: Lorenzo P. <bla...@gm...> - 2013-09-26 15:16:11
|
Hold on, I have already fixed it, plus another thingie. I'll share the patch in moments On 09/26/2013 05:14 PM, Michael Steinberg wrote: > Gnarg! > I will try to find out how to set that with the CMake files. This was > the first CMake project I used and I didn't think about other compilers > might need an extra flag for c++11. Many more beginner's mistakes to come! > > Michael > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > luabind-user mailing list > lua...@li... > https://lists.sourceforge.net/lists/listinfo/luabind-user |
From: Lorenzo P. <bla...@gm...> - 2013-09-26 15:43:31
|
Actually it is a very good thing to require an extra flag, as c++11 doesn't only add stuff but changes the behaviour of some subtleties. On 09/26/2013 05:14 PM, Michael Steinberg wrote: > Gnarg! > I will try to find out how to set that with the CMake files. This was > the first CMake project I used and I didn't think about other compilers > might need an extra flag for c++11. Many more beginner's mistakes to come! > > Michael > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > luabind-user mailing list > lua...@li... > https://lists.sourceforge.net/lists/listinfo/luabind-user |
From: Lorenzo P. <bla...@gm...> - 2013-09-26 15:40:03
|
Right now I'm busy so I can't fix all the problems, but here's something that might be interesting to you. A patch for some trivial problems with path names (replace \ with /, which is cross-platform) and the -std=c++11 flag: http://pastebin.com/maSTChZy A log of "make -k" to spot the compilation errors on all the compile units: http://pastebin.com/KgjZtULV I urge you to also add a newline at the end of the source files, not having that is a bit annoying on linux because basically every tool try to add it, and it's general wisdom to put them otherwise "some programs might not work". On 09/26/2013 05:14 PM, Michael Steinberg wrote: > Gnarg! > I will try to find out how to set that with the CMake files. This was > the first CMake project I used and I didn't think about other compilers > might need an extra flag for c++11. Many more beginner's mistakes to come! > > Michael > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > luabind-user mailing list > lua...@li... > https://lists.sourceforge.net/lists/listinfo/luabind-user |
From: Michael S. <mic...@tu...> - 2013-09-26 15:43:41
|
Hello, thank you so much for the input, I will work on it. Michael PS: Do you mind me contacting you directly in case if questions? Mustn't have all the noise here for implementation details, I figure. |
From: Willi S. <wi...@sc...> - 2013-09-26 18:45:29
|
Hi, just wanted to say thank you for this. I'll probably give this a try soon-ish and report back. (Any problems I encounter will go to the github issue tracker, that what it's for after all.) Willi |
From: Willi S. <wi...@sc...> - 2013-09-27 22:39:20
|
I've fiddled with it for a while but couldn't get it to compile with the Android NDK. Got a couple of errors, like one about luabind::get_back_reference() not being found in pointer_converter.hpp although it clearly includes back_reference.hpp. Strange. Well, I'll use the Lua C API for now, using experimental C++11-based libraries might not be the best thing to do in your first Android NDK program. Willi |
From: Michael S. <ms...@tu...> - 2013-09-28 05:50:29
|
Hello Willi, which version did you use on which compiler? I had exactly these error messages before getting it compatible to gcc 4.8.1 yesterday evening. This was a problem that started, because MSVC delays template instantiation (contra the standard) and so conforming compilers need certain function definitions earlier in cases. But including the definitions led to a circular header dependency, which never ends well. I fixed that one last evening, so I'm curious if you used the latest master? Michael |
From: Willi S. <wi...@sc...> - 2013-09-28 09:27:36
|
I downloaded it sometime in the afternoon - judging from your name you're probably German as well so we likely share a timezone, so chances are I didn't have the latest version. I'll try again later, using 4.8 as well. Circular dependencies are indeed something I thought of as well but didn't want to investigate at the time. Willi |
From: Michael S. <mic...@tu...> - 2014-02-15 21:12:42
|
Hello, I am still here, I will be working on it for sure. The lib is in my active source base and I made some quick fixups there, too, however it's still a "floating" version, with lua side deriving impossible. I'm currently being driven nuts with day to day work and finishing on that software project. So I cannot spend the time I would like (or rather "any" reasonable time). That being said, when I'm done with this 'sprint', I want to enable dynamic properties in my client app, so "SomeObject.Foo" will yield a meta-table call with parameter "Foo", so that will probably be the time when I get this cleaned up. I was not looking into the repo for long to avoid the panics that people are waiting... I have enough people waiting already... Sorry for the silence! Kind regards, Michal |
From: Ryan P. <rp...@ia...> - 2014-02-17 17:38:35
|
FYI, you can test with gcc c++11 on Windows pretty easily with this MinGW distribution: http://nuwen.net/mingw.html On Sat, Feb 15, 2014 at 3:12 PM, Michael Steinberg < mic...@tu...> wrote: > Hello, > I am still here, I will be working on it for sure. The lib is in my > active source base and I made some quick fixups there, too, however it's > still a "floating" version, with lua side deriving impossible. I'm > currently being driven nuts with day to day work and finishing on that > software project. So I cannot spend the time I would like (or rather > "any" reasonable time). > That being said, when I'm done with this 'sprint', I want to enable > dynamic properties in my client app, so "SomeObject.Foo" will yield a > meta-table call with parameter "Foo", so that will probably be the time > when I get this cleaned up. > I was not looking into the repo for long to avoid the panics that people > are waiting... I have enough people waiting already... > Sorry for the silence! > > Kind regards, > Michal > > > ------------------------------------------------------------------------------ > Android apps run on BlackBerry 10 > Introducing the new BlackBerry 10.2.1 Runtime for Android apps. > Now with support for Jelly Bean, Bluetooth, Mapview and more. > Get your Android app in front of a whole new audience. Start now. > > http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk > _______________________________________________ > luabind-user mailing list > lua...@li... > https://lists.sourceforge.net/lists/listinfo/luabind-user > -- Ryan Pavlik HCI Graduate Student Virtual Reality Applications Center Iowa State University rp...@ia... http://academic.cleardefinition.com |
From: Teto <mat...@gm...> - 2014-02-17 17:42:24
|
Thanks for your answer, I will try it then and send feedback if I have errors/patches 2014-02-17 18:38 GMT+01:00 Ryan Pavlik <rp...@ia...>: > FYI, you can test with gcc c++11 on Windows pretty easily with this MinGW > distribution: http://nuwen.net/mingw.html > > > On Sat, Feb 15, 2014 at 3:12 PM, Michael Steinberg > <mic...@tu...> wrote: >> >> Hello, >> I am still here, I will be working on it for sure. The lib is in my >> active source base and I made some quick fixups there, too, however it's >> still a "floating" version, with lua side deriving impossible. I'm >> currently being driven nuts with day to day work and finishing on that >> software project. So I cannot spend the time I would like (or rather >> "any" reasonable time). >> That being said, when I'm done with this 'sprint', I want to enable >> dynamic properties in my client app, so "SomeObject.Foo" will yield a >> meta-table call with parameter "Foo", so that will probably be the time >> when I get this cleaned up. >> I was not looking into the repo for long to avoid the panics that people >> are waiting... I have enough people waiting already... >> Sorry for the silence! >> >> Kind regards, >> Michal >> >> >> ------------------------------------------------------------------------------ >> Android apps run on BlackBerry 10 >> Introducing the new BlackBerry 10.2.1 Runtime for Android apps. >> Now with support for Jelly Bean, Bluetooth, Mapview and more. >> Get your Android app in front of a whole new audience. Start now. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk >> _______________________________________________ >> luabind-user mailing list >> lua...@li... >> https://lists.sourceforge.net/lists/listinfo/luabind-user > > > > > -- > Ryan Pavlik > HCI Graduate Student > Virtual Reality Applications Center > Iowa State University > > rp...@ia... > http://academic.cleardefinition.com |
From: Teto <mat...@gm...> - 2014-02-15 16:00:46
|
Was wondering what was the status on this. Do you keep working on it ? last commit is 4 months old and I've seen some forks, one of them looks interesting. 2013-09-28 11:27 GMT+02:00 Willi Schinmeyer <wi...@sc...>: > I downloaded it sometime in the afternoon - judging from your name > you're probably German as well so we likely share a timezone, so chances > are I didn't have the latest version. I'll try again later, using 4.8 as > well. > > Circular dependencies are indeed something I thought of as well but > didn't want to investigate at the time. > > Willi > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > luabind-user mailing list > lua...@li... > https://lists.sourceforge.net/lists/listinfo/luabind-user |
From: Willi S. <wi...@sc...> - 2014-02-15 16:53:33
|
Am 2/15/2014 5:00 PM, schrieb Teto: > Was wondering what was the status on this. Do you keep working on it ? > last commit is 4 months old and I've seen some forks, one of them > looks interesting. Status on what? The C++11 fork or my Android compile experiments? (Since you quoted me, but that was presumably just because it was the last message in the conversation?) I haven't investigated the Android compile further and I know as little about the C++11 fork as you do. Willi |