diff --git a/src/CHANGELOG b/src/CHANGELOG index a796cf79c..d9ace3412 100755 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -145,6 +145,8 @@ ECL 10.5.1: - --enable-rpath now defaults to YES. + - ECL now ships a Windows icon which is added to the executable at build time. + ;;; Local Variables: *** ;;; mode:text *** ;;; fill-column:79 *** diff --git a/src/compile.lsp.in b/src/compile.lsp.in index 6f98a40ea..52885cd4e 100755 --- a/src/compile.lsp.in +++ b/src/compile.lsp.in @@ -132,6 +132,9 @@ ;;; (mapc #'proclaim +ecl-optimization-settings+) +#+windows +(setq *features* (cons :wants-bytecmp (cons :builtin-bytecmp *features*))) + #-mingw32 (si::pathname-translations "SYS" '(("**;*.*.*" "@ecldir\@/**/*.*"))) @@ -312,12 +315,22 @@ (setq si::*init-function-prefix* NIL) +#+windows +(progn + (with-open-file (s "ecl.rc" + :direction :output + :if-exists :supersede + :if-does-not-exist :create) + (write-line "id ICON \"ecl.ico\"" s)) + (ext:copy-file #p"src:util;ecl.ico" "ecl.ico") + (ext:run-program "windres" '("ecl.rc" "-O" "coff" "ecl.res"))) + (compiler::build-program #+:msvc "ecl2" #+(and (or cross stage1) (not msvc)) "bin/ecl" #-(or cross stage1 msvc) "ecl2" :lisp-files *module-symbols* - :ld-flags '(#-msvc "-L./")) + :ld-flags '(#-msvc "-L./" #+windows "ecl.res")) (with-open-file (modules-list #P"build:MODULES" :direction :output) (dolist (module-file *module-files*) diff --git a/src/util/ecl.ico b/src/util/ecl.ico new file mode 100644 index 000000000..090d42ddf Binary files /dev/null and b/src/util/ecl.ico differ diff --git a/src/util/ecl.svg b/src/util/ecl.svg new file mode 100644 index 000000000..e49ea8f61 --- /dev/null +++ b/src/util/ecl.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + λ + +