darwin.Libc: remove and replace with stubs

This commit is contained in:
Randy Eckenrode
2024-10-10 16:23:09 -04:00
parent 65650be7d7
commit 2e1f901cd8
7 changed files with 1 additions and 255 deletions
@@ -1,47 +0,0 @@
From 187d0e8847d080790b22724352e51de50d214dd8 Mon Sep 17 00:00:00 2001
From: toonn <toonn@toonn.io>
Date: Tue, 27 Jul 2021 15:12:14 +0200
Subject: [PATCH] Define TARGET_OS_EMBEDDED in std{lib,io} if not defined
Originally attempted including `TargetConditionals.h` but this had
knock-on effects, for example, breaking the zlib build because of
`TARGET_OS_MAC` getting defined.
This should be the lowest impact solution and corresponds to the default
behavior IIUC.
---
include/stdio.h | 3 +++
include/stdlib.h | 3 +++
2 files changed, 6 insertions(+)
diff --git a/include/stdio.h b/include/stdio.h
index d0cf7a5..487496e 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -351,6 +351,9 @@ __END_DECLS
/* Additional functionality provided by:
* POSIX.2-1992 C Language Binding Option
*/
+#ifndef TARGET_OS_EMBEDDED
+# define TARGET_OS_EMBEDDED 0
+#endif
#if TARGET_OS_EMBEDDED
#define __swift_unavailable_on(osx_msg, ios_msg) __swift_unavailable(ios_msg)
#else
diff --git a/include/stdlib.h b/include/stdlib.h
index c04d3a7..0b454ba 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -183,6 +183,9 @@ unsigned long long
#ifndef LIBC_ALIAS_SYSTEM
//End-Libc
+#ifndef TARGET_OS_EMBEDDED
+# define TARGET_OS_EMBEDDED 0
+#endif
#if TARGET_OS_EMBEDDED
#define __swift_unavailable_on(osx_msg, ios_msg) __swift_unavailable(ios_msg)
#else
--
2.17.2 (Apple Git-113)
@@ -1,51 +0,0 @@
/*
* Copyright (c) 2010 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/***********************************************************************
* Not to be installed in /usr/local/include
***********************************************************************/
#ifndef _LIBC_CRASHREPORTERCLIENT_H
#define _LIBC_CRASHREPORTERCLIENT_H
#include "stdint.h"
/* Fake the CrashReporterClient API */
#define CRGetCrashLogMessage() 0
#define CRSetCrashLogMessage(m) true
#define CRASH_REPORTER_CLIENT_HIDDEN __attribute__((visibility("hidden")))
#define CRASHREPORTER_ANNOTATIONS_VERSION 4
#define CRASHREPORTER_ANNOTATIONS_SECTION "__crash_info"
struct crashreporter_annotations_t {
uint64_t version; // unsigned long
uint64_t message; // char *
uint64_t signature_string; // char *
uint64_t backtrace; // char *
uint64_t message2; // char *
uint64_t thread; // uint64_t
uint64_t dialog_mode; // unsigned int
};
#endif
@@ -1,23 +0,0 @@
{ appleDerivation', stdenvNoCC, ed, unifdef, Libc_10-9 }:
appleDerivation' stdenvNoCC {
nativeBuildInputs = [ ed unifdef ];
patches = [
./0001-Define-TARGET_OS_EMBEDDED-in-std-lib-io-if-not-defin.patch
];
installPhase = ''
export SRCROOT=$PWD
export DSTROOT=$out
export PUBLIC_HEADERS_FOLDER_PATH=include
export PRIVATE_HEADERS_FOLDER_PATH=include
bash xcodescripts/headers.sh
cp ${./CrashReporterClient.h} $out/include/CrashReporterClient.h
cp ${Libc_10-9}/include/NSSystemDirectories.h $out/include
'';
appleHeaders = builtins.readFile ./headers.txt;
}
@@ -1,125 +0,0 @@
CrashReporterClient.h
NSSystemDirectories.h
_locale.h
_types.h
_types/_intmax_t.h
_types/_nl_item.h
_types/_uint16_t.h
_types/_uint32_t.h
_types/_uint64_t.h
_types/_uint8_t.h
_types/_uintmax_t.h
_types/_wctrans_t.h
_types/_wctype_t.h
_wctype.h
_xlocale.h
aio.h
alloca.h
ar.h
arpa/ftp.h
arpa/inet.h
arpa/nameser_compat.h
arpa/telnet.h
arpa/tftp.h
assert.h
bitstring.h
cpio.h
crt_externs.h
ctype.h
db.h
dirent.h
disktab.h
err.h
errno.h
execinfo.h
fcntl.h
fmtmsg.h
fnmatch.h
fsproperties.h
fstab.h
fts.h
ftw.h
get_compat.h
getopt.h
glob.h
inttypes.h
iso646.h
langinfo.h
libc.h
libc_private.h
libgen.h
limits.h
locale.h
memory.h
monetary.h
monitor.h
mpool.h
msgcat.h
ndbm.h
nl_types.h
nlist.h
os/assumes.h
os/debug_private.h
paths.h
poll.h
printf.h
protocols/routed.h
protocols/rwhod.h
protocols/talkd.h
protocols/timed.h
ranlib.h
readpassphrase.h
regex.h
runetype.h
search.h
secure/_common.h
secure/_stdio.h
secure/_string.h
semaphore.h
sgtty.h
signal.h
stab.h
standards.h
stddef.h
stdint.h
stdio.h
stdlib.h
strhash.h
string.h
stringlist.h
strings.h
struct.h
sys/acl.h
sys/rbtree.h
sys/statvfs.h
sysexits.h
syslog.h
tar.h
termios.h
time.h
timeconv.h
ttyent.h
tzfile.h
ulimit.h
unistd.h
util.h
utime.h
utmpx.h
utmpx_thread.h
vis.h
wchar.h
wctype.h
wordexp.h
xlocale.h
xlocale/__wctype.h
xlocale/_ctype.h
xlocale/_inttypes.h
xlocale/_langinfo.h
xlocale/_monetary.h
xlocale/_regex.h
xlocale/_stdio.h
xlocale/_stdlib.h
xlocale/_string.h
xlocale/_time.h
xlocale/_wchar.h
xlocale/_wctype.h
@@ -271,14 +271,6 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
dyld = applePackage "dyld" "osx-10.12.6" "sha256-JmKnOZtBPf96zEx7vhYHLBSTOPyKN71IdYE3R0IeJww=" {};
eap8021x = applePackage "eap8021x" "osx-10.11.6" "sha256-54P3+YhVhOanoZQoqswDnr/GbR/AdEERse135nyuIQo=" {};
launchd = applePackage "launchd" "osx-10.9.5" "sha256-dmV0UK7hG9wvTr+F4Z47nCFXcVZCV+cQ46WbE0DBtJs=" {};
Libc = applePackage "Libc" "osx-10.12.6" "sha256-LSsL7S3KFgGU9qjK4atu/4wBh8ftgfsk6JOvg+ZTZOY=" {
Libc_10-9 = fetchFromGitHub {
owner = "apple-oss-distributions";
repo = "Libc";
rev = "Libc-997.90.3";
hash = "sha256-B18RNO+Rai5XE52TKdJV7eknosTZ+bRERkiU12d/kPU=";
};
};
libclosure = applePackage "libclosure" "osx-10.11.6" "sha256-L5rQ+UBpf3B+W1U+gZKk7fXulslHsc8lxnCsplV+nr0=" {};
libdispatch = applePackage "libdispatch" "osx-10.12.4" "sha256-xUqoG5JK4P3nXeoVUOBzodVK9fjH/I3xJ6WRtM39bdw=" {};
Libinfo = applePackage "Libinfo" "osx-10.11.6" "sha256-6F7wiwerv4nz/xXHtp1qCHSaFzZgzcRN+jbmXA5oWOQ=" {};
@@ -5,7 +5,6 @@
{
Csu = applePackage' "Csu" "88" "macos-11.0.1" "1lzp9x8iv60c2h12q2s89nf49b5hvpqq4a9li44zr2fxszn8lqxh" {};
ICU = callPackage ./ICU/package.nix { };
Libc = applePackage' "Libc" "1439.40.11" "macos-11.0.1" "12k5sbz2k1pl839w2lk9iw414zzl50zdjzgq2x6bm20yjbfj69qm" {};
Libinfo = applePackage' "Libinfo" "542.40.3" "macos-11.0.1" "18jvl7cdg64x6clhsfv5pbzxis2aldddpca5r81xqakrmi9mck80" {};
Libnotify = applePackage' "Libnotify" "279.40.4" "macos-11.0.1" "1vr11s0c42ssjs29shy1m8rj008np7aswdzjpimsfzyav47jb6y7" {};
Librpcsvc = applePackage' "Librpcsvc" "26" "macos-11.0.1" "0wf6srbw28664wa0dckldbhrl9ydg70fms06rj6i7mvlrz1ccxk0" {};
+1
View File
@@ -73,6 +73,7 @@ makeScopeWithSplicing' {
"CommonCrypto"
"CoreSymbolication"
"IOKit"
"Libc"
] (mkStub apple_sdk.version);
in