On Thu, Jun 30, 2022 at 9:25 PM Matthew Brett <matthew.br...@gmail.com>
wrote:

> Hi,
>
> On Thu, Jun 30, 2022 at 8:14 PM Matthew Brett <matthew.br...@gmail.com>
> wrote:
>
> > >> >>
> > >> >> 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
>

Looks like a Windows-specific bug in `distutils` then (assuming the `$env`
bit is correct, I still don't trust it). I don't have a Windows machine
available, but on Linux this errors out quickly:

$ CC="gcc -mbad-opt" python setup.py build
...
gcc: error: unrecognized command line option '-mbad-opt'

And same for CFLAGS, it works as advertised.

Probably not worth spending more time on, since this is all deprecated code.

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