aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/misc.py
AgeCommit message (Collapse)AuthorFilesLines
2020-10-04pathlib: Fix resolve() by overriding it in Python 3.5Daniel Mensinger1-1/+1
2020-09-29dependencies/curses: don't try ncurses-config or system dependency on windowsDylan Baker1-5/+9
with msys ncurses-config returns a unix style path (currently, though it's been fixed upstream), which the compilers don't understand, so we can't do that. Additionally, while the system search does work, there's missing include directories that need to be added.
2020-09-29dependencies/curses: Add support for pdcursesYonggang Luo1-1/+6
On win32 there is pdcurses, so we detect it first, because python depends on ncursesw, so if we don't want to use ncursesw, we should make sure pdcurses detect before ncursesw
2020-09-29dependencies/curses: Add a system dependencyDylan Baker1-1/+58
That calls find_library and has_header in conjunction to look for curses implementations that are baked into the system without any other find method.
2020-09-29dependencies/curses: Add support for using the ncurses config toolsDylan Baker1-1/+20
These are mostly duplicated with pkg-config, but maybe someone has one but not another, and they're easy to turn on with the ConfigToolDependency.
2020-09-29dependency/misc: change lookup order for curses pkg-configDylan Baker1-1/+1
look for (in order): ncursesw, ncurses, curses.
2020-09-29dependencies/misc: Fix typing of curses_factoryDylan Baker1-3/+3
2020-06-10dependencies: Remove finish_init methodDylan Baker1-20/+31
This is a holdover from before we had the DependencyFactory. It should have already been refactored into the initializer, but wasn't for some reason.
2020-06-06msvc: Avoid spurious openmp link warningsPeter Harris1-1/+2
The linker that comes with MSVC does not understand the /openmp flag. This results in a string of LINK : warning LNK4044: unrecognized option '/openmp'; ignored warnings, one for each static_library linked with an executable. Avoid this by only setting the linker openmp flag when the compiler is not MSVC.
2020-01-31dependencies: netcdf always look for netcdf-fortran for fortranDylan Baker1-4/+4
Otherwise it tries to link with the C bindings and fails. This is why the test is broken on archlinux
2020-01-29dependencies: Use a factory for cursesDylan Baker1-23/+11
2020-01-29dependencies: Use a DependencyFactory for threadsDylan Baker1-27/+18
This lets us make a number of uses of threads safer, because we can use the threads_factory instead of the ThreadDependency
2020-01-29dependencies: Use a factory for NetCDFDylan Baker1-41/+17
This uses a custom factory because that makes more sense here, since we need logic to decide what pkg-config files to look for
2020-01-29dependencies: Use a custom factory for shadercDylan Baker1-27/+40
2020-01-29dependencies: Use DependencyFactory for gpgmeDylan Baker1-19/+10
2020-01-29dependencies: Use DependencyFactory for LibGcryptDylan Baker1-19/+10
2020-01-29dependencies: Use DependencyFactory for libwmfDylan Baker1-17/+10
2020-01-29dependencies: Use DependencyFactory for cupsDylan Baker1-30/+13
2020-01-29dependencies: Use DependencyFactory for python3Dylan Baker1-26/+16
2020-01-29dependencies: Use DependencyFactory for libpcapDylan Baker1-30/+21
2020-01-29dependencies: Make Dependency initializer signatures matchDylan Baker1-15/+15
Currently PkgConfig takes language as a keyword parameter in position 3, while the others take it as positional in position 2. Because most dependencies don't actually set a language (they use C style linking), using a positional argument makes more sense. ExtraFrameworkDependencies is even more different, and duplicates some arguments from the base ExternalDependency class. For later changes I'm planning to make having all of the dependencies use the same signature is really, really helpful.
2020-01-29dependencies/base: Split process_method_kw out of DependencyDylan Baker1-8/+8
I want to use this in a new class as well, that doesn't descend from Dependency.
2020-01-14dependency: add cursesMichael Hirsch, Ph.D1-0/+23
fixes #6096. Didn't use CMake because Curses is a real corner-case for CMake that would require Curses-specific enhancements to Meson's CMake interface.
2019-12-28bugfix: netcdf pkgconfig stop if foundMichael Hirsch, Ph.D1-0/+2
2019-12-19dependencies: refactor to use methods properlyMichael Hirsch, Ph.D1-15/+30
2019-12-09cmake: add project language to cmakelists.txtMichael Hirsch, Ph.D1-9/+29
cmake: get language from Meson project if not specified as depedency(..., langugage: ...) deps: add threads method:cmake dependency('threads', method: 'cmake') is useful for cmake unit tests or those who just want to find threads using cmake. cmake: project(... Fortran) generally also requires C language
2019-11-28HDF5: make much more robust across platformsMichael Hirsch, Ph.D1-47/+0
This addresses various real-world problems with HDF5 pkg-config, including * hdf*.pc with package versions as part of the filename * malformed hdf*.pc missing the commonly-used HDF5 HL module --- Additionally, this refactors more complicated dependencies such as HDF5 and OpenMPI. This may help us deduplicate internal dependency code in the future. HDF5 selftest: improve platform-agnostic test ci: init demo github action for HDF5 framework ci Actions: hold off on MSYS2 for now [skip ci] hdf5: ensure C libraries always included ci: mac hdf5--use clang+gfortran
2019-11-25dep: MPI make work for intel-cl and improve robustnessMichael Hirsch, Ph.D1-203/+1
optimize intelMPI variables mpi: extract version from non-OpenMPI wrapper
2019-11-17deps: add pkg-config to coarray with CMake fallbackMichael Hirsch, Ph.D1-44/+1
make coarray in its own file for clarity
2019-09-23Add blocks dependencyPatrick Griffis1-0/+33
This allows easily enabling the blocks clang extension.
2019-09-05mesonlib.split_args/quote_arg/join_argsAleksey Gurtovoy1-4/+4
2019-07-31OpenMP:stop searching when openmp headers are first foundMichael Hirsch, Ph.D1-2/+3
2019-07-30PGI: fix openmp for 190common testMichael Hirsch, Ph.D1-10/+9
since there is no pgc++ on Windows, we avoid invoking that in 190common
2019-07-30OpenMP is intrinsic to PGIMichael Hirsch, Ph.D1-3/+10
2019-07-29openmp: allow omp.h or omp_lib.hMichael Hirsch, Ph.D1-5/+8
2019-06-24typoMichael Hirsch, Ph.D1-1/+1
2019-06-24update compiler ID for windows INtel MPIMichael Hirsch, Ph.D1-1/+1
2019-06-24intel windows coarray argsMichael Hirsch, Ph.D1-0/+4
2019-06-19Handle thread flags when not using C at all. Closes #5497.Jussi Pakkanen1-2/+8
2019-06-13dependencies/shaderc: fix exception caused by typoAndrei Alexeyev1-1/+1
2019-06-09Purge `is_cross` and friends without changing user interfacesJohn Ericson1-6/+6
In most cases instead pass `for_machine`, the name of the relevant machines (what compilers target, what targets run on, etc). This allows us to use the cross code path in the native case, deduplicating the code. As one can see, environment got bigger as more information is kept structured there, while ninjabackend got a smaller. Overall a few amount of lines were added, but the hope is what's added is a lot simpler than what's removed.
2019-04-28Disable cache for dependenciesDaniel Mensinger1-2/+2
2019-04-28Added some cahced valuesDaniel Mensinger1-1/+1
2019-04-28Print '(cached)' when compiler result was cachedDaniel Mensinger1-1/+1
2019-04-15Shaderc pkg configDylan Baker1-3/+16
2019-04-15fix gpgme support by preferring pkg-config where possibleEli Schwartz1-1/+4
Since gpgme 1.13.0, pkg-config files are available and this is the preferred way to detect the dependency. Without this, projects that wish to generate pkg-config files that Requires.private on gpgme, now have their custom dependency() fallbacks overridden with an incorrect configtool dependency.
2019-04-08Merge pull request #5225 from dcbaker/threads-is-not-specialJussi Pakkanen1-3/+2
Threads is not special
2019-04-06Add gpgme-config supportJan Tojnar1-0/+28
GPGME does not support pkg-config so we need config-tool support if we do not want projects like Almanah and Seahorse to parse the values manually.
2019-04-05dependencies/misc: don't special case threadsDylan Baker1-3/+2
Instad of having special casing of threads in the backends and everywehre else, do what we did for openmp, create a real dependency. Then make use of the fact that dependencies can now have sub dependencies to add threads.
2019-04-05BUGFIX: Microsoft MPI is only compatible with Intel FortranMichael Hirsch, Ph.D1-0/+3