On Thu, Jun 30, 2022 at 11:15 AM Ralf Gommers <ralf.gomm...@gmail.com>
wrote:

>
>
> On Thu, Jun 30, 2022 at 10:57 AM Ralf Gommers <ralf.gomm...@gmail.com>
> wrote:
>
>>
>>
>> On Thu, Jun 30, 2022 at 10:47 AM Matthew Brett <matthew.br...@gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> On Thu, Jun 30, 2022 at 9:40 AM Ralf Gommers <ralf.gomm...@gmail.com>
>>> wrote:
>>> >
>>> >
>>> >
>>> > On Thu, Jun 30, 2022 at 10:29 AM Matthew Brett <
>>> matthew.br...@gmail.com> wrote:
>>> >>
>>> >> Hi,
>>> >>
>>> >> On Thu, Jun 30, 2022 at 12:42 AM Kevin Sheppard
>>> >> <kevin.k.shepp...@gmail.com> wrote:
>>> >> >>
>>> >> >>
>>> >> >> Hi,
>>> >> >>
>>> >> >> I am very sorry - I feel I should know this, or be able to work it
>>> >> >> out, but is there a way of setting the flags to the C compiler and
>>> the
>>> >> >> linker, for the Numpy build, on Windows?
>>> >> >>
>>> >> >> I'm trying to set the flags for a build with Windows mingw-w64 -
>>> but I
>>> >> >> believe Numpy is ignoring $env:LDFLAGS, $env:CFLAGS and $env:OPT -
>>> and
>>> >> >> I can't see any way of setting these options from the command line.
>>> >> >> Am I missing something?
>>> >> >>
>>> >> >> Cheers,
>>> >> >>
>>> >> >> Matthew
>>> >>
>>> >> >> Member address: kevin.k.shepp...@gmail.com
>>> >> >
>>> >> >
>>> >> > I think these are all hard coded and non-changable.  This was the
>>> case when I got NumPy building with clang-cl.
>>> >>
>>> >> That was my impression too, but I was delayed by the text at:
>>> >>
>>> >>
>>> https://numpy.org/doc/stable/user/building.html#supplying-additional-compiler-flags
>>> >>
>>> >> which says:
>>> >>
>>> >> """
>>> >> Additional compiler flags can be supplied by setting the OPT, FOPT
>>> >> (for Fortran), and CC environment variables. When providing options
>>> >> that should improve the performance of the code ensure that you also
>>> >> set -DNDEBUG so that debugging code is not executed.
>>> >> """
>>> >>
>>> >> I guess we should change that text to note these do not work on
>>> Windows.
>>> >>
>>> >> I think you can supply extra Fortran flags with the `config_gc` option
>>> >> to `setup.py`, but I don't think the others have any effect on
>>> >> Windows.
>>> >>
>>> >> I was also confused by these lines in `azure-steps-windows.yml`:
>>> >>
>>> >> """
>>> >>         $env:CFLAGS = "-m32"
>>> >>         $env:LDFLAGS = "-m32"
>>> >> """
>>> >>
>>> >> I assume these don't actually have any effect.
>>> >
>>> >
>>> > No, the above all seem wrong (unless there has been a major regression
>>> recently), and the `-m32` flags work and are necessary. CFLAGS, FFLAGS,
>>> CXXFLAGS and LDFLAGS can be used, and append compile flags. If you want to
>>> remove flags that are already hardcoded in numpy.distutils, then that's a
>>> different story - you need to edit the numpy.distutils source code then.
>>> >
>>> > I just stumbled on a Windows problem with `$env:`, and the problem was
>>> Windows CI is hopelessly weird. It matters for example if you do something
>>> in a Powershell context (`ps |` in a .yml file) or outside of it. So it may
>>> be something like that.
>>>
>>> Are you sure though - that you can append flags to the compile and
>>> link step with CFLAGS and LDFLAGS?   It didn't work for me locally.
>>> And I can't see where they would have an effect, on Windows, in the
>>> code.
>>>
>>
>> Yes I'm sure, and it's even one of the few things in numpy.distutils that
>> are tested: https://github.com/numpy/numpy/pull/14250. Maybe see if you
>> can make that test fail when setting env vars in a couple of different ways?
>>
>
> Note that the C/C++ handling can come from plain `distutils`, but it
> should work the same. Here's a PR that fixes the Windows wheel builds for
> SciPy for a Pythran issue by using CXXFLAGS:
> https://github.com/MacPython/scipy-wheels/pull/122.
>
> The CPython bug tracker is full of noise about this kind of env var
> handling, nothing conclusive as far as I know. It's of course possible that
> it's broken under some circumstances (or in `setuptools.distutils`). There
> are no tests for this in CPython it looks like.
>

A workaround may be to append the flags you need to CC instead.

>
> Cheers,
> Ralf
>
>
>
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to