aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-02-19devenv should import env vars from vsenvCharles Brunet1-2/+1
2023-02-19remove dead codeEli Schwartz1-47/+0
We shouldn't be hardcoding library dirs anyway. And we usually get this from the compiler. This function has been unused since its users were moved to use the compiler method, in the following commits: - a1a4f66e6d915c1f6aae2ead02cf5631b10c76f1 - a3856be1d50eaefe32fee5d3347d55d934d15b50 - 08224dafcba1b694fb624553e7d84deb565aae22
2023-02-19dependencies: fix pcap-config which now errors on --versionEli Schwartz2-2/+18
The latest release of libpcap added argument validation to pcap-config, but still doesn't support --version. The next version of libpcap will support --version. Add support for config-tool dependencies which expect to break on --version, to fallback to an option that does not error out or print version info, for sanity checking.
2023-02-19Fix nasm when target has threads as added dependencyGijs Peskens2-0/+20
2023-02-19mparser: Use a literal for the ComparisonNodeDylan Baker1-11/+18
And fix a bug where `not in` is in the wrong order.
2023-02-19BUG: Fix generated sources not being included as dependencies in cython ↵Thomas Li5-0/+63
transpilation
2023-02-19tests: track when an entire category is skipped and be quieterEli Schwartz1-8/+10
There is no need to state for every single test that "preconditions were not met". And logging the skip reason for a single test is easy to read, but making every second line alternate is less so.
2023-02-19tests: properly log the reason why a test got unexpectedly skippedEli Schwartz1-1/+2
2023-02-19backends: Stop passing generator exes to ExecutableSerialisation as stringsDylan Baker10-7/+87
The code below this already handles being passed an Executable or ExternalProgram, and it does it correctly, since it handles host binaries that need an exe_wrapper correctly, while the code in the generator paths doesn't. The xcode backend is, like always, problematic, it doesn't handle things the same way as the ninja and vscode backends, and generates a shell script instead of using meson as a wrapper when needed (it seems likely that just forcing the meson path for xcode would be better). I don't have a working mac to develop a fix for, so I've left a todo comment there. Fixes: #11264
2023-02-19linkers: detect ld64 as AppleDynamicLinkerjack2-6/+28
2023-02-19linkers: Do not use numeric windows subsystems with lldJan Janssen1-12/+25
Fixes: #11258
2023-02-19linkers: Fix lld detectionJan Janssen1-1/+1
This was actually probing bfd without always_args passed. Fixes: #10763
2023-02-19avoid detecting masm as a MSVC-like compiler for detecting showincludesEli Schwartz1-2/+2
It's msvc-like but, just like Intel Fortran, doesn't support this argument.
2023-02-19msvc: handle filename extensions for incdetect based on the compiler languageEli Schwartz1-2/+3
It is possible, albeit possibly inadvisable, for the exact combination of MSVC and "$CXX has C++ specific flags in it" to occur. When this happens, and cl.exe is given a filename ending in .c, it complains that you cannot compile a .c file with that option. Instead, pick the first filename matching that language and use that as the temporary filename. This more or less matches what we do in compiler-time checks. And it's the proper thing to do, rather than assume that cl.exe, when detected as the current C++ compiler, can *also* compile C because it's *also* a C compiler. Fixes #11257
2023-02-19clang-cl: supports /std:c++20 now.Luke Elliott2-1/+4
See https://github.com/llvm/llvm-project/commit/a8f75d49
2023-02-19tests: fix test that has source code incompatible with modern CEli Schwartz2-1/+12
Delayed until clang 16, -Werror=incompatible-function-pointer-types is the default. GCC 14 is "likely to do the same". See https://wiki.gentoo.org/wiki/Modern_C_porting
2023-02-19emscripten: remove no longer relevant commentKleis Auke Wolthuizen1-2/+1
This was fixed in Emscripten 1.39.16, see: https://github.com/emscripten-core/emscripten/commit/d4fabf3da40e7f556700b16950739d5960a91559
2023-02-19emscripten: enforce version 1.39.19 or higherKleis Auke Wolthuizen2-0/+4
2023-02-19emscripten: remove redundant `thread_flags` implementationKleis Auke Wolthuizen1-3/+0
Since it's the same as the one in `CLikeCompiler`.
2023-02-19emscripten: use single arguments when specifying optionsKleis Auke Wolthuizen3-5/+5
i.e. without a space between the "-s" and option name. See: https://github.com/emscripten-core/emscripten/issues/11463 This is supported since Emscripten 1.39.19, see: https://github.com/emscripten-core/emscripten/commit/f45bea21f3a8f74a68ed4e3e3d7e290807ee2aff
2023-02-19emscripten: prefer `-pthread` over `-s USE_PTHREADS=1`Kleis Auke Wolthuizen1-2/+2
See: https://github.com/emscripten-core/emscripten/issues/12346 This is supported since Emscripten 1.38.33, see: https://github.com/emscripten-core/emscripten/commit/24350798a8570f567327f873cf1efb0361aec284
2023-02-19dependencies: better logging of pkg-config call outputsEli Schwartz1-1/+5
If `pkg-config --modversion foobar` fails, we don't know why. The general issue here, though, is that call_pkgbin routinely logs stdout for informational purposes, but not stderr. Fixes #11076
2022-12-23This is it. The 1.0.0.1.0.0Jussi Pakkanen1-1/+1
2022-12-23Created release note page for 1.0.0.Jussi Pakkanen11-68/+86
2022-12-22meson: Cache os.path.realpath in CLikeCompilerArgsNirbheek Chauhan1-4/+9
Profiling showed that we were spending 25s inside os.path.realpath() on Windows while generating compile lines for build.ninja, inside NinjaBackend.generate() The real path for these will not (should not) change during a single meson invocation, so cache all these. Brings build.ninja generation from 73s to 47s on my machine.
2022-12-22Users.md: add i3Oliver Kraitschy1-0/+1
2022-12-21add more testcases for prebuilt objectsPaolo Bonzini2-3/+23
Cover more cases including passing objects via ExtractedObjects and CustomTarget.
2022-12-21fix build_target(objects: ...) documentationPaolo Bonzini1-4/+4
The documentation for build_target(...) does not list file or str as the possible types for the "objects" keyword argument, even though in theory the argument is meant for prebuild object files that are part of the sources. Of course that is only the theory, because an ExtractedObjects object is probably used a lot more than a file in the source tree. But at least make the reference manual's typing information accurate.
2022-12-21meta: add python 3.11 classiferMichael Hirsch1-0/+1
2022-12-21LGTM is discontinued. Remove badge and configMichael Hirsch2-6/+0
2022-12-21doc: Add missing include_directories kwarg to compiler.preprocess()Xavier Claessens1-0/+2
Fixes: #11202
2022-12-19Users.md: Add PostgreSQLAmit D1-0/+1
2022-12-17Bump version number for rc2.1.0.0rc2Jussi Pakkanen1-1/+1
2022-12-17mtest: handle TAP tests with unknown version.Eli Schwartz1-1/+4
TAP 14 states: > Harnesses may treat any TAP stream lacking a version as a failed test. TAP 13 states: > In the absence of any version line version 12 is assumed. It is an > error to explicitly specify any version lower than 13. So, modern TAP is saying that we should treat a missing version as a test definition bug, it's no longer okay to use a missing version as saying "let's use TAP 12". But, we can choose whether to treat it that way or error out. Let's do a diagnostic, as we do elsewhere. But allow TAP streams that aren't well defined, if they used to be well defined (back in TAP 12).
2022-12-16Merge pull request #11174 from bgilbert/jar-manifestJussi Pakkanen5-2/+63
depfixer: silence `fix_jar()` and make it do something
2022-12-16Merge pull request #11181 from tristan957/backendsJussi Pakkanen3-16/+36
JNISystemDependency fixes
2022-12-15Enable Java project tests on DarwimTristan Partin1-1/+1
2022-12-15Change double quote doc comment to sinqle quoteTristan Partin1-2/+2
2022-12-15Try to find the jni dependency when javac is a Darwin stubTristan Partin2-11/+31
Darwin-based systems, at least macOS, provide various JDK executable stubs in /System/Library/Frameworks/JavaVM.framework/Versions/*/Commands. These stubs are placed in such a way that they break the heuristics of the JNI system dependency. If a javac being analyzed to find a Java home is a stub, use /usr/libexec/java_home. See https://stackoverflow.com/a/15133344/7572728 for more details. Closes #11173
2022-12-15delay importing ctypes unless it is actually usedEli Schwartz1-1/+1
ctypes uses FFI, and surprisingly often people's Python installations will be broken because ctypes is broken (e.g. the system libffi has been updated and Python needs to be recompiled). That is not our fault, but it does manifest as Meson failing to run. It turns out we aren't even using it though. At least, pretty often. We have two uses of ctypes, and both of them are for Windows. One of them is already conditionally imported in the function that uses it, but the other is imported at startup. Move this down into the invoking function. On non-Windows systems, it is now impossible for Meson to fail to run when ctypes is broken, because we don't use it. Anecdotally, this issue tends to come up on Linux systems primarily. Fixes #11111 Closes #11112
2022-12-14Deduplicate code in JNISystemDependency conditionalTristan Partin1-2/+2
2022-12-14docs: clarify the semantics of the required: kwarg everywhereEli Schwartz3-8/+23
Link to feature options consistently, and point out that it controls "whether" the function finds what it's trying to find. This clues people in to the fact that disabled features exist.
2022-12-14docs: simplify the documentation on required kwarg for subprojectEli Schwartz1-4/+1
It's a clone of dependency() anyway.
2022-12-14docs: update description of supported functions for feature optionsEli Schwartz1-3/+7
We support these for a couple more things now.
2022-12-14depfixer: silence fix_jar() and make it do somethingBenjamin Gilbert5-1/+62
fix_jar() tries to remove an existing Class-Path entry from the jar manifest by postprocessing the manifest and passing it to `jar -um`. However, `jar -um` can only add/replace manifest entries, not remove them, and it also complains loudly when replacing an entry: Dec 13, 2022 7:11:19 PM java.util.jar.Attributes read WARNING: Duplicate name in Manifest: Manifest-Version. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. Thus fix_jar() produces one such warning for each entry in the manifest and accomplishes nothing else. Use jar -uM instead. This completely removes the manifest from the jar and allows adding it back as a normal zip member, fixing fix_jar() and avoiding the warnings. Fixes: https://github.com/mesonbuild/meson/issues/10491 Fixes: c70a051e93 ("java: remove manifest classpath from installed jar")
2022-12-13depfixer: don't extract MANIFEST.MF verboselyBenjamin Gilbert1-1/+1
Avoids non-actionable output when installing a jar: inflated: META-INF/MANIFEST.MF Fixes: c70a051e93 ("java: remove manifest classpath from installed jar")
2022-12-13Revert "openbsd: execinfo is not a compiler lib"Brad Smith1-6/+2
OpenBSD now has execinfo as compiler lib. DragonFly has all along. This reverts commit 0241948d8fa37f59eb93088a26e9b7ae642cc2d0.
2022-12-12Fixing typosAndreas Deininger5-5/+5
Convert http to https in some links
2022-12-12mlog: set LV environment variable for pager.Phil Jones1-0/+3
2022-12-12mlog: set LESS environment variable for pager.Phil Jones1-5/+11
Rather than passing arguments directly to less, set the LESS environment variable to contain the desired arguments instead. This allows passing arguments in case the user has PAGER=less set in their environment.