| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Adjust the gfortran regex to require a '.' to be present in the version number.
This avoids matching a hash or text containing a '-' such as the version string
from the compilers produced by crosstool-NG. For example:
GNU Fortran (crosstool-NG 8a21ab48) 7.2.0
|
| |
|
|
|
|
|
| |
Note that this was discussed extensively in gh-7287, but removing
this -xhost flag was missed in the PR that closed that issue.
[ci skip]
|
| |
|
|
|
|
| |
Issue was introduced in gh-8454.
Thanks to @jennirinker for pointing out the issue and fix. Closes gh-9553.
|
| |
|
|
|
|
|
|
|
|
|
| |
If we are using the virtualenv module in Python 2.7 (as opposed to venv
in Python 3.3+), then the location of the base distribution is stored in
the real_prefix attribute instead of the base_prefix attribute.
This changeset adds the content of this attribute to the search paths if
it exist (i.e. in practice, if we are running Python 2.7), so that the
runtime libraries do not have to be duplicated in the virtualenv
directory.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The original changeset 1c8ecc7 to make extensions compilable with MinGW
used the base_prefix attribute unconditionally. However, this is not
available in versions before Python 3.3.
This changeset introduces a check for whether the attribute is available
so that the code will work without errors also on Python 2.7. However,
this may lead to surprising results when compiling in a virtualenv.
Hat tip to Diorcet Yann (@diorcety) for pointing out this problem.
|
| |
|
|
|
|
|
|
|
|
|
| |
Fixes two problems:
* c compilers do not have a find_executables method.
* get_version return a LooseVersion instance, not string.
Closes #9278.
[ci skip]
|
| | |
|
| | |
|
| |
|
| |
Echo is a command in the Windows command interpreter
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python 3.5 also added build parallelization at the extension level
instead of the file leve numpy uses.
This causes two problems:
- numpy.distutils is not threadsafe with duplicated source files
When source files are duplicated in multiple extensions the output
objects are overwritten which can truncate in a parallel context.
This is fixed by keeping track of the files being worked on and wait
for completion if another thread is already using the object name.
- The parallelization on two nested levels causes oversubscription.
When building multiple extensions with multiple source files the number
of jobs running is multiplied.
This is fixed by adding a semaphore that limits the number of jobs numpy
starts to the defined amount.
closes gh-7139
|
| |
|
|
|
| |
Placing them all under the same name in the top level folder breaks when
using the parallel extension compilation option of python 3.5.
|
| |
|
|
|
|
|
| |
Some projects compile an extension multiple times with different flags.
As it is not intended to get the extension name from the compiler
object, store the last used flags in the dependency file and also check
if they match the flags of the current build.
|
| |
|
|
|
|
|
|
|
| |
The '-openmp' option was deprecated in Intel version 15 and removed
in version 18. The replacement is '-qopenmp'.
Closes #8941.
[skip ci]
|
| |
|
|
|
| |
Use these dependencies to avoid unnecessary recompilations of unchanged
files.
|
| |
|
|
| |
This caused a nonsensical failure on my windows machine
|
| |
|
|
|
| |
Without calling `compiler.customize(None)` customizations using
environment variables like CC won't be honoured
|
| | |
|
| | |
|
| |
|
|
| |
Not sure what it even tests, it fails with svn installed.
|
| |
|
|
|
| |
The old os.system code just redirected stderr to stdout so mimic that
behaviour. This fixes at least the testsuite.
|
| | |
|
| | |
|
| |\
| |
| | |
BLD: rewrite np.distutils.exec_command.exec_command()
|
| | |
| |
| |
| |
| |
| | |
exec_command() is currently a mess of several implementations using outdated
Python APIs and various hacks. This rewrites it to use the standard
subprocess module. See PR #7614 for previous discussion.
|
| | |
| |
| |
| | |
Addresses comment of @stefanv on gh-7131.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If Python has been built using a different runtime, for example using
the GNU compiler in MSYS, the version string will of course not contain
a reference to the MSVC runtime. Instead of attempting to build an
import library for yet another runtime, we assume that the compiler
used to build the extension is now the same as was used to build Python,
and that it will pass the right runtime to the linker without any
further command-line options.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The msvccompiler module is made in the same mold as the msvc9compiler
module; saving the two environment variables around the call to
initialize. However, the signaure in the msvccompiler module's version
of the MSVCCompiler class, there is no plat_name argument to the method.
Since this is not used anyway but just passed along, it can simply be
removed.
This bug can be exposed even if you are not using the Intel Fortran
compiler, because the class is loaded in an attempt to probe for all
compilers, if the correct compiler is not found yet.
|
| | |
| |
| |
| |
| | |
blas specified in site.cfg could have non-standard include dirs.
It should be read and saved in distutils/__config__.py
|
| | |
| |
| | |
MAINT: Fix building extensions with MinGW in WinPython 3.4
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
In Python 3.6 a number of escape sequences that were previously accepted
-- for instance "\(" that was translated to "\\(" -- are deprecated. To
retain the previous behavior either raw strings must be used or the
backslash must be properly escaped itself.
|
| |\ \
| | |
| | | |
Allow extensions to be built with MinGW in a virtualenv
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
The log class (derived from distutils.log) does string formatting with
extra arguments passed, if (and only if) the log level is above the set
threshold. That way, the cost of string formatting only incurs if the
message is actually going to be displayed.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If an extension is built in a virtualenv, the compiler adapter for the
MinGW distribution will search for the libs/ directory containing the
import libraries for the Python runtime, in the virtualenv. However,
these files are not copied when the virtualenv is created (using the
venv module), so the build fails.
This patch searches the base distribution directory for the libraries
in addition to the virtualenv, allowing extensions to be built without
manually copying the libs/ directory first.
|
| |\ \ \
| | | |
| | | | |
Fix building extensions with MinGW for Python 3.5
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The MinGW compiler adapter assumes that the C runtime library that
Python was built with has the name msvcrXXX. This is incorrect for
Python 3.5 and later. (The name of the runtime is now vcruntimeXXX).
This patch removes parsing of the hardcoded pattern and replaces it
with calls to new functions in misc_util that returns the desired
values directly, isolating the hardcoding to that module.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
CygwinCCompiler has its own test for the C runtime library which raises
an error if the version extracted from the version string does not match
a pre-defined list. The runtime for Visual Studio 14 (aka 2015) which is
used to build Python 3.5 is not on this list. As this call is made in
the constructor of the base class, it must be monkey-patched to get
around.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Python 3.5 is built against vcruntime140 instead of msvcrXXX, and the
internal version number reported by the version string is 1900. This
cause building extensions to fail, complaining about a missing compiler.
This patch adds the latest runtime library to the list.
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There are three concepts in the C runtime library used by Python on
Windows (from the Microsoft Visual C compiler); the internal build
number (e.g. 0x1600), the major version of the runtime (e.g. 10.0),
and the name of the link library of the runtime (e.g. msvcr100).
This patch separates getting these three values into separate functions
so that other code can be relieved of parsing the string return value
of the msvc_runtime_library function.
|
| |/ / |
|
| | |
| |
| |
| | |
Closes gh-8293.
|
| | |
| |
| |
| | |
Also clean up some unused variables.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
In Python 2.6 the process destructor emits a ResourceWarning if the
process has not terminated when destruction occurs. Fix by calling the
wait method before return.
The Popen class may be used as a context manager in Python 3.2+,
unfortunately that does not include 2.7.
|
| | |
| |
| |
| | |
Added missing import of platform_bits
|
| | |
| |
| |
| |
| |
| | |
``-Wl,rpath=`` is Linux-specific, OS X needs a comma.
This addresses gh-6486, which was already closed but not actually addressed.
|
| | |
| |
| |
| |
| | |
Due to future print import (py3k style), the commented code should also
have the strings enclosed with parentheses or else it'll break.
|
| | |
| |
| |
| |
| |
| |
| | |
The error snuk in with some other file closing fixes and found by
Warren Weckesser.
Closes gh-8013
|
| | |
| |
| |
| |
| | |
Enforces that stacklevel is used in warnings.warn and "ignore"
is not used in filterwarnings or simplefilter for most of numpy.
|
| | | |
|