On macOS, also compile Objective-C .m files. There's only one, in the bundled copy of physfs, and without it, love will fail to launch: dyld[12345]: symbol not found in flat namespace (___PHYSFS_platformCalcBaseDir) https://github.com/love2d/love/issues/2063 --- platform/unix/configure.ac.orig 2023-12-03 06:44:36.000000000 -0600 +++ platform/unix/configure.ac 2024-05-07 23:13:50.000000000 -0500 @@ -12,6 +12,7 @@ AC_PROG_CXX AC_PROG_SED AC_PROG_MKDIR_P +AC_PROG_OBJC AC_PROG_OBJCXX PKG_PROG_PKG_CONFIG AC_C_BIGENDIAN --- platform/unix/genmodules.orig 2023-12-03 06:44:36.000000000 -0600 +++ platform/unix/genmodules 2024-05-06 23:30:34.000000000 -0500 @@ -9,9 +9,12 @@ echo "$@" | tr '[:lower:]' '[:upper:]' } +os_name=$(uname -s) sourcefind() { - find "$1" $2 -type f \( -iname "*.c" -o -iname "*.cpp" -o -iname "*.h" -o -iname "*.hpp" -o -iname "*.lch" -o -iname "*.lua" \) | awk "{print \"./$prefix\"\$0\" \\\\\"}" | grep -v -f"$LOVEROOT/platform/unix/exclude" | sort + types=(-iname "*.c" -o -iname "*.cpp" -o -iname "*.h" -o -iname "*.hpp" -o -iname "*.lch" -o -iname "*.lua") + [ "$os_name" = "Darwin" ] && types+=(-o -iname "*.m") + find "$1" $2 -type f \( "${types[@]}" \) | awk "{print \"./$prefix\"\$0\" \\\\\"}" | grep -v -f"$LOVEROOT/platform/unix/exclude" | sort } handlemodule()