Hi,

On Thu, Jun 30, 2022 at 8:14 PM Matthew Brett <matthew.br...@gmail.com> wrote:
>
> Hi,
>
> On Thu, Jun 30, 2022 at 10:00 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?
>
> I've put up a minimal repo:
>
> https://github.com/matthew-brett/minnpd
>
> I ran
>
> > $env:CFLAGS = "-mbad-opt"
> > $env:LDFLAGS="-bad-option"
> > python setup.py build
>
> You can see from the `build.log` file, that the build doesn't pick up
> either flag.

Windows also ignores the CC environment variable:

$ $env:CC = "cl -mbad-opt"
$ python setup.py build

(no error, no sign of option)

Cheers,

Matthew
_______________________________________________
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