Skip to content

Please include all the linked libraries in the build in the Frameworks directory #28

@d3vi1

Description

@d3vi1

Hi,

I've written a small shell script that will correct the linked libraries in order for them to be included in PCem.app/Content/Frameworks and the application to run completely independently of homebrew dependencies. You also need to include libtiff.dylib, libjpeg.dylib, libpng.dylib, as they are referenced by WX. I've also excluded the private copies of libSystem and libc++.

If you build PCem with an older macOS SDK, it should work with older releases as well. Should time permit it, I'll do my best to make a direct XCode build of it that solves everything, but I am having some doubts.

The script can be found below.

Thanks,
R.

mkdir ../Frameworks
mv libwx_baseu-3.0.dylib ../Frameworks/libwx_baseu.dylib
mv libwx_baseu_net-3.0.dylib ../Frameworks/libwx_baseu_net.dylib
mv libwx_baseu_xml-3.0.dylib ../Frameworks/libwx_baseu_xml.dylib
mv libwx_osx_cocoau_html-3.0.dylib ../Frameworks/libwx_osx_cocoau_html
mv libwx_osx_cocoau_qa-3.0.dylib ../Frameworks/libwx_osx_cocoau_qa.dylib
mv libwx_osx_cocoau_xrc-3.0.dylib ../Frameworks/libwx_osx_cocoau_xrc.dylib
mv libwx_osx_cocoau_adv-3.0.dylib ../Frameworks/libwx_osx_cocoau_adv.dylib
mv libwx_osx_cocoau_core-3.0.dylib ../Frameworks/libwx_osx_cocoau_core.dylib
mv libSDL2-2.0.0.dylib ../Frameworks/libSDL2.dylib
mv /usr/local/opt/jpeg/lib/libjpeg.9.dylib ../Frameworks/libjpeg.dylib
mv /usr/local/opt/libpng/lib/libpng16.16.dylib ../Frameworks/libpng.dylib
mv /usr/local/opt/libtiff/lib/libtiff.5.dylib ../Frameworks/libtiff.dylib

install_name_tool -change "@executable_path/libSystem.b.dylib" "/usr/lib/libSystem.B.dylib" pcem
install_name_tool -change "@executable_path/libc++.1.dylib" "/usr/lib/libc++.1.dylib" pcem
install_name_tool -change "@executable_path/libwx_osx_cocoau_xrc-3.0.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_xrc.dylib" pcem
install_name_tool -change "@executable_path/libwx_osx_cocoau_qa-3.0.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_qa.dylib" pcem
install_name_tool -change "@executable_path/libwx_osx_cocoau_adv-3.0.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_adv.dylib" pcem
install_name_tool -change "@executable_path/libwx_osx_cocoau_core-3.0.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_core.dylib" pcem
install_name_tool -change "@executable_path/libwx_osx_cocoau_html-3.0.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_html.dylib" pcem
install_name_tool -change "@executable_path/libwx_baseu_xml-3.0.dylib" "@loader_path/../Frameworks/libwx_baseu_xml.dylib" pcem
install_name_tool -change "@executable_path/libwx_baseu_net-3.0.dylib" "@loader_path/../Frameworks/libwx_baseu_net.dylib" pcem
install_name_tool -change "@executable_path/libwx_baseu-3.0.dylib" "@loader_path/../Frameworks/libwx_baseu.dylib" pcem
install_name_tool -change "@executable_path/libSDL2-2.0.0.dylib" "@loader_path/../Frameworks/libSDL2.dylib" pcem

cd ../Frameworks
install_name_tool -id libwx_osx_cocoau_html.dylib libwx_osx_cocoau_html.dylib
install_name_tool -id "libwx_osx_cocoau_html.dylib" libwx_osx_cocoau_html.dylib
install_name_tool -change "/usr/local/opt/libpng/lib/libpng16.16.dylib" "@loader_path/../Frameworks/libpng.dylib" libwx_osx_cocoau_html.dylib
install_name_tool -change "/usr/local/opt/jpeg/lib/libjpeg.9.dylib" "@loader_path/../Frameworks/libjpeg.dylib" libwx_osx_cocoau_html.dylib
install_name_tool -change "/usr/local/opt/libtiff/lib/libtiff.5.dylib" "@loader_path/../Frameworks/libtiff.dylib" libwx_osx_cocoau_html.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_osx_cocoau_core-3.0.0.5.0.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_core.dylib" libwx_osx_cocoau_html.dylib
install_name_tool -change  "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_baseu-3.0.0.5.0.dylib" "@loader_path/../Frameworks/libwx_baseu.dylib" libwx_osx_cocoau_html.dylib

install_name_tool -id libwx_osx_cocoau_xrc.dylib libwx_osx_cocoau_xrc.dylib
install_name_tool -change "/usr/local/opt/libpng/lib/libpng16.16.dylib" "@loader_path/../Frameworks/libpng.dylib" libwx_osx_cocoau_xrc.dylib
install_name_tool -change "/usr/local/opt/jpeg/lib/libjpeg.9.dylib" "@loader_path/../Frameworks/libjpeg.dylib" libwx_osx_cocoau_xrc.dylib
install_name_tool -change "/usr/local/opt/libtiff/lib/libtiff.5.dylib" "@loader_path/../Frameworks/libtiff.dylib" libwx_osx_cocoau_xrc.dylib
install_name_tool -change "@loader_path/../libwx_osx_cocoau_html.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_html.dylib" libwx_osx_cocoau_xrc.dylib
install_name_tool -change "@loader_path/../libwx_osx_cocoau_adv.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_adv.dylib" libwx_osx_cocoau_xrc.dylib
install_name_tool -change "@loader_path/../libwx_osx_cocoau_core.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_core.dylib" libwx_osx_cocoau_xrc.dylib
install_name_tool -change "@loader_path/../libwx_baseu_xml.dylib" "@loader_path/../Frameworks/libwx_baseu_xml.dylib" libwx_osx_cocoau_xrc.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_baseu-3.0.0.5.0.dylib"  "@loader_path/../Frameworks/libwx_baseu.dylib" libwx_osx_cocoau_xrc.dylib

install_name_tool -id libwx_osx_cocoau_qa.dylib libwx_osx_cocoau_qa.dylib
install_name_tool -change "/usr/local/opt/wxmac/lib/libwx_osx_cocoau_qa-3.0.dylib"  "@loader_path/../Frameworks/libwx_osx_cocoau_qa.dylib" libwx_osx_cocoau_qa.dylib
install_name_tool -change "/usr/local/opt/libpng/lib/libpng16.16.dylib"  "@loader_path/../Frameworks/libpng.dylib" libwx_osx_cocoau_qa.dylib
install_name_tool -change "/usr/local/opt/jpeg/lib/libjpeg.9.dylib"  "@loader_path/../Frameworks/libjpeg.dylib" libwx_osx_cocoau_qa.dylib
install_name_tool -change "/usr/local/opt/libtiff/lib/libtiff.5.dylib"  "@loader_path/../Frameworks/libtiff.dylib" libwx_osx_cocoau_qa.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_osx_cocoau_core-3.0.0.5.0.dylib"  "@loader_path/../Frameworks/libwx_osx_cocoau_core.dylib" libwx_osx_cocoau_qa.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_baseu-3.0.0.5.0.dylib"  "@loader_path/../Frameworks/libwx_baseu.dylib" libwx_osx_cocoau_qa.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_baseu_xml-3.0.0.5.0.dylib"  "@loader_path/../Frameworks/libwx_baseu_xml.dylib" libwx_osx_cocoau_qa.dylib

install_name_tool -id libwx_osx_cocoau_core.dylib libwx_osx_cocoau_core.dylib
install_name_tool -change "/usr/local/opt/libpng/lib/libpng16.16.dylib" "@loader_path/../Frameworks/libpng.dylib" libwx_osx_cocoau_core.dylib
install_name_tool -change "/usr/local/opt/jpeg/lib/libjpeg.9.dylib" "@loader_path/../Frameworks/libjpeg.dylib" libwx_osx_cocoau_core.dylib
install_name_tool -change "/usr/local/opt/libtiff/lib/libtiff.5.dylib" "@loader_path/../Frameworks/libtiff.dylib" libwx_osx_cocoau_core.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_baseu-3.0.0.5.0.dylib" "@loader_path/../Frameworks/libwx_baseu.dylib" libwx_osx_cocoau_core.dylib

install_name_tool -id libwx_osx_cocoau_adv.dylib libwx_osx_cocoau_adv.dylib
install_name_tool -change "/usr/local/opt/libpng/lib/libpng16.16.dylib" "@loader_path/../Frameworks/libpng.dylib" libwx_osx_cocoau_adv.dylib
install_name_tool -change "/usr/local/opt/jpeg/lib/libjpeg.9.dylib" "@loader_path/../Frameworks/libjpeg.dylib" libwx_osx_cocoau_adv.dylib
install_name_tool -change "/usr/local/opt/libtiff/lib/libtiff.5.dylib" "@loader_path/../Frameworks/libtiff.dylib" libwx_osx_cocoau_adv.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_osx_cocoau_core-3.0.0.5.0.dylib" "@loader_path/../Frameworks/libwx_osx_cocoau_core.dylib" libwx_osx_cocoau_adv.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_baseu-3.0.0.5.0.dylib" "@loader_path/../Frameworks/libwx_baseu.dylib" libwx_osx_cocoau_adv.dylib

install_name_tool -id libwx_baseu.dylib libwx_baseu.dylib

install_name_tool -id libwx_baseu_net.dylib libwx_baseu_net.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_baseu-3.0.0.5.0.dylib" "@loader_path/../Frameworks/libwx_baseu.dylib" libwx_baseu_net.dylib

install_name_tool -id libwx_baseu_xml.dylib libwx_baseu_xml.dylib
install_name_tool -change "/usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_baseu-3.0.0.5.0.dylib" "@loader_path/../Frameworks/libwx_baseu.dylib" libwx_baseu_xml.dylib

install_name_tool -change "/usr/local/opt/jpeg/lib/libjpeg.9.dylib" "@loader_path/../Frameworks/libjpeg.dylib" libtiff.dylib
install_name_tool -id libSDL2.dylib libSDL2.dylib
install_name_tool -id libtiff.dylib libtiff.dylib
install_name_tool -id libpng.dylib libpng.dylib
install_name_tool -id libjpeg.dylib libjpeg.dylib

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions