mirror of
https://github.com/jimeh/build-emacs-for-macos.git
synced 2026-02-19 13:06:38 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
228ae0939c
|
|||
|
ac943c430c
|
|||
|
bc3923c9ca
|
|||
|
e6b1e5a554
|
|||
|
94625fce38
|
|||
|
b03343f506
|
21
CHANGELOG.md
21
CHANGELOG.md
@@ -2,6 +2,27 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
### [0.6.13](https://github.com/jimeh/build-emacs-for-macos/compare/v0.6.12...v0.6.13) (2021-08-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **native_comp:** add option to enable/disable relinking *.eln files ([ac943c4](https://github.com/jimeh/build-emacs-for-macos/commit/ac943c430c58e0761ac44e8d25d4d55a461d01a2))
|
||||
|
||||
### [0.6.12](https://github.com/jimeh/build-emacs-for-macos/compare/v0.6.11...v0.6.12) (2021-08-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **sign:** resolve signing issue caused by re-linking shared lib in *.eln files ([e6b1e5a](https://github.com/jimeh/build-emacs-for-macos/commit/e6b1e5a554fd0f776bd01c17cfb1ebbbdf7a7831))
|
||||
|
||||
### [0.6.11](https://github.com/jimeh/build-emacs-for-macos/compare/v0.6.10...v0.6.11) (2021-07-17)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **native-comp:** fix re-linking and signing issue with *.eln files ([b03343f](https://github.com/jimeh/build-emacs-for-macos/commit/b03343f506aa3ceabdfa03f8a2916b2db4873f3f))
|
||||
|
||||
### [0.6.10](https://github.com/jimeh/build-emacs-for-macos/compare/v0.6.9...v0.6.10) (2021-07-16)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
@@ -294,6 +305,8 @@ class Build
|
||||
"-L#{gcc_info.libgccjit_lib_dir}",
|
||||
"-I#{File.join(gcc_info.root_dir, 'include')}",
|
||||
"-I#{File.join(gcc_info.libgccjit_root_dir, 'include')}",
|
||||
# Ensure library re-linking and code signing will work after building.
|
||||
'-Wl,-headerpad_max_install_names',
|
||||
ENV['LDFLAGS']
|
||||
].compact.join(' ')
|
||||
|
||||
@@ -745,7 +758,7 @@ class AbstractEmbedder
|
||||
end
|
||||
|
||||
def lib_dir
|
||||
File.join(app, 'Contents', 'Frameworks')
|
||||
File.join(invocation_dir, 'lib')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -753,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
|
||||
@@ -775,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
|
||||
@@ -1084,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|
|
||||
|
||||
Reference in New Issue
Block a user