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