diff --git a/scripts/releases/ios-prebuild/compose-framework.js b/scripts/releases/ios-prebuild/compose-framework.js index 6fb050de1c5dca..d78f14ccdd795d 100644 --- a/scripts/releases/ios-prebuild/compose-framework.js +++ b/scripts/releases/ios-prebuild/compose-framework.js @@ -113,6 +113,7 @@ function copyBundles( targetArchFolder, `${scheme}.framework`, 'Resources', + bundleName, ); if ( !fs.existsSync(path.join(targetArchFolder, `${scheme}.framework`)) @@ -123,7 +124,8 @@ function copyBundles( console.warn("Source bundle doesn't exist", sourceBundlePath); } // A bundle is a directory, so we need to copy the whole directory - execSync(`cp -r ${sourceBundlePath} ${targetBundlePath}`); + execSync(`mkdir -p "${targetBundlePath}"`); + execSync(`cp -r "${sourceBundlePath}/" "${targetBundlePath}"`); }); } else { console.warn(`Bundle ${sourceBundlePath} not found`); diff --git a/scripts/releases/ios-prebuild/configuration.js b/scripts/releases/ios-prebuild/configuration.js index 805d5d1e6dd48a..3cd64cfe80e78e 100644 --- a/scripts/releases/ios-prebuild/configuration.js +++ b/scripts/releases/ios-prebuild/configuration.js @@ -48,13 +48,14 @@ const dependencies /*: $ReadOnlyArray */ = [ 'src/vlog_is_on.cc', ], headers: ['src/glog/*.h'], - // resources: ['../third-party-podspecs/glog/PrivacyInfo.xcprivacy'], + resources: ['../third-party-podspecs/glog/PrivacyInfo.xcprivacy'], headerSkipFolderNames: 'src', }, settings: { publicHeaderFiles: './headers', headerSearchPaths: ['src'], - compilerFlags: ['-Wno-shorten-64-to-32', '-Wno-everything'], + cCompilerFlags: ['-Wno-shorten-64-to-32'], + cxxCompilerFlags: ['-Wno-shorten-64-to-32', `-std=${CPP_STANDARD}`], defines: [ {name: 'DEFINES_MODULE', value: 'YES'}, {name: 'USE_HEADERMAP', value: 'NO'}, @@ -76,7 +77,6 @@ const dependencies /*: $ReadOnlyArray */ = [ settings: { publicHeaderFiles: './headers', headerSearchPaths: ['src'], - compilerFlags: ['-Wno-everything'], }, }, { @@ -94,7 +94,7 @@ const dependencies /*: $ReadOnlyArray */ = [ publicHeaderFiles: './include', headerSearchPaths: ['include'], linkedLibraries: ['c++'], - compilerFlags: ['-Wno-everything', `-std=${CPP_STANDARD}`], + cxxCompilerFlags: [`-std=${CPP_STANDARD}`], }, }, { @@ -107,12 +107,13 @@ const dependencies /*: $ReadOnlyArray */ = [ files: { sources: ['boost/**/*.hpp', 'dummy.cc'], headers: ['boost/**/*.hpp'], - // resources: ['../third-party-podspecs/boost/PrivacyInfo.xcprivacy'], + resources: ['../third-party-podspecs/boost/PrivacyInfo.xcprivacy'], }, settings: { publicHeaderFiles: './', headerSearchPaths: ['./'], - compilerFlags: ['-Wno-everything', '-Wno-documentation'], + cCompilerFlags: ['-Wno-documentation'], + cxxCompilerFlags: ['-Wno-documentation', `-std=${CPP_STANDARD}`], }, }, { @@ -130,7 +131,7 @@ const dependencies /*: $ReadOnlyArray */ = [ settings: { publicHeaderFiles: './include', headerSearchPaths: ['include'], - compilerFlags: ['-Wno-everything', `-std=${CPP_STANDARD}`], + cxxCompilerFlags: [`-std=${CPP_STANDARD}`], linkedLibraries: ['c++'], }, }, @@ -158,7 +159,6 @@ const dependencies /*: $ReadOnlyArray */ = [ 'SocketRocket/Internal/Security', 'SocketRocket/Internal/Utilities', ], - compilerFlags: ['-Wno-everything'], }, }, { @@ -245,8 +245,7 @@ const dependencies /*: $ReadOnlyArray */ = [ 'folly/portability/*.h', 'folly/system/*.h', ], - // TODO: When including this we get "failed to scan dependencies" error - // resources: ['../third-party-podspecs/RCT-Folly/PrivacyInfo.xcprivacy'], + resources: ['../third-party-podspecs/RCT-Folly/PrivacyInfo.xcprivacy'], }, dependencies: [ 'glog', @@ -259,12 +258,12 @@ const dependencies /*: $ReadOnlyArray */ = [ settings: { publicHeaderFiles: './', headerSearchPaths: ['./'], - compilerFlags: [ - '-Wno-everything', - `-std=${CPP_STANDARD}`, + cCompilerFlags: ['-faligned-new', '-Wno-shorten-64-to-32', '-Wno-comma'], + cxxCompilerFlags: [ '-faligned-new', '-Wno-shorten-64-to-32', '-Wno-comma', + `-std=${CPP_STANDARD}`, ], defines: [ {name: 'USE_HEADERMAP', value: 'NO'}, diff --git a/scripts/releases/ios-prebuild/swift-package.js b/scripts/releases/ios-prebuild/swift-package.js index 725b4315618524..7c3cd3d20fb926 100644 --- a/scripts/releases/ios-prebuild/swift-package.js +++ b/scripts/releases/ios-prebuild/swift-package.js @@ -68,9 +68,15 @@ ${dependencies.map(d => createSwiftTarget(d)).join('')} */ function createSwiftTarget(dependency /* :Dependency */) { // Setup unsafe flags - let unsafeCAndCxxSettings = ''; - if (dependency.settings.compilerFlags != null) { - unsafeCAndCxxSettings = `.unsafeFlags([${dependency.settings.compilerFlags.map(flag => `"${flag}"`).join(', ')}]),`; + let unsafeCSettings = ''; + if (dependency.settings.cCompilerFlags != null) { + unsafeCSettings = `.unsafeFlags([${dependency.settings.cCompilerFlags.map(flag => `"${flag}"`).join(', ')}]),`; + } + + // Add c++ version to c++ settings if provided + let unsafeCxxSettings = ''; + if (dependency.settings.cxxCompilerFlags != null) { + unsafeCxxSettings = `.unsafeFlags([${dependency.settings.cxxCompilerFlags.map(flag => `"${flag}"`).join(', ')}]),`; } // Setup defines @@ -120,12 +126,12 @@ function createSwiftTarget(dependency /* :Dependency */) { publicHeadersPath: "${dependency.settings.publicHeaderFiles}", cSettings: [ ${headerSearchPaths} - ${unsafeCAndCxxSettings} + ${unsafeCSettings} ${defines} ], cxxSettings: [ ${headerSearchPaths} - ${unsafeCAndCxxSettings} + ${unsafeCxxSettings} ${defines} ], linkerSettings: [ diff --git a/scripts/releases/ios-prebuild/types.js b/scripts/releases/ios-prebuild/types.js index 2d842afca77a72..4a805b79cf4a27 100644 --- a/scripts/releases/ios-prebuild/types.js +++ b/scripts/releases/ios-prebuild/types.js @@ -31,7 +31,8 @@ export type Define = $ReadOnly<{ export type Settings = $ReadOnly<{ headerSearchPaths?: $ReadOnlyArray, defines?: $ReadOnlyArray, - compilerFlags?: $ReadOnlyArray, + cCompilerFlags?: $ReadOnlyArray, + cxxCompilerFlags?: $ReadOnlyArray, linkedLibraries?: $ReadOnlyArray, publicHeaderFiles: string, linkerSettings?: $ReadOnlyArray