diff --git a/build-emacs-for-macos b/build-emacs-for-macos index f9dac95..e72fc61 100755 --- a/build-emacs-for-macos +++ b/build-emacs-for-macos @@ -107,7 +107,7 @@ class Build handle_native_lisp(app) add_cli_helper(app) - LibEmbedder.new(app, brew_dir, extra_libs).embed + LibEmbedder.new(app, brew_dir, extra_libs, optsion[:relink_eln]).embed GccLibEmbedder.new(app, gcc_info).embed if options[:native_comp] archive_build(build_dir) if options[:archive] @@ -157,11 +157,22 @@ class Build end def extra_libs - @extra_libs ||= [ + return @extra_libs if @extra_libs + + libs = [ File.join(brew_dir, 'opt/expat/lib/libexpat.1.dylib'), File.join(brew_dir, 'opt/libiconv/lib/libiconv.2.dylib'), File.join(brew_dir, 'opt/zlib/lib/libz.1.dylib') ] + + if options[:native_comp] + libgcc_s = File.join( + brew_dir, 'lib', 'gcc', gcc_info.major_version, 'libgcc_s.1.dylib' + ) + libs << libgcc_s if File.exist?(libgcc_s) + end + + @extra_libs = libs end def download_tarball(sha) @@ -755,7 +766,7 @@ class LibEmbedder < AbstractEmbedder attr_reader :lib_source attr_reader :extra_libs - def initialize(app, lib_source, extra_libs = []) + def initialize(app, lib_source, extra_libs = [], embed_eln_files = true) super(app) @lib_source = lib_source @@ -777,7 +788,7 @@ class LibEmbedder < AbstractEmbedder rel_path = Pathname.new(lib_dir).relative_path_from( Pathname.new(File.dirname(binary)) ).to_s - eln_files.each { |f| copy_libs(f, rel_path) } + eln_files.each { |f| copy_libs(f, rel_path) } if embed_eln_files end end end @@ -1086,6 +1097,12 @@ if __FILE__ == $PROGRAM_NAME cli_options[:native_full_aot] = v end + opts.on('--[no-]relink-eln-files', + 'Enable/disable re-linking shared libraries in bundled *.eln ' \ + 'files (default: enabled)') do |v| + cli_options[:relink_eln] = v + end + opts.on('--[no-]rsvg', 'Enable/disable SVG image support via librsvg ' \ '(default: enabled)') do |v|