Merge pull request #1029 from Retropikzel/snow-chibi-foreign-depends

snow-chibi --foreign-depends
This commit is contained in:
Alex Shinn 2025-06-25 15:57:03 +09:00 committed by GitHub
commit c9d4070220
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 2 deletions

View file

@ -1613,6 +1613,11 @@ can specify any option, for example:
(license gpl))))
}
\itemlist[
\item{\scheme{--foreign-depends} - specify foreign libraries the library
depends on (comma-delimited) (for example ffi,sqlite3 for -lffi -lsqlite3)}
]
Top-level snow options are represented as a flat alist. Options
specific to a command are nested under \scheme{(command (name ...))},
with most options here being for \scheme{package}. Here unless

View file

@ -129,7 +129,8 @@
declarations ...)
(let* ((dir (library-path-base file name))
(lib-file (path-relative file dir))
(lib-dir (path-directory lib-file)))
(lib-dir (path-directory lib-file))
(foreign-depends (conf-get-list cfg 'foreign-depends)))
(define (resolve file)
(let ((dest-path (if (equal? lib-dir ".")
file
@ -158,7 +159,8 @@
(warn "couldn't find ffi stub or c source" base)
'()))))
(let lp ((ls declarations)
(info `(,@(cond
(info `((foreign-depends ,@foreign-depends)
,@(cond
((conf-get cfg '(command package author))
=> (lambda (x) (list (list 'author x))))
(else '()))

View file

@ -90,6 +90,7 @@
(chibi-path filename "path to chibi-scheme executable")
(cc string "path to c compiler")
(cflags string "flags for c compiler")
(foreign-depends (list string) "foreign libraries library depends on")
(use-curl? boolean ("use-curl") "use curl for file uploads")
(sexp? boolean ("sexp") "output information in sexp format")
))