diff --git a/NEWS b/NEWS index e08bf5bbd..9d1b3ba49 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,7 @@ DFHack Future Internals plugins will not be loaded if globals they specify as required are not located (should prevent some crashes) Fixes + Fixed numerous (mostly Lua-related) crashes on OS X by including a more up-to-date libstdc++ advfort works again devel/export-dt-ini: Updated for 0.40.20+ digfort: now checks file type and existence diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index e0ad3606b..e4de8bafc 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -306,6 +306,12 @@ IF(UNIX) DESTINATION .) install(PROGRAMS ${dfhack_SOURCE_DIR}/package/darwin/dfhack-run DESTINATION .) + OPTION(INSTALL_NEW_LIBSTDCXX "Install a version of libstdc++ from GCC 4.5.4 to fix various crashes" ON) + IF(INSTALL_NEW_LIBSTDCXX) + execute_process(COMMAND bunzip2 --keep --force ${dfhack_SOURCE_DIR}/package/darwin/libstdc++.6.dylib.bz2) + install(PROGRAMS ${dfhack_SOURCE_DIR}/package/darwin/libstdc++.6.dylib + DESTINATION ./hack/) + ENDIF(INSTALL_NEW_LIBSTDCXX) else() # On linux, copy our version of the df launch script which sets LD_PRELOAD install(PROGRAMS ${dfhack_SOURCE_DIR}/package/linux/dfhack diff --git a/package/darwin/.gitignore b/package/darwin/.gitignore new file mode 100644 index 000000000..3ffea3207 --- /dev/null +++ b/package/darwin/.gitignore @@ -0,0 +1 @@ +libstdc++.6.dylib diff --git a/package/darwin/libstdc++.6.dylib.bz2 b/package/darwin/libstdc++.6.dylib.bz2 new file mode 100644 index 000000000..6ff995c63 Binary files /dev/null and b/package/darwin/libstdc++.6.dylib.bz2 differ