~ 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