Closed Bug 1845144 Opened 2 years ago Closed 2 years ago

Remove macOS @available directives for 10.15 and earlier

Categories

(Core :: Widget: Cocoa, defect)

defect

Tracking

()

RESOLVED FIXED
118 Branch
Tracking Status
firefox118 --- fixed

People

(Reporter: bradwerth, Assigned: bradwerth)

References

Details

Attachments

(3 files)

Everything 10.15 and earlier is available, so those directives can be removed.

Summary: Remove macOS @available directives for 10.15 and lower → Remove macOS @available directives for 10.15 and earlier

To make this landable, I'll have to do something to deal with the -Wunguarded-availability-new flag. That is erroneously keeping us from landing anything that requires 10.13 or newer that is unguarded by the @available directive.

(In reply to Brad Werth [:bradwerth] from comment #2)

To make this landable, I'll have to do something to deal with the -Wunguarded-availability-new flag. That is erroneously keeping us from landing anything that requires 10.13 or newer that is unguarded by the @available directive.

Haik, do you know how this flag is associated to either the target or in-use SDK version? Seems like it's checking against 10.13 and we need it to check against 10.15.

Flags: needinfo?(haftandilian)

(In reply to Brad Werth [:bradwerth] from comment #3)

(In reply to Brad Werth [:bradwerth] from comment #2)

To make this landable, I'll have to do something to deal with the -Wunguarded-availability-new flag. That is erroneously keeping us from landing anything that requires 10.13 or newer that is unguarded by the @available directive.

Haik, do you know how this flag is associated to either the target or in-use SDK version? Seems like it's checking against 10.13 and we need it to check against 10.15.

Sounds like it's the minimum deployment target version per clang docs.

So we probably need a patch to increase ours for x64 to 10.15 here.

Flags: needinfo?(haftandilian)
Attachment #9345413 - Attachment description: Bug 1845144: Remove macOS available directives for always-supported versions of macOS. → Bug 1845144 Part 2: Remove macOS available directives for always-supported versions of macOS.

This enum is no longer needed since our build target is now macOS 10.15.

Depends on D184399

Attachment #9345413 - Attachment description: Bug 1845144 Part 2: Remove macOS available directives for always-supported versions of macOS. → Bug 1845144 Part 2: Remove macOS available and builtin_available directives for always-supported versions of macOS.
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d233c63f8121 Part 1: Update toolchain.configure with minimum macOS 10.15 target. r=glandium https://hg.mozilla.org/integration/autoland/rev/6afda17fe413 Part 2: Remove macOS available and builtin_available directives for always-supported versions of macOS. r=mac-reviewers,mstange,keeler https://hg.mozilla.org/integration/autoland/rev/5168c7b1cf04 Part 3: Remove the GeckoAVAuthorizationStatus shadow enum. r=mac-reviewers,haik

Backed out for causing py3 failures on test_toolchain_configure.py.

[task 2023-08-01T02:39:59.224Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::LinuxX86_64CrossToolchainTest::test_cross_gcc PASSED
[task 2023-08-01T02:39:59.224Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::OSXToolchainTest::test_clang TEST-UNEXPECTED-FAIL
[task 2023-08-01T02:39:59.224Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::OSXToolchainTest::test_forced_gcc TEST-UNEXPECTED-FAIL
[task 2023-08-01T02:39:59.224Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::OSXToolchainTest::test_forced_unsupported_gcc PASSED
<...>
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::OSXCrossToolchainTest::test_cannot_osx_cross PASSED
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::OSXCrossToolchainTest::test_osx_cross TEST-UNEXPECTED-FAIL
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::WindowsCrossToolchainTest::test_clang_cl_cross PASSED
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::OpenBSDToolchainTest::test_gcc PASSED
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::RustTest::test_rust_target PASSED
[task 2023-08-01T02:39:59.226Z] 
[task 2023-08-01T02:39:59.226Z] =================================== FAILURES ===================================
[task 2023-08-01T02:39:59.226Z] _________________________ OSXToolchainTest.test_clang __________________________
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py:902: in test_clang
[task 2023-08-01T02:39:59.226Z]     "cxx_compiler": self.DEFAULT_CLANGXX_RESULT + self.SYSROOT_FLAGS,
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py:382: in do_toolchain_test
[task 2023-08-01T02:39:59.226Z]     self.assertEqual((var, compiler), (var, result))
[task 2023-08-01T02:39:59.226Z] E   AssertionError: Tuples differ: ('c_compiler', <ReadOnlyNamespace {'wrapper': [], 'compil[283 chars]C'}>) != ('c_compiler', <CompilerResult {'flags': ['-isysroot', '/[251 chars]C'}>)
[task 2023-08-01T02:39:59.226Z] E
[task 2023-08-01T02:39:59.226Z] E   First differing element 1:
[task 2023-08-01T02:39:59.226Z] E   <ReadOnlyNamespace {'wrapper': [], 'compil[282 chars]'C'}>
[task 2023-08-01T02:39:59.226Z] E   <CompilerResult {'flags': ['-isysroot', '/[250 chars]'C'}>
[task 2023-08-01T02:39:59.226Z] E
[task 2023-08-01T02:39:59.226Z] E   Diff is 653 characters long. Set self.maxDiff to None to see it.
[task 2023-08-01T02:39:59.226Z] _______________________ OSXToolchainTest.test_forced_gcc _______________________
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py:944: in test_forced_gcc
[task 2023-08-01T02:39:59.226Z]     environ={"CC": "gcc-8", "CXX": "g++-8"},
[task 2023-08-01T02:39:59.226Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py:382: in do_toolchain_test
[task 2023-08-01T02:39:59.226Z]     self.assertEqual((var, compiler), (var, result))
[task 2023-08-01T02:39:59.226Z] E   AssertionError: Tuples differ: ('c_compiler', <ReadOnlyNamespace {'wrapper': [], 'compil[281 chars]C'}>) != ('c_compiler', <CompilerResult {'flags': ['-isysroot', '/[249 chars]C'}>)
[task 2023-08-01T02:39:59.226Z] E
[task 2023-08-01T02:39:59.226Z] E   First differing element 1:
[task 2023-08-01T02:39:59.227Z] E   <ReadOnlyNamespace {'wrapper': [], 'compil[280 chars]'C'}>
[task 2023-08-01T02:39:59.227Z] E   <CompilerResult {'flags': ['-isysroot', '/[248 chars]'C'}>
[task 2023-08-01T02:39:59.227Z] E
[task 2023-08-01T02:39:59.227Z] E   Diff is 649 characters long. Set self.maxDiff to None to see it.
[task 2023-08-01T02:39:59.227Z] _____________________ OSXCrossToolchainTest.test_osx_cross _____________________
[task 2023-08-01T02:39:59.227Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py:1598: in test_osx_cross
[task 2023-08-01T02:39:59.227Z]     args=["--with-macos-sdk=%s" % OSXToolchainTest.SYSROOT_FLAGS["flags"][1]],
[task 2023-08-01T02:39:59.227Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py:382: in do_toolchain_test
[task 2023-08-01T02:39:59.227Z]     self.assertEqual((var, compiler), (var, result))
[task 2023-08-01T02:39:59.227Z] E   AssertionError: Tuples differ: ('c_compiler', <ReadOnlyNamespace {'wrapper': [], 'compil[319 chars]C'}>) != ('c_compiler', <CompilerResult {'flags': ['-isysroot', '/[287 chars]C'}>)
[task 2023-08-01T02:39:59.227Z] E
[task 2023-08-01T02:39:59.227Z] E   First differing element 1:
[task 2023-08-01T02:39:59.227Z] E   <ReadOnlyNamespace {'wrapper': [], 'compil[318 chars]'C'}>
[task 2023-08-01T02:39:59.227Z] E   <CompilerResult {'flags': ['-isysroot', '/[286 chars]'C'}>
[task 2023-08-01T02:39:59.227Z] E
[task 2023-08-01T02:39:59.227Z] E   Diff is 725 characters long. Set self.maxDiff to None to see it.
[task 2023-08-01T02:39:59.227Z] =============================== warnings summary ===============================
[task 2023-08-01T02:39:59.227Z] python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::RustTest::test_rust_target
[task 2023-08-01T02:39:59.227Z]   /opt/worker/tasks/task_169085711553072/checkouts/gecko/python/mozboot/mozboot/base.py:497: DeprecationWarning: invalid escape sequence \.
[task 2023-08-01T02:39:59.227Z]     match = re.search(name + " ([a-z0-9\.]+)", process.stdout)
[task 2023-08-01T02:39:59.227Z] 
[task 2023-08-01T02:39:59.227Z] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
[task 2023-08-01T02:39:59.227Z] ============= 3 failed, 79 passed, 1 warning in 164.78s (0:02:44) ==============
[task 2023-08-01T02:39:59.227Z] 
[task 2023-08-01T02:39:59.228Z] 
[task 2023-08-01T02:39:59.228Z] Tests Completed: 100%|██████████| 80/80 [02:50<00:00,  2.13s/Test]Return code from mach python-test: 1
[task 2023-08-01T02:39:59.275Z] 
[taskcluster 2023-08-01T02:39:59.323Z]    Exit Code: 1
[taskcluster 2023-08-01T02:39:59.323Z]    User Time: 12m7.538706s
[taskcluster 2023-08-01T02:39:59.323Z]  Kernel Time: 8m40.01716s
[taskcluster 2023-08-01T02:39:59.323Z]    Wall Time: 6m16.207298s
[taskcluster 2023-08-01T02:39:59.323Z]       Result: FAILED
[taskcluster 2023-08-01T02:39:59.323Z] === Task Finished ===
[taskcluster 2023-08-01T02:39:59.323Z] Task Duration: 6m16.211689s
[taskcluster 2023-08-01T02:39:59.323Z] [mounts] Preserving cache: Moving "/opt/worker/tasks/task_169085711553072/checkouts" to "/opt/worker/cache/aZ1VkW2-Rgiz6S-ql18sBw"
[taskcluster 2023-08-01T02:39:59.441Z] Uploading redirect artifact public/logs/live.log to URL https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/W67rE07zS6iFM1b6VWPjTw/runs/0/artifacts/public%2Flogs%2Flive_backing.log with mime type "text/plain; charset=utf-8" and expiry 2024-07-31T02:33:16.349Z
[taskcluster:error] exit status 1
Flags: needinfo?(bwerth)
Attachment #9345470 - Attachment description: Bug 1845144 Part 1: Update toolchain.configure with minimum macOS 10.15 target. → Bug 1845144 Part 1: Update build configs with minimum macOS 10.15 target, update docs.
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a07a1bb90c60 Part 1: Update build configs with minimum macOS 10.15 target, update docs. r=glandium https://hg.mozilla.org/integration/autoland/rev/146749e23ab2 Part 2: Remove macOS available and builtin_available directives for always-supported versions of macOS. r=mac-reviewers,mstange,keeler,padenot https://hg.mozilla.org/integration/autoland/rev/b79d7ef6d0ae Part 3: Remove the GeckoAVAuthorizationStatus shadow enum. r=mac-reviewers,haik
Flags: needinfo?(bwerth)
Regressions: 1882930
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: