From 9d264357df61cf57a153947d2c22e28c27cba2d5 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Fri, 4 Sep 2020 22:52:51 +0100 Subject: [PATCH] feat(native_comp): support renaming of eln-cache director to native-lisp --- build-emacs-for-macos | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/build-emacs-for-macos b/build-emacs-for-macos index da549ba..074faec 100755 --- a/build-emacs-for-macos +++ b/build-emacs-for-macos @@ -101,6 +101,7 @@ class Build end app = compile_source(@source_dir) + symlink_internals(app) LibEmbedder.new(app, brew_dir, extra_libs).embed LibGccJitEmbedder.new(app, gcc_dir).embed if options[:native_comp] @@ -329,17 +330,24 @@ class Build err 'Build failed.' unless File.exist?(emacs_app) - if options[:native_comp] - FileUtils.cd(File.join(emacs_app, 'Contents')) do - FileUtils.ln_s('Resources/lisp', 'lisp') - dir = Dir['MacOS/libexec/emacs/**/eln-cache'].first - FileUtils.ln_s(dir, 'eln-cache') - end - end - emacs_app end + def symlink_internals(app) + return unless options[:native_comp] + + info 'Creating symlinks within Emacs.app needed for native-comp' + + FileUtils.cd(File.join(app, 'Contents')) do + FileUtils.ln_s('Resources/lisp', 'lisp') unless File.exist?('lisp') + + source = Dir['MacOS/libexec/emacs/**/eln-cache', + 'MacOS/lib/emacs/**/native-lisp'].first + target = File.basename(source) + FileUtils.ln_s(source, target) unless File.exist?(target) + end + end + def archive_app(app) FileUtils.mkdir_p(builds_dir)