OSXMkLibs: skip @loader_path
This may or may not make the OSX build work on a newer version of OSX than the one that's currently being used for release builds. I have not been able to find good docs about how exactly to get back from such a value to the actual path to the library that the linker would use.
This commit is contained in:
parent
5ae0e07ad0
commit
72ec7da41b
2 changed files with 7 additions and 6 deletions
|
@ -34,10 +34,7 @@ type LibMap = M.Map FilePath String
|
||||||
|
|
||||||
mklibs :: FilePath -> M.Map FilePath FilePath -> IO Bool
|
mklibs :: FilePath -> M.Map FilePath FilePath -> IO Bool
|
||||||
mklibs appbase installedbins = do
|
mklibs appbase installedbins = do
|
||||||
usl <- getEnv "USE_SYSTEM_LIBS"
|
mklibs' appbase installedbins [] [] M.empty
|
||||||
case usl of
|
|
||||||
Nothing -> mklibs' appbase installedbins [] [] M.empty
|
|
||||||
Just _ -> hPutStrLn stderr "dmg will use system libraries (USE_SYSTEM_LIBS)"
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
{- Recursively find and install libs, until nothing new to install is found. -}
|
{- Recursively find and install libs, until nothing new to install is found. -}
|
||||||
|
@ -92,7 +89,12 @@ otool appbase installedbins replacement_libs libmap = do
|
||||||
files <- filterM doesFileExist =<< dirContentsRecursive appbase
|
files <- filterM doesFileExist =<< dirContentsRecursive appbase
|
||||||
process [] files replacement_libs libmap
|
process [] files replacement_libs libmap
|
||||||
where
|
where
|
||||||
want s = not ("@executable_path" `isInfixOf` s)
|
want s =
|
||||||
|
-- This seems to be about finding libraries next
|
||||||
|
-- to executables or something. May need further resolving
|
||||||
|
-- to find real path to library, but for now, skip it.
|
||||||
|
not ("@executable_path" `isInfixOf` s)
|
||||||
|
&& not ("@loader_path" `isInfixOf` s)
|
||||||
-- OSX framekworks such as Cocoa are too tightly tied to
|
-- OSX framekworks such as Cocoa are too tightly tied to
|
||||||
-- a specific OSX version, so don't bundle.
|
-- a specific OSX version, so don't bundle.
|
||||||
&& not (".framework" `isInfixOf` s)
|
&& not (".framework" `isInfixOf` s)
|
||||||
|
|
1
Makefile
1
Makefile
|
@ -205,7 +205,6 @@ dpkg-buildpackage%: prep-standalone
|
||||||
umask 022; dpkg-buildpackage -rfakeroot $*
|
umask 022; dpkg-buildpackage -rfakeroot $*
|
||||||
$(MAKE) undo-standalone
|
$(MAKE) undo-standalone
|
||||||
|
|
||||||
# Run this with USE_SYSTEM_LIBS=1 to build without bundling system libraries.
|
|
||||||
OSXAPP_DEST=tmp/build-dmg/git-annex.app
|
OSXAPP_DEST=tmp/build-dmg/git-annex.app
|
||||||
OSXAPP_TOP=$(OSXAPP_DEST)/Contents/MacOS/bundle
|
OSXAPP_TOP=$(OSXAPP_DEST)/Contents/MacOS/bundle
|
||||||
osxapp:
|
osxapp:
|
||||||
|
|
Loading…
Reference in a new issue