racket/pkgs/racket-doc/scribblings/raco/exe-dylib-path.scrbl
Matthew Flatt 710320e3dc "Mac OS X" -> "Mac OS"
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.
2016-12-23 12:18:36 -07:00

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}.}