aboutsummaryrefslogtreecommitdiff
path: root/test cases
AgeCommit message (Collapse)AuthorFilesLines
2019-01-22pkgconfig: Fix link order of library dependenciesNiklas Haas1-0/+11
Since `_process_libs` appends the lib's dependencies this list already, the final return value of `_process_libs` will end up after its dependencies, which is the wrong way around. (The lib must come first, then its dependencies) The easiest solution is to simply pre-pend the return value of `_process_libs` rather than appending it, so that its dependencies come after the library itself. Closes #4091.
2019-01-14pkgconfig: Fix flag deduplicationXavier Claessens1-2/+2
This is a regression introduced by 2cbf7caf5, generated pkg-config files have many duplicated '-pthread' flags.
2018-12-09Disable broken MMX code.Jussi Pakkanen1-0/+4
2018-12-09Skip CMake dependency check if CMake is not installed.Jussi Pakkanen1-0/+4
2018-12-09Updated Linux CI image to cosmic.Jussi Pakkanen2-2/+3
2018-12-06Deduplicate export-dynamic and pthread. Closes #4567.Jussi Pakkanen3-0/+24
2018-12-04Can specify keyword arguments with a dict.Jussi Pakkanen6-0/+31
2018-12-04pkgconfig: Improve and document generator behaviourXavier Claessens2-1/+5
- Add libraries from InternalDependency.libraries - Deprecate association of libraries from the "libraries" keyword argument to the generated pkg-config file.
2018-11-22CMake find_package dependency backend (#4444)Daniel Mensinger4-0/+78
2018-11-21pkgconfig: add support for pkgconfig generation for c#Marcel Hollerbach2-0/+22
this adds support for generating pkgconfig files for c#. The difference to c and cpp is that the -I flag is not known to the c# compiler, but rather the -r flag which is used to link a .dll file into the compiled library. However this opens the question of validating which pkgconfig files can be generated (depending on the language). This implements 4409.
2018-11-19-Wl,--as-needed seems to break easily with mpi/fortranAlexis Jeandet1-1/+1
While this isn't solved everywhere, this seems reasonable to disable it. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-11-17Merge pull request #4359 from dcbaker/icc-fixesDylan Baker2-3/+14
ICC fixes for Linux and MacOS
2018-11-16azure: Install the DMD D compilerJon Turney1-1/+7
Be more prescriptive about the static linker to use in test case common/143. This avoids using DMD's 'lib' in preference to clang-cl's 'llvm-lib' when both of them are in PATH
2018-11-15tests: Fix fortran + cpp test for ifortDylan Baker1-1/+12
To make ifort like rand we need to link with ifport, or we don't get rand.
2018-11-15compilers/c_function_attributes: fix for ICCDylan Baker1-2/+2
ICC doesn't like the extra set of parens, GCC 8.2.1 and Clang 6.0.1 don't have a problem with this.
2018-11-15hotdoc: Fix has_extensions when several extensions are passed inThibault Saunier1-0/+6
2018-11-14modules/python: Allow use of the native fileDylan Baker2-1/+5
Currently this just allows setting a "python" variable that always overrides, probably we want to have the option for "python2" and "python3" as well.
2018-11-14modules/python3: allow specifying in the native fileDylan Baker2-1/+5
2018-11-14dependencies: Allow config tool dependencies to use native filesDylan Baker2-1/+5
This allows tools like llvm-config to be selected from the config file Fixes: #3327
2018-11-14interpreter: allow find_program to use the native fileDylan Baker2-1/+7
2018-11-14unittests: Add framework for testing native config filesDylan Baker2-0/+8
2018-11-12Add kwarg is_default to add_test_setup()Stian Selnes2-0/+34
is_default may be used to set the name of the test setup that will be used by default whenever the option --setup is not given. Fixes #4430
2018-11-10Merge pull request #4480 from jon-turney/fix-implib-prefix-suffixJussi Pakkanen9-14/+66
Fix naming of implib when name_prefix/suffix is used
2018-11-10Merge pull request #4504 from mesonbuild/simdixJussi Pakkanen7-59/+117
Fix SIMD test
2018-11-10Fix alignment with MSVC.simdixJussi Pakkanen7-12/+14
2018-11-10Refactor check to its own function.Jussi Pakkanen2-53/+90
2018-11-10Fix simd instruction alignment on 32bit kernels.Dimitri John Ledkov7-30/+49
Resolves segfaults on i686 kernel. Also execute all available simd instructions, not just the best one. Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com> Signed-off-by: Michael Hudson <michael.hudson@ubuntu.com> Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=894774
2018-11-07tests/java: force latency in generation to exercise raceDylan Baker1-1/+1
Because we are racing here. In reality *all* of the java in that target may rely on the generated file, so we need to block all of them, like we would for headers in C/C++.
2018-11-07Workaround for Debian bug 912563.Jussi Pakkanen1-1/+5
Libwmf uses Freetype headers but does not have include paths for them by default.
2018-11-06Add reconfigure/wipe unit testXavier Claessens3-0/+17
2018-11-06Don't use host pkg-config for native dependenciesLyude Paul5-0/+43
When trying to cross-compile mesa on an aarch64 system, I noticed some strange behavior. Meson would only ever find the wayland-scanner binary in my host machine's sysroot (/mnt/amethyst): Native dependency wayland-scanner found: YES 1.16.0 Program /mnt/amethyst/usr/bin/wayland-scanner found: YES (/mnt/amethyst/usr/bin/wayland-scanner) It should be finding /usr/bin/wayland-scanner instead, since the wayland-scanner dependency is created as native. On closer inspection, it turned out that meson was ignoring the native argument passed to dependency(), and wuld always use the pkgconfig binary specified in my toolchain instead of the native one (/usr/bin/pkg-config): Native dependency wayland-scanner found: YES 1.16.0 Called `/home/lyudess/Projects/panfrost/scripts/amethyst-pkg-config --variable=wayland_scanner wayland-scanner` -> 0 Turns out that if we create a dependency() object with native:false, we end up caching the pkg-config path for the host machine in PkgConfigDependency.class_pkgbin, instead of the build machine's pkg-config path. This results causing in all pkg-config invocations for dependency() objects to use the host machine's pkg-config binary, regardless of whether or not 'native: true' was specified when the dependency() object was instantiated. So, fix this by never setting PkgConfigDependency.class_pkgbin for cross dependency() objects. Also, add some test cases for this. Since triggering this bug can be avoided by creating a dependency() objects with native:true before creating any with native:false, we make sure that our test has two modes: one where it starts with a native dependency first, and another where it starts with a cross dependency first. As a final note here: We currently skip this test on windows, because windows doesn't support directly executing python scripts as executables: something that we need in order to point pkgconfig to a wrapper script that sets the PKG_CONFIG_LIBDIR env appropriately before calling pkg-config. Signed-off-by: Lyude Paul <thatslyude@gmail.com>
2018-11-06Deal with clang-cl generating empty implibsJon Turney1-1/+1
Deal with clang-cl doing the sane (but different to MSVC) thing, of generating an empty import library, rather than silently ignoring /IMPLIB when there are no exports.
2018-11-06Install modules in a subdir to fit with platform name manglingJon Turney4-14/+14
Take advantage of fix_platform_name's new tricks in test '122 shared module'
2018-11-06Extend test to when both name_{suf,pre}fix: are usedJon Turney2-0/+8
2018-11-06Generate import lib even if both name_suffix and name_prefix are usedJon Turney3-1/+14
It's a (presumably unintentional) quirk of the current implementation of SharedLibrary.determine_filenames() that if both name_suffix and name_prefix are set, an import library isn't generated. Adjust test 'common/25 library versions': Make the library have exports, so an implib is generated with MSVC. Add implib to set of files expected to be installed Adjust test 'common/122 shared module': Add libnosyms implib to set of files expected to be installed, except for MSVC, where none is generated as it has no exports
2018-11-06Add a test of installed library names when name_{suf,pre}fix: is usedJon Turney3-0/+31
Extend platform_fix_name() to handle this case We avoid using library(version:), so we don't have to teach platform_fix_name() all the platform details of versioned shared library naming. Hopefully that's exercised by platform-specific tests...
2018-11-04Install files from the test added in 2ff69b20 to make sure it runsJon Turney3-1/+8
and make the test runnable :)
2018-11-04Handle llvm-lib in test common/143Jon Turney1-1/+2
2018-11-04Skip test common/123 if masm not foundJon Turney1-2/+5
'test cases/common/123 llvm ir and assembly' requires ML/ML64 (masm) on Windows. If we are using clang-cl, that might not be available, so skip test in that case.
2018-11-04Don't hardcode cl in test common/123Jon Turney1-1/+1
2018-11-04Handle only llvm-objdump being availableJon Turney1-3/+7
llvm-objdump currently doesn't appear to output the Windows subsystem, so that part of the test needs to be skipped.
2018-11-04Adjust more tests which need to know compiler typeJon Turney5-8/+10
2018-11-04Make use of get_argument_syntax() in test casesJon Turney6-9/+6
2018-11-04Accomodate clang-cl in test common/127Jon Turney1-1/+1
clang-cl does support '-Wmissing-include-dirs' (unlike msvc), but doesn't (currently) support '/ZI' (which is used by the default 'debug' buildtype), the presence of which will cause an 'unknown-argument' warning, which is treated as an error with 'Werror'. Adjust the default buildtype so this test can pass with clang-cl
2018-11-04Rewrite test common/100 manygen using get_argument_syntax()Jon Turney2-22/+15
Rewrite test common/100 manygen using get_argument_syntax(), so it treats clang-cl as cl, can handle only clang-cl being available, and try to make it a bit less convoluted.
2018-11-04Detect clang-cl as msvc-like, not clang-likeJon Turney1-1/+1
Handle clang's cl or clang-cl being in PATH, or set in CC/CXX Future work: checking the name of the executable here seems like a bad idea. These compilers will fail to be detected if they are renamed. v2: Update compiler.get_argument_type() test Fix comparisons of id inside CCompiler, backends and elsewhere v3: ClangClCPPCompiler should be a subclass of ClangClCCompier, as well Future work: mocking in test_find_library_patterns() is effected, as we now test for a subclass, rather than self.id in CCompiler.get_library_naming()
2018-11-03Add new compiler.get_argument_syntax methodDylan Baker1-0/+25
Some compilers try very had to pretend they're another compiler (ICC pretends to be GCC and Linux and MacOS, and MSVC on windows), Clang behaves much like GCC, but now also has clang-cl, which behaves like MSVC. This method provides an easy way to determine whether testing for MSVC like arguments `/w1234` or gcc like arguments `-Wfoo` are likely to succeed, without having to check for dozens of compilers and the host operating system, (as you would otherwise have to do with ICC).
2018-11-02ninjabackend: add generated source files to jar compile target source listAurélien Zanelli5-0/+54
Otherwise, passing result of custom_target() to jar() target is ignored and won't be compiled resulting in build fail.
2018-11-02extract_all_sources: Also include generated object filesXavier Claessens1-0/+6
Closes #4281.
2018-11-02Reformat Meson file for readability.Jussi Pakkanen1-10/+10