~ chicken-core (chicken-5) 2a3f46e5146fe9b8e35c4f6f5ce240d2776852c8
commit 2a3f46e5146fe9b8e35c4f6f5ce240d2776852c8 Author: felix <felix@p.callcc.org> AuthorDate: Tue Oct 16 13:34:42 2018 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Mon Oct 22 10:56:44 2018 +0200 Use installation program and options from build system for egg installation Instead of hardcoding the install(1) program and options in chicken-install, use the associated values from default.make/chicken-config.h. Signed-off-by: Peter Bex <peter@more-magic.net> Signed-off-by: felix <felix@call-with-current-continuation.org> diff --git a/defaults.make b/defaults.make index 9ffaa31a..5cba3170 100644 --- a/defaults.make +++ b/defaults.make @@ -408,12 +408,21 @@ endif $(call echo, >>, $@,#ifndef C_TARGET_RC_COMPILER) $(call echo, >>, $@,# define C_TARGET_RC_COMPILER "$(TARGET_RC_COMPILER)") $(call echo, >>, $@,#endif) + $(call echo, >>, $@,#ifndef C_TARGET_INSTALL_PROGRAM) + $(call echo, >>, $@,# define C_TARGET_INSTALL_PROGRAM "$(INSTALL_PROGRAM)") + $(call echo, >>, $@,#endif) $(call echo, >>, $@,#ifndef C_TARGET_CFLAGS) $(call echo, >>, $@,# define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)") $(call echo, >>, $@,#endif) $(call echo, >>, $@,#ifndef C_TARGET_LDFLAGS) $(call echo, >>, $@,# define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)") $(call echo, >>, $@,#endif) + $(call echo, >>, $@,#ifndef C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS) + $(call echo, >>, $@,# define C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS "$(INSTALL_PROGRAM_EXECUTABLE_OPTIONS)") + $(call echo, >>, $@,#endif) + $(call echo, >>, $@,#ifndef C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS) + $(call echo, >>, $@,# define C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS "$(INSTALL_PROGRAM_FILE_OPTIONS)") + $(call echo, >>, $@,#endif) $(call echo, >>, $@,#ifndef C_TARGET_FEATURES) $(call echo, >>, $@,# define C_TARGET_FEATURES "$(TARGET_FEATURES)") $(call echo, >>, $@,#endif) diff --git a/egg-compile.scm b/egg-compile.scm index 9c1b9f82..52b4bded 100644 --- a/egg-compile.scm +++ b/egg-compile.scm @@ -77,14 +77,12 @@ ((windows) "mkdir"))) (define (install-executable-command platform) - (case platform - ((unix) "install -m755") - ((windows) "copy /y"))) + (string-append default-install-program " " + default-install-program-executable-flags)) (define (install-file-command platform) - (case platform - ((unix) "install -m644") - ((windows) "copy /y"))) + (string-append default-install-program " " + default-install-program-data-flags)) (define (remove-file-command platform) (case platform diff --git a/egg-environment.scm b/egg-environment.scm index f27ea097..00de063a 100644 --- a/egg-environment.scm +++ b/egg-environment.scm @@ -46,8 +46,11 @@ EOF (define default-cc (foreign-value "C_TARGET_CC" c-string)) (define default-cxx (foreign-value "C_TARGET_CXX" c-string)) +(define default-install-program (foreign-value "C_TARGET_INSTALL_PROGRAM" c-string)) (define default-cflags (foreign-value "C_TARGET_CFLAGS" c-string)) (define default-ldflags (foreign-value "C_TARGET_LDFLAGS" c-string)) +(define default-install-program-executable-flags (foreign-value "C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS" c-string)) +(define default-install-program-data-flags (foreign-value "C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS" c-string)) (define default-libs (foreign-value "C_TARGET_MORE_LIBS" c-string)) (define default-libdir (foreign-value "C_TARGET_LIB_HOME" c-string)) (define default-runlibdir (foreign-value "C_TARGET_RUN_LIB_HOME" c-string))Trap