On 2012-07-08 23:22, Jonathan Andrew wrote:
Jacob,
The only disadvantage to the single-file limitation is that in the case
of GTK at least, it has preprocessor directives to keep you from just
#include-ing the single file you want to convert, so I just used sed to
strip out all the #error directives that come up and force it to do my
bidding. I understand DStep doesn't deal with preprocessor yet, but as
far as the CLang front-end it uses goes, it might be helpful to find a
way to turn off #error-s.
I had no idea about that.
sed -i 's/#error/\/\//g' *.h
The next step was to rename all the D reserved words that GTK used as
function arguments - in, out, function, and align are the only ones I
can think of off the top of my head. Easy fix for the user (by no means
am I complaining), but if you want to streamline the conversion,
automatically renaming these kinds of arguments might be a helpful option.
I thought the tool did that already.
Then, renaming all the duplicate empty struct{} entries in some of the
files. You already know about this, but it was probably the most
time-consuming part of the process for converting GTK, at least. I
couldn't think of an easy way to automate this on my end, because some
of the empty structs were necessary to get it to compile.
I thought I had fixed this too. I'll have to take a look.
Finally, putting import statements in all the .d files after I was done.
Still a long way to go on this (500 files).
Sorry for the long post, this is probably obvious stuff to everybody
else, but I was really impressed with DStep - thank you for creating it!
No it's good, this is just what I wanted people to do. It would be great
if you could report these issues:
https://github.com/jacob-carlborg/dstep/issues
If you have a simple test case or a header I can try that would be great.
--
/Jacob Carlborg