aboutsummaryrefslogtreecommitdiff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
authorAndrew Childs <lorne@cons.org.nz>2020-11-12 16:50:26 +0900
committerAndrew Childs <lorne@cons.org.nz>2020-11-12 16:57:19 +0900
commitf2b81a021eccc072029f8a93b45b2c9a9ce0aa2a (patch)
tree9e21b3312f8159bce2ae188a69a9e2f371cd2fb8 /pkgs/os-specific/darwin
parent7e49fb6592a6af157d861d07315b683d5724f96e (diff)
darwin/print-reexports: add an overview comment
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/print-reexports/main.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/os-specific/darwin/apple-sdk/print-reexports/main.c b/pkgs/os-specific/darwin/apple-sdk/print-reexports/main.c
index 7ad793eb4252..df46e3f18e89 100644
--- a/pkgs/os-specific/darwin/apple-sdk/print-reexports/main.c
+++ b/pkgs/os-specific/darwin/apple-sdk/print-reexports/main.c
@@ -1,3 +1,22 @@
+/**
+ * Display the list of re-exported libraries from a TAPI v2 .tbd file, one per
+ * line on stdout.
+ *
+ * TAPI files are the equivalent of library files for the purposes of linking.
+ * Like dylib files, they may re-export other libraries. In upstream usage
+ * these refer to the absolute paths of dylibs, and are resolved to .tbd files
+ * in combination with the syslibroot option. In nixpkgs, the .tbd files refer
+ * directly to other .tbd files without a syslibroot. Note that each .tbd file
+ * contains an install name, so the re-exported path does not affect the final
+ * result.
+ *
+ * In nixpkgs each framework is a distinct store path and some frameworks
+ * re-export other frameworks. The re-exported names are rewritten to refer to
+ * the store paths of dependencies via textual substitution. This utility is
+ * used to emit every file that is listed as a re-exported library, which
+ * allows the framework builder to verify their existence.
+ */
+
#include <stdio.h>
#include <sys/errno.h>
#include <yaml.h>