~ chicken-core (chicken-5) 3913575fd59efe2067bfdaf4acecc7cdf560f12a
commit 3913575fd59efe2067bfdaf4acecc7cdf560f12a Author: felix <felix@call-with-current-continuation.org> AuthorDate: Tue Jan 28 10:17:18 2014 +0100 Commit: Jim Ursetto <zbigniewsz@gmail.com> CommitDate: Sat Feb 1 19:14:08 2014 -0600 Store name of the post-install program in chicken-config, so that csc can pick up the path to "install_program_name" on Mac OS. Also pass "-headerpad_max_install_names" to the linker when building dynamically loadable .so's. diff --git a/Makefile.cygwin b/Makefile.cygwin index 8594882d..6989ab8b 100644 --- a/Makefile.cygwin +++ b/Makefile.cygwin @@ -136,6 +136,9 @@ chicken-defaults.h: echo "#ifndef C_INSTALL_CXX" >>$@ echo "# define C_INSTALL_CXX \"$(CXX_COMPILER)\"" >>$@ echo "#endif" >>$@ + echo "#ifndef C_INSTALL_POSTINSTALL_PROGRAM" >>$@ + echo "# define C_INSTALL_POSTINSTALL_PROGRAM \"$(POSTINSTALL_PROGRAM)\"" >>$@ + echo "#endif" >>$@ echo "#ifndef C_INSTALL_CFLAGS" >>$@ echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ echo "#endif" >>$@ diff --git a/Makefile.mingw b/Makefile.mingw index 74e9aff6..4027171c 100644 --- a/Makefile.mingw +++ b/Makefile.mingw @@ -134,6 +134,9 @@ endif echo #ifndef C_INSTALL_CXX >>$@ echo # define C_INSTALL_CXX "$(CXX_COMPILER)" >>$@ echo #endif >>$@ + echo #ifndef C_INSTALL_POSTINSTALL_PROGRAM >>$@ + echo # define C_INSTALL_POSTINSTALL_PROGRAM "$(POSTINSTALL_PROGRAM)" >>$@ + echo #endif" >>$@ echo #ifndef C_INSTALL_RC_COMPILER >>$@ echo # define C_INSTALL_RC_COMPILER "$(RC_COMPILER)" >>$@ echo #endif >>$@ diff --git a/csc.scm b/csc.scm index 6d1ce589..dddbbb98 100644 --- a/csc.scm +++ b/csc.scm @@ -61,6 +61,7 @@ (define-foreign-variable CSC_PROGRAM c-string "C_CSC_PROGRAM") (define-foreign-variable WINDOWS_SHELL bool "C_WINDOWS_SHELL") (define-foreign-variable BINARY_VERSION int "C_BINARY_VERSION") +(define-foreign-variable POSTINSTALL_PROGRAM c-string "C_INSTALL_POSTINSTALL_PROGRAM") ;;; Parameters: @@ -523,7 +524,7 @@ EOF (set! compile-options (append pic-options '("-DC_SHARED") compile-options)) (set! link-options (cons (cond - (osx (if lib "-dynamiclib" "-bundle")) + (osx (if lib "-dynamiclib" "-bundle -headerpad_max_install_names")) (else "-shared")) link-options)) (set! shared #t) ) @@ -937,7 +938,7 @@ EOF (when (and osx (or (not cross-chicken) host-mode)) (command (string-append - "install_name_tool -change " libchicken ".dylib " + POSTINSTALL_PROGRAM " -change " libchicken ".dylib " (quotewrap (let ((lib (string-append libchicken ".dylib"))) (if deployed diff --git a/defaults.make b/defaults.make index 4a0f238e..943dc882 100644 --- a/defaults.make +++ b/defaults.make @@ -358,6 +358,9 @@ endif echo "#ifndef C_INSTALL_RC_COMPILER" >>$@ echo "# define C_INSTALL_RC_COMPILER \"$(RC_COMPILER)\"" >>$@ echo "#endif" >>$@ + echo "#ifndef C_INSTALL_POSTINSTALL_PROGRAM" >>$@ + echo "# define C_INSTALL_POSTINSTALL_PROGRAM \"$(POSTINSTALL_PROGRAM)\"" >>$@ + echo "#endif" >>$@ echo "#ifndef C_INSTALL_CFLAGS" >>$@ echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ echo "#endif" >>$@Trap