@jarkko #Cargo handles them itself, as long as the crate has proper settings. It has to be *separate* crate, as it's build as compiler plug-in to use at building stage.
Using them w/o cargo is going to be tricky - I haven't seen guidelines how. You need a build script to build the procmacro crate first - it's a loadable library. Then pass an option to load it... I can't find what it is, so probably looking into Cargo code may be required.
@jarkko In essence proc macros do not depend on cargo. The only really required thing is the proc_macro library which is the interface to the compiler. *BUT* doing this all manually (or even create a Makefile calling rustc for that) would be quite some work.
@jarkko
Then there is of-course even more when you want to use such a bare proc macro. In simple terms proc macros are compiler plugins. So when you have some source code that wants to use your proc macro you have to tell the compiler there to use it as well.
here's the relevant reference page https://doc.rust-lang.org/stable/reference/linkage.html#r-link.proc-macro
@jarkko Understandable ... anyway when you like it you could could copy over/vendor some parts of unsynn. I can add GPL2 to the lists of licenses.
@jarkko Nah I am ok with direct answers. I only glanced what you are doing. Of course kernel work has pretty specific demands.