EagleEye
11-11-2005 21:38:53
Honestly, SWIG has done most of the work here, but at this point, the complexity of the project is just too much for SWIG to handle.
In fact, running SWIG once wraps all of the functions. The problem is, to modify the way the functions are wrapped, you have to know how to tell SWIG to modify them.
Imagine it's like a text editor. Normally, you just type in to it. Now imagine an automated typist type of program where you have to learn how to type a second way so it can be translated in to the right typed text in to the original text editor. SWIG is that automated thing. In its default configuration, it does a lot of stuff for you, and you can extend it and modify the way it does stuff if you want... so you can optimize it for use after use.
The thing is, we already have a nice base to work with, so why not just work with it? SWIG is just a tool to get you to the destination in a predictable way each and every time. My thinking is, we're not going to be doing this multiple times. In fact, I don't even think the swig interface files need to be on the CVS. The .cs files that are generated by SWIG can now be taken and modified independantly from SWIG.
I'm going to test my theories here in the next hour before I have to go to work. I've been spending all of my time trying to figure out how to get SWIG to properly wrap some functions, when all I should have to do is modify the resulting CS files from where they are now.
In fact, running SWIG once wraps all of the functions. The problem is, to modify the way the functions are wrapped, you have to know how to tell SWIG to modify them.
Imagine it's like a text editor. Normally, you just type in to it. Now imagine an automated typist type of program where you have to learn how to type a second way so it can be translated in to the right typed text in to the original text editor. SWIG is that automated thing. In its default configuration, it does a lot of stuff for you, and you can extend it and modify the way it does stuff if you want... so you can optimize it for use after use.
The thing is, we already have a nice base to work with, so why not just work with it? SWIG is just a tool to get you to the destination in a predictable way each and every time. My thinking is, we're not going to be doing this multiple times. In fact, I don't even think the swig interface files need to be on the CVS. The .cs files that are generated by SWIG can now be taken and modified independantly from SWIG.
I'm going to test my theories here in the next hour before I have to go to work. I've been spending all of my time trying to figure out how to get SWIG to properly wrap some functions, when all I should have to do is modify the resulting CS files from where they are now.