diff --git a/bundle.lisp b/bundle.lisp index b4b125dc6223c9fc8b1a516ed810ed86ec383acb..7a5f3204c125e336117c20e6bd0b1bf7347ed2ae 100644 --- a/bundle.lisp +++ b/bundle.lisp @@ -99,8 +99,14 @@ itself.")) ;; operation on a system and its dependencies (defclass lib-op (link-op gather-op non-propagating-operation) ((gather-type :initform :object :allocation :class) (bundle-type :initform :lib :allocation :class)) - (:documentation "Compile the system and produce linkable (.a) library for it. -Compare with DLL-OP.")) + (:documentation "Compile the system and produce a linkable static library (.a/.lib) +for all the linkable object files associated with the system. Compare with DLL-OP. + +On most implementations, these object files only include extensions to the runtime +written in C or another language with a compiler producing linkable object files. +On CLASP, ECL, MKCL, these object files also include the contents of Lisp files +themselves. In any case, this operation will produce what you need to further build +a static runtime for your system, or a dynamic library to load in an existing runtime.")) (defclass compile-bundle-op (basic-compile-bundle-op selfward-operation #+(or clasp ecl mkcl) link-op #-(or clasp ecl) gather-op) @@ -126,8 +132,8 @@ faster and more resource efficient.")) (defclass dll-op (link-op gather-op non-propagating-operation) ((gather-type :initform :object :allocation :class) (bundle-type :initform :dll :allocation :class)) - (:documentation "compile the system and produce dynamic (.so/.dll) library for it. -Compare with LIB-OP.")) + (:documentation "Compile the system and produce a dynamic loadable library (.so/.dll) +for all the linkable object files associated with the system. Compare with LIB-OP.")) (defclass deliver-asd-op (basic-compile-op selfward-operation) ((selfward-operation @@ -161,11 +167,13 @@ Compare with LIB-OP.")) (defclass monolithic-lib-op (monolithic-bundle-op lib-op non-propagating-operation) ((gather-type :initform :static-library :allocation :class)) - (:documentation "Create a single linkable library for the system and its dependencies.")) + (:documentation "Compile the system and produce a linkable static library (.a/.lib) +for all the linkable object files associated with the system or its dependencies. See LIB-OP.")) (defclass monolithic-dll-op (monolithic-bundle-op dll-op non-propagating-operation) ((gather-type :initform :static-library :allocation :class)) - (:documentation "Create a single dynamic (.so/.dll) library for the system and its dependencies.")) + (:documentation "Compile the system and produce a dynamic loadable library (.so/.dll) +for all the linkable object files associated with the system or its dependencies. See LIB-OP")) (defclass image-op (monolithic-bundle-op selfward-operation #+(or clasp ecl mkcl) link-op #+(or clasp ecl mkcl) gather-op) diff --git a/uiop/run-program.lisp b/uiop/run-program.lisp index 4c8fab316bab6d7be0d0b2b523a87b28d2c0171c..9cf4f52dda35614e25fe8d775191685a894e9fdf 100644 --- a/uiop/run-program.lisp +++ b/uiop/run-program.lisp @@ -838,7 +838,9 @@ It returns a process-info plist with possible keys: &allow-other-keys) "Run program specified by COMMAND, either a list of strings specifying a program and list of arguments, -or a string specifying a shell command (/bin/sh on Unix, CMD.EXE on Windows). +or a string specifying a shell command (/bin/sh on Unix, CMD.EXE on Windows); +_synchronously_ process its output as specified and return the processing results +when the program and its output processing are complete. Always call a shell (rather than directly execute the command when possible) if FORCE-SHELL is specified. Similarly, never call a shell if FORCE-SHELL is