Commit Graph

4 Commits

Author SHA1 Message Date
6ee6d8c13a fix(shared-libs): correctly resolve libwebp libraries
This is a near complete rewrite of the shared library embedder/bundler
code. It now correctly resolves shared libraries that link to other
shared library files in the same package via use of `@path`, which the
libwebp package does extensively between `libwebpdemux.2.dylib`,
`libwebp.7.dylib` and `libsharpyuv.0.dylib`.

These relative shared library links were not understood at all by the
old library bundler code.

The new replacement here fully understands and resolves all
`@<something>` placeholders in links to shared libraries. It operates in
a two-step process where it first walks down the three of all shared
libraries that Emacs links to, and all that they link to, etc. building
a copy and relink plan.

In a second step it then executes the copy plan, followed by the
relinking plan.

The result is a fully self-contained Emacs.app binary, which has no
dependencies on Homebrew or anything installed via Homebrew. Builds have
been tested on a fresh install of macOS Sonoma VM, with nothing but
Xcode Command Line Tools installed. Everything from native compilation
to webp, svg, png rendering, and more worked as expected.
2023-11-16 12:58:31 +00:00
b2860f22c3 chore(deps): add rubocop-daemon and solargraph to Gemfile 2021-01-15 02:00:46 +00:00
7986e89623 Enable building Emacs 27
Also embed various dylib libraries directly into the application, so
they're not required to be installed via Homebrew for the app to work.
2020-02-03 00:05:46 +00:00
903081bbbe Add Gemfile as 'json' is not in Ruby's stdlib pre-1.9 2012-04-12 10:25:29 +01:00