diff --git a/csc.scm b/csc.scm index b5da715..38ba4ce 100644 --- a/csc.scm +++ b/csc.scm @@ -69,6 +69,8 @@ (define osx (eq? (software-version) 'macosx)) (define win mingw) (define netbsd (eq? (software-version) 'netbsd)) +(define openbsd (eq? (software-version) 'openbsd)) +(define freebsd (eq? (software-version) 'freebsd)) (define cygwin (eq? (build-platform) 'cygwin)) (define elf @@ -262,13 +264,16 @@ (list (conc "-L\"" library-dir "\"") (conc " -Wl,-R\"" - (if (and deployed (not netbsd)) - "\\$ORIGIN" - (prefix "" "lib" - (if host-mode - INSTALL_LIB_HOME - TARGET_RUN_LIB_HOME))) - "\"")) ) + (if deployed + "\\$ORIGIN" + (prefix "" "lib" + (if host-mode + INSTALL_LIB_HOME + TARGET_RUN_LIB_HOME))) + "\"" + (if (and deployed (or freebsd openbsd netbsd)) + " -Wl,-z,origin" + "")))) (else (list (conc "-L\"" library-dir "\"")))) (cond ((get-environment-variable "CHICKEN_C_LIBRARY_PATH") =>