[PATCH] Port libgccjit to Windows.
Nicolas Bértolo
nicolasbertolo@gmail.com
Mon May 25 19:48:26 GMT 2020
Hi Dave,
Thanks for your feedback.
> Do you have copyright assignment paperwork on file?
> https://gcc.gnu.org/contribute.html#legal
My paperwork is done.
> The autotools are not my strongest suit.
> In a previous life I was a Windows developer, but I think it's been
> about 18 years since I've done any coding on Windows, so I'm going to
> have to trust your Windows expertise.
I guess the best solution would be to use libtool and Automake, but
that require major changes in the GCC build system. I came up with a
solution that uses an if statement to choose the way to build the
dynamic library.
> > It is not necessary to use --enable-host-shared in Windows (I tested
> it),
> > but I
> > don't know the proper way to disable that check.
I used case statement to check the value of $(target).
> What's the issue with fchmod on Windows? Does it not exist, or does it
> not work?
> Please add a comment explaining why.
fchmod does not exist in Windows.
> Please can you fix the indentation here to stay within 80 columns.
> It looks like there's very similar (identical?) code to this below in
> several places.
> Can it be put in a subroutine to avoid repetition?
I created a new file "jit-w32.{h,c}" to store the definitions of
win_mkdtemp() and print_last_error().
> Is there a cast to HMODULE everywhere that m_dso_handle is used?
> If so, does it make the code cleaner if the field becomes an HMODULE on
> Windows?
I added a new type "result::handle_t" that abstracts over this
difference.
> This seems like a very awkward way to get a temporary directory, but
> perhaps it's the best that can be done on Windows?
We could copy an implementation of mkdtemp () for Windows or write
something using a random number generator. I did it this way because
it was the fastest.
> Sorry if this seems excessively like nitpicking - thanks again for the
> patch.
No problem.
Here is a new version.
Nico.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Port-libgccjit-to-Windows.patch
Type: application/octet-stream
Size: 20919 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/jit/attachments/20200525/686d94bf/attachment-0001.obj>
More information about the Jit
mailing list