Subject: Re: bug#42761: 28.0.50; [feature/native-comp] allow customizing command line/driver options?

From: Andrea Corallo <[email-masked]>
Date: Sat, 08 Aug 2020 19:31:14 +0000

Andreas Fuchs <[email-masked]> writes:

> That makes sense. Assuming that ~everyone would build the native-comp
> branch with a recent (>=9) gcc release, I cut a branch here that
> implements this (it does pass the driver options, too!):
> https://github.com/antifuchs/emacs/compare/
> allow-setting-driver-options
>
> I think this behavior could be made conditional on the presence of
> the
> correct libgccjit ABI version, by declaring the variable in C code,
> and then everyone on a newer gcc would be able to reap the benefits,
> and everyone else could still use the branch, but only with the
> standard linker flags as before (or passing LIBRARY_PATH if that's
> supported on their platform).
>
>> Another option would be to set our self the LIBRARY_PATH before
> invoking
>> the compiler only in the async process.  Have you already tried
> using
>> `comp-async-env-modifier-form' for this?
>
>
> LIBRARY_PATH does work on GNU binutils: the concern for my nixpkgs
> branch is for usage on Darwin, where that environment variable
> doesn't
> do anything. To get anywhere there, we have to have a way to pass
> command-line arguments... /-:
>
> Besides that though, I think it might be useful for folks who want to
> specify that other linkers should be used (like gold or lld), or
> passing a -specs argument... I don't know if that's supported at all
> yet, but adding this option would be an easy way of finding out how
> unsupported it is (-;

Hi Andreas,

didn't know LIBRARY_PATH works only with binutils.  Agree this sounds
useful.

Regarfing the gcc version: ne option would be to just ifdef the body of
add_driver_options using
LIBGCCJIT_HAVE_gcc_jit_context_add_command_line_option and making clear
that the customize is effective only with GCC>=9.

But I think would be better to raise an error if
comp-native-driver-options is not empty and
gcc_jit_context_add_command_line_option is not available.

I think we should make this clear in the customize doc.

Do you already have copyright paperwork done?

Thanks!

  Andrea

PS I may have missed parts of your patch cause I think is untabifying
all touched files generating a very big diff.

-- 
[email-masked]