I don’t think so, this was just an embedded link to your hard drive: file:///C:/tools/swigwin-3.0.7/Doc/Manual/Python.html#Python_builtin_types
Sean > On Nov 19, 2015, at 10:51 AM, Zachary Turner via lldb-dev > <lldb-dev@lists.llvm.org> wrote: > > > > On Thu, Nov 19, 2015 at 10:50 AM Zachary Turner <ztur...@google.com > <mailto:ztur...@google.com>> wrote: > Well some of the bugfixes are actually worth mentioning, because we actually > have bugs on the C++ side that we can't fix because then SWIG won't be able > to process the header files. For example, if SWIG sees this in a header > file, it errors out and can't even proceed. > > enum Foo : unsigned { > Bar = 0xFFFFFFFF > }; > > So instead we have to write this: > > enum Foo { > Bar = 0xFFFFFFFF > }; > > According to the standard this produces an unsigned enum, but MSVC is > non-comformant here, and we get a signed enum. So we have hundreds of > warnings disabled as a result of this, and it's a legitimate bug on the C++ > side that we would like to fix, irrespective of SWIG. > > Feature-wise, here's a potentially incomplete list: > > * Typemaps can re-use other typemaps, similar to how functions can call other > functions > * A new -debug-tmsearch command line option which helps debugging typemap > problems. For example, when you're looking at some generated code and trying > to figure out which typemap generated it. I know I've had to do this many > times during the Python 3 conversion, and this would have helped. > * Template classes are supported. We probably don't care about this, but > it's an interesting thought. > * -builtin option supports generating higher performance wrapping code. Read > the SWIG documentation about -builtin <> > Grr, do embedded links not work on the mailing list or something? > > http://www.swig.org/Doc3.0/Python.html#Python_builtin_types > <http://www.swig.org/Doc3.0/Python.html#Python_builtin_types> > > > JavaScript support has been mentioned as someone someone needs on more than > one occasion. The name of the person interested escapes me, but this wasn't > added until SWIG 3.x. Other languages like Go and Lua aren't in 1.x of SWIG > either, I don't believe. > > I'll try to think of some more. > > > On Thu, Nov 19, 2015 at 10:17 AM Todd Fiala <todd.fi...@gmail.com > <mailto:todd.fi...@gmail.com>> wrote: > I'm out next week, but I can help if needed after that. > > Related to all this, you have mentioned a few times that there are newer swig > features you want to use. > > Can you enumerate the features not present in 1.x but present in 3.x that you > want to take advantage of, and what benefits they will bring us? (I'm not > referring to bug fixes in bindings, but actual features that bring something > new that we didn't have before). > > Thanks! > > -Todd > > On Thu, Nov 19, 2015 at 10:14 AM, Zachary Turner <ztur...@google.com > <mailto:ztur...@google.com>> wrote: > I wasn't planning on working on this immediately, but given the outcome of > the recent static bindings work, I can re-prioritize. I don't know how long > it will take, because honestly writing this kind of thing in Python is new to > me.. to make an understatement. But I'll get it done. Give me until mid > next week and I'll post an update. > > On Thu, Nov 19, 2015 at 10:12 AM Todd Fiala <todd.fi...@gmail.com > <mailto:todd.fi...@gmail.com>> wrote: > On Thu, Nov 19, 2015 at 9:44 AM, Zachary Turner <ztur...@google.com > <mailto:ztur...@google.com>> wrote: > Just to re-iterate, if we use the bindings as a service, then I envision > checking the bindings in. This addresses a lot of the potential pitfalls you > point out, such as the "oops, you can't hit the network, no build for you" > and the issue of production build flows not wanting to hit a third party > server, etc. > > So if we do that, then I don't think falling back to local generation will be > an issue (or important) in practice. i.e. it won't matter if you can't hit > the network. The reason I say this is that if you can't hit the network you > can't check in code either. So, sure, there might be a short window where > you can't do a local build , but that would only affect you if you were > actively modifying a swig interface file AND you were actively without a > network connection. The service claims 99.95% uptime, and it's safe to say > we are looking at significantly less than 100% usage of the server (given > checked in bindings), so I think we're looking at once a year -- if that -- > that anyone anywhere has an issue with being able to access the service. > > > That seems fine. > > And, as you said, the option can be provided to change the host that the > service runs on, so someone could run one internally. > > But do note, that if the goal here is to get the SWIG version bumped in the > upstream, then we will probably take advantage of some of these new SWIG > features, which may not work in earlier versions of SWIG. So you should > consider how useful it will be to be able to run this server internally, > because if you can't run a new version of swig locally, then can you run it > internally anywhere? I don't know, I'll leave that for you to figure out. > > > That also seems fine. And yes, we can work it out on our end. > > We'd need to make sure that developer flows would pick up the need to > generate the bindings again if binding surface area changed, but that is no > different than now. > > Either way, it will definitely have the ability to use a different host, > because that's the easiest way to debug theclient and server (i.e. run them > on the same machine with 127.0.0.1) > > > Yep, sounds right. > > On Thu, Nov 19, 2015 at 8:00 AM Todd Fiala <todd.fi...@gmail.com > <mailto:todd.fi...@gmail.com>> wrote: > For the benefit of continuity in conversation, here is what you had to say > about it before: > > > One possibility (which I mentioned to you offline, but I'll put it here for > others to see) is that we make a swig bot which is hosted in the cloud much > like our public build bots. We provide a Python script that can be run on > your machine, which sends requests over to the swig bot to run swig and > send back the results. Availability of the service would be governed by > the SLA of Google Compute Engine, viewable here: > https://cloud.google.com/compute/sla?hl=en > <https://cloud.google.com/compute/sla?hl=en> > > > If we do something like this, it would allow us to raise the SWIG version > in the upstream, and at that point I can see some benefit in checking the > bindings in. Short of that, I still dont' see the value proposition in > checking bindings in to the repo. [bits deleted] > > > If it means we can get off of SWIG 1.x in the upstream, I will do the work > to make remote swig generation service and get it up and running. > > I'd like feedback from others on this. Is this something we want to consider > doing? > From my perspective, this seems reasonable to look into doing if we: > (a) have the service code available, and > (b) if we so choose, we can readily have the script hit another server (so > that a consumer can have the entire setup on an internal network), and > (c: option 1) be able to fall back to generate with swig locally as we do now > in the event that we can't hit the server > (c: option 2) rather than fall back to swig generation, use swig generation > as primary (as it is now) but, if a swig is not found, then do the > get-bindings-as-a-service flow. > This does open up multiple ways to do something, but I think we need to avoid > a failure mode that says "Oops, you can't hit the network. Sorry, no lldb > build for you." > > Reasoning: > For (a): just so we all know what we're using. > For (b): I can envision production build flows that will not want to be > hitting a third-party server. We shouldn't require that. > For (c): we don't want to prevent building in scenarios that can't hit a > network during the build. > > -Todd > > On Wed, Nov 18, 2015 at 10:58 PM, Todd Fiala <todd.fi...@gmail.com > <mailto:todd.fi...@gmail.com>> wrote: > > > On Wed, Nov 18, 2015 at 10:06 PM, Todd Fiala <todd.fi...@gmail.com > <mailto:todd.fi...@gmail.com>> wrote: > Hey Zachary, > > I think the time pressure has gotten the better of me, so I want to apologize > for getting snippy about the static bindings of late. I am confident we will > get to a good solution for removing that dependency, but I can certainly wait > for a solution (using an alternate approach in our branch) until we arrive at > something more palatable to everyone. > > Regarding the bindings as service idea: > > How quickly do you think you could flesh out the bindings as a service idea? > With a relatively strong dislike for the static approach I'm taking, I can > back off that and just use my current code here in a downstream branch for > now. Ultimately I want to remove the requirement for swig, but I can > probably achieve that without doing it in upstream if we're going to have > some solution there at some point ideally sooner than later. > > Also - I think you were going to send me a swig 3.x binding to try out (I'd > need the LLDBWrapPythoh.cpp and the lldb.py, and you'd just need to let me > know if it still needs to be post-processed or it would need to be done). > Can we shoot for trying that out maybe tomorrow? > > > Hey I got these, Zachary. They just didn't go in my inbox. > > Thanks! > -- > -Todd > > > > -- > -Todd > > > > -- > -Todd > > > > -- > -Todd > > > > -- > -Todd > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev