summaryrefslogtreecommitdiff
path: root/test cases/osx
AgeCommit message (Collapse)Author
2025-01-27allow to compare multiple version with version_compareCharles Brunet
2024-07-15tests: short-circuit tests that require cmake, fasterEli Schwartz
We have two ways of marking a test as skipped: - raise MESON_SKIP_TEST - declare that the tools it needs in test.json are unavailable Doing the former requires performing the configure stage including e.g. language setup. In several cases we weren't even getting this far anyway since we used both mechanisms (the cmake category has a category-wide skip for this, in fact). In some case, we were missing test.json declaring it skippable; add this.
2024-07-15tests: skip framework recasting if CMake unavailableAlyssa Ross
2024-07-10dependencies: find extraframeworks on case-sensitive filesystemsRandy Eckenrode
Fixes a test failure on case-sensitive filesystems when a CMake dependency is turned into an Apple framework.
2024-06-23Recast CMake's IMPORTED_LOCATION into framework flags (#13299)Kai Pastor
* Explicitly look for 'OpenAL' with method: 'cmake' This test was added for testing cmake depenencies, so no other method must be accepted here, and the spelling must match FindOpenAL.cmake. * Resolve frameworks in IMPORTED_LOCATION The IMPORTED_LOCATION property of CMake targets may contain macOS framework paths. These must be processed into flags. By putting the values in the list of targets, they will be processed as if they appeared in INTERFACE_LINK_LIBRARIES.
2024-06-23tests: fix OpenAL test case on case sensitive fs on macOSJade Lovelace
Preface: why are we doing this? For reasons of cross-platform interop, the Lix team is strongly considering switching to build on a case sensitive filesystem in the macOS installation, since otherwise storing case overlapping filenames is busted and requires very very bad hacks: https://git.lix.systems/lix-project/lix/issues/332 What's wrong: Command line: `clang++ '/nix/temp/meson/b d01bff197e/meson-private/tmpjqid64j1/testfile.cpp' -o '/nix/temp/meson/b d01bff197e/meson-private/tmpjqid64j1/output.exe' -O0 -fpermissive -Werror=implicit-function-declaration -F/nix/store/qa92ravmclyraw7b46cz3q3m834mmbw9-apple-framework-OpenAL/Library/Frameworks -framework openal` -> 1 stderr: ld: framework not found openal clang-16: error: linker command failed with exit code 1 (use -v to see invocation) Why is that happening: $ ls /nix/store/qa92ravmclyraw7b46cz3q3m834mmbw9-apple-framework-OpenAL/Library/Frameworks OpenAL.framework So the test was relying on case insensitive fs, which is not a reliable assumption on all macOS installations (since weird people like us can set their fs to case sensitive!).
2024-04-28Explicitly set OBJC=cc OBJCXX=c++ for bitcode testJonathan Schleifer
OBJC=clang / OBJCXX=clang++ can pick up a newer Clang that no longer supports bitcode.
2024-02-26Condense directory names for RC1.Jussi Pakkanen
2024-02-25cmake: Allow recasting a CMake dependency into an Apple frameworkL. E. Segovia
Fixes #12160
2023-12-04Fix test failure on Darwin on a case-sensitive fsRandy Eckenrode
This was encountered while looking into an issue with https://github.com/NixOS/nixpkgs/pull/268583. I run my Nix store on case-sensitive APFS, so the test fails due to trying to link `-framework ldap` instead of `-framework LDAP`.
2023-10-12Use -idirafter when adding Apple framework include pathsTristan Partin
System headers will continue to "preempt" the framework headers. This should allow both <GStreamer/gst/gst.h> and <gst/gst.h>
2023-09-06tests: Test extern'd globals on MacOS with the Apple ArchiverAilin Nemui
This forces the use of the Apple archiver, since that archiver doesn't add extern'd variables to the symbol table automatically, and instead requires that ranlib be used. A native file is used to ensure that Apple's ar is used even in the presence of llvm or gcc in the path with their superior archivers. Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
2023-05-28Fix test failures on Darwin on a case-sensitive fsRandy Eckenrode
This issue was encounetered while working on a contribution to nixpkgs. Nix allows the store to be installed on a separate, case-sensitive APFS volume. When the store is on a case-sensitive volume, these tests fail because they try to use `foundation` instead of `Foundation`.
2022-10-31Revert "tests: Test extern'd globals on MacOS with the Apple Archiver"Eli Schwartz
This reverts commit d285be763f193606b078f218fdedc58679dfe037. This is part of #10628 and needs to be reverted, as it breaks other things. See https://github.com/mesonbuild/meson/pull/10628#issuecomment-1230560772
2022-07-25tests: Test extern'd globals on MacOS with the Apple ArchiverAilin Nemui
This forces the use of the Apple archiver, since that archiver doesn't add extern'd variables to the symbol table automatically, and instead requires that ranlib be used. A native file is used to ensure that Apple's ar is used even in the presence of llvm or gcc in the path with their superior archivers. Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
2022-03-08tests: bitcode: add missing b_bitcode optionMarvin Scholz
The bitcode test did not actually have bitcode enabled, making it not really useful.
2021-11-18tests: remove extraframework test for pythonDylan Baker
This tries to link the system provided python, which is deprecated and will result in an ambiguous error like "your binary is not an allowed client of .../Library/Frameworks/python.framework/python.tbd for architecture x86_64".
2021-08-15editorconfig: add setting to trim trailing whitespaceEli Schwartz
and clean up all outstanding issues Skip 'test cases/common/141 special characters/meson.build' since it intentionally uses trailing newlines.
2021-08-12Fix building framework test.Jussi Pakkanen
2021-08-08Update iphone cross building.Jussi Pakkanen
2020-02-25test: merge installed_files.txt into test.jsonDaniel Mensinger
2019-12-17Fix macOS library test when using system zlib.Jussi Pakkanen
2019-12-04ci/test: unused args for WindowsMichael Hirsch, Ph.D
2019-11-29tests: add osx test case for PIE builds.Mihai Moldovan
2019-06-23compilers: Fix bitcode and other options for objc codeNirbheek Chauhan
We were setting the base options for the Objective-C compiler manually, due to which options such as b_bitcode and b_ndebug were not getting set at all. The base options here are the same as for C code with the Clang compiler, so just use the same inherited list. Also expand the bitcode test to ObjC and ObjC++ so this doesn't happen again.
2019-03-10Fix appleframeworks with multiple modules.Jussi Pakkanen
2019-02-01Rewrite appleframework and extraframework dependency classesNirbheek Chauhan
Instead of only doing a naive filesystem search, also run the linker so that it can tell us whether the -F path specified actually contains the framework we're looking for. Unfortunately, `extraframework` searching is still not 100% correct in the case when since we want to search in either /Library/Frameworks or in /System/Library/Frameworks but not in both. The -Z flag disables searching in those prefixes and would in theory allow this, but then you cannot force the linker to look in those by manually adding -F args, so that doesn't work.
2019-01-31tests: Don't require pkg-config for macOS testsNirbheek Chauhan
Only require it on the CI or if pkg-config is found.
2018-09-14test cases: add missing files to installed_files.txtMarco Trevisan (Treviño)
All these are marked as files to be installed, so we need list them.
2018-08-29Improve support for macOS dylib versioningNirbheek Chauhan
We now use the soversion to set compatibility_version and current_version by default. This is the only sane thing we can do by default because of the restrictions on the values that can be used for compatibility and current version. Users can override this value with the `darwin_versions:` kwarg, which can be a single value or a two-element list of values. The first one is the compatibility version and the second is the current version. Fixes https://github.com/mesonbuild/meson/issues/3555 Fixes https://github.com/mesonbuild/meson/issues/1451
2018-08-28Deduplicate build-tree RPATHs on macOSDavid Seifert
* Currently, RPATHs coming from dependencies and `build_rpath` provided by the user might contain the same path. Apple's `install_name` tool is allergic to providing the same argument twice when removing RPATHs: error: install_name_tool: "-delete_rpath /usr/lib" specified more than once
2017-12-03Merge pull request #2618 from mesonbuild/osxlinkerfixesJussi Pakkanen
Fix many things have have been slightly broken in OSX
2017-12-03Fix OSX CI. This is a bit of a hack but needs to be done. :(Jussi Pakkanen
2017-11-30Merge pull request #2668 from dcbaker/wip/macos-10.13-fixesJussi Pakkanen
macos 10.13 fixes
2017-11-26Specify build_rpath manually to targets linked by hand.Jussi Pakkanen
2017-11-26Update CMake reference file.Jussi Pakkanen
2017-11-26spelling: targetingJosh Soref
2017-11-21tests: Don't run xcode 8 tests on xcode 9Dylan Baker
It lacks the necessary SDKs to run the tests.
2017-06-09dependencies: Add a new class ExternalDependencyNirbheek Chauhan
This class now consolidates a lot of the logic that each external dependency was duplicating in its class definition. All external dependencies now set: * self.version * self.compile_args and self.link_args * self.is_found (if found) * self.sources * etc And the abstract ExternalDependency class defines the methods that will fetch those properties. Some classes still override that for various reasons, but those should also be migrated to properties as far as possible. Next step is to consolidate and standardize the way in which we call 'configuration binaries' such as sdl2-config, llvm-config, pkg-config, etc. Currently each class has to duplicate code involved with that even though the format is very similar. Currently only pkg-config supports multiple version requirements, and some classes don't even properly check the version requirement. That will also become easier now.
2017-05-23unit-test for testing xcode frameworksblackbox
2017-04-04Don't generate import library for shared modulesNirbheek Chauhan
Also add a test for this on all platforms.
2017-03-05tests: Minor fixes to the library-usage testsNirbheek Chauhan
Actually use the myFunc() symbol from the library, and actually run the built executable on macOS.
2017-03-04Add a cmake file for manual comparisonNirbheek Chauhan
We differ from cmake in the following manner: * We only set the major version (SOVERSION) in the dylib * If SOVERSION is not specified, we deduce it from version (VERSION) See installed_files.txt for a list of output dylib names.
2017-03-04darwin: Also add the major version in the dylibNirbheek Chauhan
And symlink to the unversioned library for build-time linking. https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html#//apple_ref/doc/uid/TP40002013-SW2 Unlike Autotools, we do not add the minor or micro version in the filename because the Apple documentation says you must embed that inside the library with -current_version.
2016-10-26Add osx test for the XCode 8 fixes to has_functionNirbheek Chauhan
2016-08-16Add a test to find libfoo.X.dylib via -lfooNirbheek Chauhan
Alex Băluț reported that on OS X libfoo.0.dylib cannot be found as -lfoo by the linker, and you must use -lfoo.0 instead. Add a test for this so the CI can catch such problems. The next commit will contain the fix.
2016-07-01Fix tests for the new library/executable naming schemeNirbheek Chauhan
Also add new tests for the platform-specific and compiler-specific versioning scheme. A rough summary is: 1. A bug in how run_tests.py:validate_install checked for files has been fixed. Earlier it wasn't checking the install directory properly. 2. Shared libraries are no longer installed in common tests, and the library name/path testing is now done in platform-specific tests. 3. Executables are now always called something?exe in the installed_files.txt file, and the suffix automatically corrected depending on the platform. 4. If a test installs a file called 'no-installed-files', the installed files for that test are not validated. This is required to implement compiler-specific tests for library names/paths such as MSVC vs MinGW 5. The platform-specific file renaming in run_tests.py has been mostly removed since it is broken for shared libraries and isn't needed for static libraries. 6. run_tests.py now reports all missing and extra files. The logic for finding these has been reworked.
2013-06-02Renamed add_test to test.Jussi Pakkanen
2013-03-03Simple test for OSX.Jussi Pakkanen