@@ -41,9 +41,7 @@ void main(List<String> args) async {
4141 final packageName = input.packageName;
4242 final assetPath = input.outputDirectory.resolve (assetName);
4343 final srcDir = Directory .fromUri (input.packageRoot.resolve ('src/' ));
44-
45- final arch = input.config.code.targetArchitecture;
46- final target = '${clangArchName (arch )}-apple-${os .name }' ;
44+ final target = toTargetTriple (input.config.code);
4745
4846 final cFiles = < String > [];
4947 final mFiles = < String > [];
@@ -148,5 +146,24 @@ String firstLineOfStdout(String cmd, List<String> args) {
148146 .first;
149147}
150148
151- String clangArchName (Architecture arch) =>
152- arch == Architecture .x64 ? 'x86_64' : arch.name;
149+ String toTargetTriple (CodeConfig codeConfig) {
150+ final architecture = codeConfig.targetArchitecture;
151+ if (codeConfig.targetOS == OS .iOS) {
152+ return appleClangIosTargetFlags[architecture]! [codeConfig.iOS.targetSdk]! ;
153+ }
154+ assert (codeConfig.targetOS == OS .macOS);
155+ return appleClangMacosTargetFlags[architecture]! ;
156+ }
157+
158+ const appleClangMacosTargetFlags = {
159+ Architecture .arm64: 'arm64-apple-darwin' ,
160+ Architecture .x64: 'x86_64-apple-darwin' ,
161+ };
162+
163+ const appleClangIosTargetFlags = {
164+ Architecture .arm64: {
165+ IOSSdk .iPhoneOS: 'arm64-apple-ios' ,
166+ IOSSdk .iPhoneSimulator: 'arm64-apple-ios-simulator' ,
167+ },
168+ Architecture .x64: {IOSSdk .iPhoneSimulator: 'x86_64-apple-ios-simulator' },
169+ };
0 commit comments