From 465092bad5578a1c624fc8721dd646b451fe7646 Mon Sep 17 00:00:00 2001 From: felix Date: Tue, 16 Oct 2018 13:34:42 +0200 Subject: [PATCH] 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 --- defaults.make | 9 +++++++++ egg-compile.scm | 10 ++++------ egg-environment.scm | 3 +++ 3 files changed, 16 insertions(+), 6 deletions(-) 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)) -- 2.11.0