summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNew Tobin Paradigm <email@mattatobin.com>2020-03-13 13:29:51 -0400
committerGitHub <noreply@github.com>2020-03-13 13:29:51 -0400
commit7bd3fbe08536e747ac8a17de8b8a3e67e12a0736 (patch)
tree9b6ec96e54958f9e15bfdf290211bed135075c2d
parentbad6974a7abe7a9a9e6d891d2f5dac50b3da90c8 (diff)
parent9738485042750885fab2b4b6eb999c11f96bed31 (diff)
downloadpalemoon-7bd3fbe08536e747ac8a17de8b8a3e67e12a0736.tar.gz
Merge pull request #1739 from dbsoft/CatalinaBuildFixes
Copy dylibs to the application bundle instead of symlinks.
-rw-r--r--palemoon/app/Makefile.in3
-rw-r--r--palemoon/app/macbuild/Contents/MacOS-files-copy.in11
-rw-r--r--palemoon/app/macbuild/Contents/MacOS-files.in1
3 files changed, 14 insertions, 1 deletions
diff --git a/palemoon/app/Makefile.in b/palemoon/app/Makefile.in
index d008010ec..34efe931e 100644
--- a/palemoon/app/Makefile.in
+++ b/palemoon/app/Makefile.in
@@ -88,6 +88,9 @@ tools repackage:: $(PROGRAM)
sed -e 's/%MAC_APP_NAME%/$(MAC_APP_NAME)/' $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > '$(dist_dest)/Contents/Resources/$(AB).lproj/InfoPlist.strings'
rsync -a --exclude-from='$(srcdir)/macbuild/Contents/MacOS-files.in' $(DIST)/bin/ '$(dist_dest)/Contents/Resources'
rsync -a --include-from='$(srcdir)/macbuild/Contents/MacOS-files.in' --exclude '*' $(DIST)/bin/ '$(dist_dest)/Contents/MacOS'
+ # MacOS-files-copy.in is a list of files that should be copies rather
+ # than symlinks and placed in .app/Contents/MacOS.
+ rsync -aL --include-from='$(srcdir)/macbuild/Contents/MacOS-files-copy.in' --exclude '*' $(DIST)/bin/ '$(dist_dest)/Contents/MacOS'
$(RM) '$(dist_dest)/Contents/MacOS/$(PROGRAM)'
rsync -aL $(PROGRAM) '$(dist_dest)/Contents/MacOS'
cp -RL $(DIST)/branding/firefox.icns '$(dist_dest)/Contents/Resources/firefox.icns'
diff --git a/palemoon/app/macbuild/Contents/MacOS-files-copy.in b/palemoon/app/macbuild/Contents/MacOS-files-copy.in
new file mode 100644
index 000000000..628fea3fa
--- /dev/null
+++ b/palemoon/app/macbuild/Contents/MacOS-files-copy.in
@@ -0,0 +1,11 @@
+# Specifies files that should be copied (via deep copy, resolving symlinks)
+# from dist/bin to the .app/Contents/MacOS directory. Linking is preferred to
+# reduce disk I/O during builds, so just include dylibs which need to be in the
+# same directory as returned by dladdr(3).
+#
+# Some of these dylibs load other dylibs which are assumed to be siblings in
+# the same directory obtained from dladdr(3). With macOS 10.15, dladdr returns
+# absolute resolved paths which breaks this assumption if symlinks are used
+# because the symlink targets are in different directories. Hence the need for
+# them to be copied to the same directory.
+/*.dylib
diff --git a/palemoon/app/macbuild/Contents/MacOS-files.in b/palemoon/app/macbuild/Contents/MacOS-files.in
index 561366def..6f5289502 100644
--- a/palemoon/app/macbuild/Contents/MacOS-files.in
+++ b/palemoon/app/macbuild/Contents/MacOS-files.in
@@ -1,5 +1,4 @@
/*.app/***
-/*.dylib
/certutil
/firefox-bin
/gtest/***