MacOS P2P Hashlink and Krom

This commit is contained in:
Gorochu
2026-10-20 16:37:13 -07:00
parent ee04bb87dd
commit 478a97d2ed
14 changed files with 41 additions and 8 deletions

View File

@ -16,16 +16,39 @@ project.addDefine('RTC_STATIC');
project.addDefine('MBEDTLS_ALLOW_PRIVATE_ACCESS');
project.addDefine('MBEDTLS_SSL_DTLS_SRTP');
project.addLibFor('x64', path.join(__dirname, 'lib/datachannel-static'));
project.addLibFor('x64', path.join(__dirname, 'lib/juice-static'));
project.addLibFor('x64', path.join(__dirname, 'lib/usrsctp'));
project.addLibFor('x64', path.join(__dirname, 'lib/MbedTLS'));
if (platform === Platform.Windows) {
project.addLibFor('x64', path.join(__dirname, 'lib/datachannel-static'));
project.addLibFor('x64', path.join(__dirname, 'lib/juice-static'));
project.addLibFor('x64', path.join(__dirname, 'lib/usrsctp'));
project.addLibFor('x64', path.join(__dirname, 'lib/MbedTLS'));
project.addLib('ws2_32');
project.addLib('Crypt32');
project.addLib('bcrypt');
}
else if (platform === Platform.OSX) {
// macOS links prebuilt .a (libdatachannel 0.24.6, mbedtls 3.6.4, OpenSSL backend) with 'brew install openssl@3' for the static ssl/crypto archives below
const isArm64 = arch === 'arm64' || (arch === 'default' && process.arch === 'arm64');
const libdir = path.join(__dirname, 'lib', isArm64 ? 'macos_arm64' : 'macos_x64');
project.addLinkerFlag(path.join(libdir, 'libdatachannel-static.a'));
project.addLinkerFlag(path.join(libdir, 'libjuice-static.a'));
project.addLinkerFlag(path.join(libdir, 'libusrsctp.a'));
project.addLinkerFlag(path.join(libdir, 'libsrtp2.a'));
project.addLinkerFlag(path.join(libdir, 'libMbedTLS.a'));
const odir = '/opt/homebrew/opt/openssl@3/lib';
project.addLinkerFlag(path.join(odir, 'libssl.a'));
project.addLinkerFlag(path.join(odir, 'libcrypto.a'));
}
else if (platform === Platform.Linux) {
// TODO
const libdir = path.join(__dirname, 'lib/linux_x64');
project.addLinkerFlag(path.join(libdir, 'libdatachannel-static.a'));
project.addLinkerFlag(path.join(libdir, 'libjuice-static.a'));
project.addLinkerFlag(path.join(libdir, 'libusrsctp.a'));
project.addLinkerFlag(path.join(libdir, 'libsrtp2.a'));
project.addLinkerFlag(path.join(libdir, 'libMbedTLS.a'));
project.addLinkerFlag('-lssl');
project.addLinkerFlag('-lcrypto');
}
if (parentProject) {
for (let sub of parentProject.subProjects) {