
Although "macOS" is the correct name for Apple's current desktop OS, we've decided to go with "Mac OS" to cover all of Apple's Unix-like desktop OS versions. The label "Mac OS" is more readable, clear in context (i.e., unlikely to be confused with the Mac OSes that proceeded Mac OS X), and as likely to match Apple's future OS names as anything.
37 lines
1.4 KiB
Racket
37 lines
1.4 KiB
Racket
#lang scribble/manual
|
|
@(require "common.rkt"
|
|
(for-label racket/base
|
|
racket/contract
|
|
compiler/exe-dylib-path))
|
|
|
|
@title[#:tag "exe-dylib-path"]{Mac OS Dynamic Library Paths}
|
|
|
|
@defmodule[compiler/exe-dylib-path]{The
|
|
@racketmodname[compiler/exe-dylib-path] library provides functions for
|
|
reading and adjusting dynamic-library references in a Mac OS
|
|
executable.}
|
|
|
|
@history[#:added "6.3"]
|
|
|
|
@defproc[(find-matching-library-path [exe-path path-string?]
|
|
[library-str string?])
|
|
(or/c #f string?)]{
|
|
|
|
Searches dynamic-linking information in @racket[exe-path] for a
|
|
library reference whose name includes @racket[library-str] and returns
|
|
the executable's path to the library for the first match. If no match is
|
|
found, the result is @racket[#f].}
|
|
|
|
@defproc[(update-matching-library-path [exe-path path-string?]
|
|
[library-str string?]
|
|
[library-path-str string?])
|
|
void?]{
|
|
|
|
Searches dynamic-linking information in @racket[exe-path] for each
|
|
library reference whose name includes @racket[library-str] and replaces
|
|
the executable's path to that library with @racket[library-path-str].
|
|
|
|
A single match is expected, and the update assumes enough space for
|
|
the new path, perhaps because the executable is linked with
|
|
@Flag{headerpad_max_install_names}.}
|