summaryrefslogtreecommitdiff
path: root/numpy/distutils/ccompiler.py
Commit message (Collapse)AuthorAgeFilesLines
* DEV: supporting IBM i systemGavinZhang2022-08-141-1/+8
|
* BUG: Ensure compile errors are raised correcltySebastian Berg2022-05-051-1/+2
| | | | | | | | | | | This has been bugging me for a bit. The concurrent.futures Executor requires checking the result for the error to be raised. That makes sense, but just means we need to consume the result explicitly here to ensure we know about compile errors. Otherwise, compile errors just pass silently (which is very confusing if the old object files are still around and the tests run based on the old version).
* Add space after argument nameOscar Gustafsson2022-04-031-1/+1
|
* BUG: use ThreadPoolExecutor instead of ThreadPoolGalaxySnail2022-02-101-4/+3
| | | | | | | Use `concurrent.futures.ThreadPoolExecutor` in distutils instead of `multiprocessing.pool.ThreadPool`. Fix #21026
* Merge pull request #20416 from ARCCA/armcompilerMatti Picus2021-12-241-0/+3
|\ | | | | ENH: Add ARM Compiler with ARM Performance Library support
| * Update ccompiler.pyThomas Green2021-11-161-0/+3
| | | | | | Added ARM compiler.
* | BUG: Support env argument in CCompiler.spawnIsuru Fernando2021-12-221-3/+5
|/
* BUG, DIST: Print os error message when the executable not existSayed Adel2021-11-141-2/+8
| | | | | | this patch is really important since most of the users aren't able to determine the build error when the toolchain or the built environment missing executable files of compiler, linker, assembler, etc.
* [demo] how-to replacing numpy custom generation engine by raw C++serge-sans-paille2021-10-221-2/+5
| | | | | This is just a technical prototype to measure and discuss the impact and implication of moving to C++ for kernel code generation.
* DOC: Remove references to Python 2Dimitri Papadopoulos2021-10-071-3/+0
|
* BLD: Use `-ftrapping-math` for clang and for `_so`Sebastian Berg2021-07-141-1/+2
| | | | | | | | | | | Apparently, there is a second `compiler_so` that is actually the main compiler being used, and modifying only the first one is just futile. The old try was `-ffp-exception-behavior=strict`, but that seems to be a fairly new addition (and doesn't even work on MacOS with 10.0) `-ftrapping-math` seems to be the older, equivalent option.
* API,BLD: Always force `-ffp-exception-behavior=strict` on clangSebastian Berg2021-05-191-0/+6
| | | | This also affects all users of numpy distutils
* MAINT: Remove dummy_threadingKevin Sheppard2021-02-111-4/+2
| | | | Threading is guaranteed to be supported in Python 3.7+
* Remove code that will never runmarload2020-07-131-8/+0
|
* MAINT: Clean up, mostly unused imports.Warren Weckesser2020-01-231-1/+0
|
* MAINT: resolve pyflake F403 'from module import *' usedMike Taves2020-01-231-3/+8
| | | | | | * For external modules, resolve imported members * Most internal relative modules were ignored or marked noqa: F403 * Convert a few internal absolute imports to relative imports
* [MAINT] Cleanup python2 sys.version checksSeth Troisi2020-01-201-6/+2
|
* MAINT: cleanup sys.version dependant codeSeth Troisi2020-01-121-5/+2
|
* Merge pull request #15248 from eric-wieser/avoid-exc_infoCharles Harris2020-01-051-5/+4
|\ | | | | MAINT: cleanup use of sys.exc_info
| * MAINT: cleanup use of sys.exc_infoEric Wieser2020-01-051-5/+4
| | | | | | | | | | | | This code originates from python 2.6, before there was an `as` clause in `except`. This removes all callers of `numpy.distutils.compat.get_exception`.
* | MAINT: add --std=c99 in setup.py, not distutilsmattip2020-01-051-5/+0
| |
* | MAINT: Remove unnecessary 'from __future__ import ...' statementsJon Dufresne2020-01-031-2/+0
|/ | | | | As numpy is Python 3 only, these import statements are now unnecessary and don't alter runtime behavior.
* BUG: remove -std=c99 for c++ compilation (#15194)Matti Picus2019-12-301-1/+1
| | | This flag is only legal for C compilers
* MAINT: fixes from reviewmattip2019-10-261-1/+1
|
* BUILD: add std=c99 flag for gcc, cleanup error reportingmattip2019-10-251-0/+5
|
* BUG: fixes from reviewmattip2019-09-201-2/+3
|
* BUILD: add --debug-configure option to reduce output, use logger moremattip2019-09-201-4/+10
|
* BUG: Remove our patched version of `distutils.split_quoted`, which was a ↵Eric Wieser2019-03-021-60/+0
| | | | | | | | workaround for our broken `exec_command`. This was removed in gh-1217, but then added back in gh-1321. Now that we've fixed exec_command, I believe we can finally take it out for good.
* also match the stderr in get_version()Jingbei Li2019-01-231-1/+1
| | | which used to fail for ifort
* BUG: ensure new-lines in compiler error messages are actually printed to the ↵Eric Wieser2018-12-091-6/+6
| | | | | | console Previously this would show `b'first_line\nsecond_line'`
* MAINT: Use list and dict comprehension when possible (#12445)Roman Yurchak2018-12-011-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use list comprehension * More list comprehension migration * Revert key copying in dict * A few more fixes * More reverts * Use dict comprehension * Fix dict comprehension * Address review comments * More review comments * Fix for empty unpacking of zip(* * Revert zip(* unpacking altogether * Fix dict copying * More simplifications
* BUG: Do not double-quote arguments to the command lineEric Wieser2018-11-181-8/+8
| | | | | | After the recent patch to CCompiler.spawn, the file-paths no longer need manual quoting - that's handled as needed within subprocess. Fixes #12411
* MAINT: remove exec_command usage from ccompiler.pyTyler Reddy2018-10-311-16/+50
| | | | | | * replaced the usage of exec_command() in ccompiler distutils module with subprocess equivalent
* DOC: fix minor typosUnknown2017-12-121-1/+1
|
* BUG: Fix Intel compilation on Unix.Charles Harris2017-06-261-0/+20
| | | | | | | | | | | Fixes two problems: * c compilers do not have a find_executables method. * get_version return a LooseVersion instance, not string. Closes #9278. [ci skip]
* BUG: KeyboardInterrupt is swallowed all over the placeEric Wieser2017-06-031-1/+1
| | | | Bare except is very rarely the right thing
* BUG: distutils, add compatiblity python parallelizationJulian Taylor2017-05-041-3/+44
| | | | | | | | | | | | | | | | | | | | 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
* BUG: check compiler flags to determine the need for a rebuildJulian Taylor2017-05-021-5/+17
| | | | | | | 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.
* ENH: automatically determine compile dependenciesJulian Taylor2017-04-101-2/+66
| | | | | Use these dependencies to avoid unnecessary recompilations of unchanged files.
* Monkey-patch _msvccompile.gen_lib_option like any other compilatorsValentin Valls2016-08-101-1/+1
| | | | | | | `setuptools` is now using `_msvccompile` instead of `msvccompile9`. numpy is monkey-patching symmetrically `gen_lib_options` and `spawn` function for all compilators. But `_msvccompile.gen_lib_options` was not monkey-patched while `_msvccompile.spawn` is already monkey-patched throug the super class `ccompiler.spawn`. This patch only symmetrically patch `_msvccompile` to prevent param file quoting.
* MAINT: Resolve import naming collision and optimize importsFrancis T. O'Donovan2015-12-121-5/+3
|
* BUG: fix AttributeError in numpy/distutils.Ryan Grout2015-10-191-2/+3
| | | | Corrects an AttributeError on windows in some cases caused by #6185
* LIBPATH with spaces is now supported Python 2.7+ and Win32Gabi Davar2015-10-161-2/+2
|
* Distutils doesn't warn unless compiler_cxx is emptyPeter Iannucci2015-08-101-1/+1
| | | Warns on OS X with MacPorts Python because it doesn't recognize clang. There isn't actually a problem, though, as distutils.sysconfig has done its job just fine. Proposed fix.
* BUG: distutils: fix a typo in 64-bit Intel compiler for Windows support.Ralf Gommers2015-05-061-1/+1
| | | | Snuck in in gh-5694.
* ENH: distutils: add compiler classes for Intel compilers + MSVC-built Python.Ralf Gommers2015-03-191-3/+11
| | | | Thanks to Intel for contributing this patch. Contact: Yolanda Chen.
* ENH: support parallel compilation of extensionsJulian Taylor2014-10-281-8/+34
| | | | | | | | | | | | | | Allow extensions using numpy.distutils to compile in parallel. By passing `--jobs=n` or `-j n` to `setup.py build` the compilation of extensions is now performed in `n` parallel processes. Additionally the environment variable NPY_NUM_BUILD_JOBS is used as the default value, if its unset the default is serial compilation. The parallelization is limited to within the files of an extension, so only numpy multiarraymodule really profits but its still a nice improvement when you have 2-4 cores. Unfortunately Cython will not profit at all as it tends to build one module per file.
* STY: Giant comma spacing fixup.Charles Harris2013-08-181-30/+30
| | | | | | | Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long and will need to be broken at some point. OTOH, some lines were already too long and need to be broken at some point. Now seems as good a time as any to do this with open PRs at a minimum.
* MAINT: Remove msvc_on_amd64 functionChristoph Gohlke2013-05-221-4/+1
| | | | This function is no longer required for building with msvc on AMD64
* MAINT: Apply 2to3 idioms fixer.Charles Harris2013-05-021-1/+1
| | | | | | | | | | | | | | | | | | | The idioms fixer makes the following replacements. 1) int <- bool 2) comparison or identity of types <- isinstance 3) a.sort() <- sorted(a) There were two problems that needed to be dealt with after the application of the fixer. First, the replacement of comparison or identity of types by isinstance was not always correct. The isinstance function returns true for subtypes whereas many of the places where the fixer made a substitution needed to check for exact type equality. Second, the sorted function was applied to arrays, but because it treats them as iterators and constructs a sorted list from the result, that is the wrong thing to do. Closes #3062.