[reflection] Check whether a pointer is valid before dereferencing (#19842)
[mono-project.git] / sdks / builds / ios.mk
blob0470ccb57cb0909fcca0a1b6cd83e9c14df55541
3 # Targets:
4 # - build-ios-<target>
5 # Build <target>
6 # - package-ios-<target>
7 # Install target into ../out/<target>
8 # - clean-ios-<target>
9 # Clean target
10 # Where <target> is: target32, target32s, target64, sim32, sim64, cross32, cross64
13 ios_FRAMEWORKS_DIR = $(TOP)/sdks/out/ios-frameworks
14 ios_LIBS_DIR = $(TOP)/sdks/out/ios-libs
15 ios_NETCORE_LIBS_DIR = $(TOP)/sdks/out/ios-netcore_libs
16 ios_SOURCES_DIR = $(TOP)/sdks/out/ios-sources
17 ios_TPN_DIR = $(TOP)/sdks/out/ios-tpn
18 ios_MONO_VERSION = $(TOP)/sdks/out/ios-mono-version.txt
20 ifndef DISABLE_CLASSIC
21 ios_ARCHIVE += ios-frameworks ios-libs ios-sources ios-tpn ios-mono-version.txt
22 ADDITIONAL_PACKAGE_DEPS += $(ios_FRAMEWORKS_DIR) $(ios_LIBS_DIR) $(ios_SOURCES_DIR) $(ios_TPN_DIR) $(ios_MONO_VERSION)
23 endif
25 ifdef ENABLE_NETCORE
26 ios_ARCHIVE += ios-netcore_libs
27 ADDITIONAL_PACKAGE_DEPS += $(ios_NETCORE_LIBS_DIR)
28 endif
30 ios_PLATFORM_BIN=$(XCODE_DIR)/Toolchains/XcodeDefault.xctoolchain/usr/bin
33 # Device builds
35 # Parameters
36 # $(1): target (target32/target32s/target64)
37 # $(2): host triple
38 # $(3): host arch for compiler (armv7 or arm64)
40 # Flags:
41 # ios-$(1)_AC_VARS
42 # ios-$(1)_SYSROOT
43 # ios-$(1)_CONFIGURE_FLAGS
44 # ios-$(1)_CFLAGS
45 # ios-$(1)_CPPFLAGS
46 # ios-$(1)_CXXFLAGS
47 # ios-$(1)_LDFLAGS
48 # ios-$(1)_BITCODE_MARKER
50 # This handles tvos/watchos as well.
52 define iOSDeviceTemplate
54 _ios-$(1)_CC=$$(CCACHE) $$(ios_PLATFORM_BIN)/clang
55 _ios-$(1)_CXX=$$(CCACHE) $$(ios_PLATFORM_BIN)/clang++
57 _ios-$(1)_AC_VARS= \
58 ac_cv_c_bigendian=no \
59 ac_cv_func_fstatat=no \
60 ac_cv_func_readlinkat=no \
61 ac_cv_func_getpwuid_r=no \
62 ac_cv_func_posix_getpwuid_r=yes \
63 ac_cv_header_curses_h=no \
64 ac_cv_header_localcharset_h=no \
65 ac_cv_header_sys_user_h=no \
66 ac_cv_func_getentropy=no \
67 ac_cv_func_futimens=no \
68 ac_cv_func_utimensat=no \
69 ac_cv_func_shm_open_working_with_mmap=no \
70 mono_cv_sizeof_sunpath=104 \
71 mono_cv_uscore=yes
73 _ios-$(1)_CFLAGS= \
74 $$(ios-$(1)_SYSROOT) \
75 -arch $(3) \
76 -Wl,-application_extension \
77 -fexceptions \
78 $$(ios-$(1)_BITCODE_MARKER)
80 _ios-$(1)_CXXFLAGS= \
81 $$(ios-$(1)_SYSROOT) \
82 -arch $(3) \
83 -Wl,-application_extension \
84 $$(ios-$(1)_BITCODE_MARKER)
86 _ios-$(1)_CPPFLAGS= \
87 -DMONOTOUCH=1 \
88 $$(ios-$(1)_SYSROOT) \
89 -arch $(3) \
90 -DSMALL_CONFIG -D_XOPEN_SOURCE -DHOST_IOS -DHAVE_LARGE_FILE_SUPPORT=1 \
92 _ios-$(1)_LDFLAGS= \
93 -Wl,-no_weak_imports \
94 -arch $(3) \
95 -framework CoreFoundation \
96 -lobjc -lc++
98 _ios-$(1)_CONFIGURE_FLAGS = \
99 --disable-boehm \
100 --disable-btls \
101 --disable-executables \
102 --disable-icall-tables \
103 --disable-iconv \
104 --disable-mcs-build \
105 --disable-nls \
106 --disable-visibility-hidden \
107 --enable-dtrace=no \
108 --enable-icall-export \
109 --enable-maintainer-mode \
110 --enable-minimal=ssa,com,interpreter,jit,portability,assembly_remapping,attach,verifier,full_messages,appdomains,security,sgen_remset,sgen_marksweep_par,sgen_marksweep_fixed,sgen_marksweep_fixed_par,sgen_copying,logging,remoting,shared_perfcounters,gac \
111 --enable-monotouch \
112 --with-lazy-gc-thread-creation=yes \
113 --with-tls=pthread \
114 --without-ikvm-native \
115 --without-sigaltstack \
116 --disable-cooperative-suspend \
117 --disable-hybrid-suspend \
118 --disable-crash-reporting
120 .stamp-ios-$(1)-toolchain:
121 touch $$@
123 $$(eval $$(call RuntimeTemplate,ios,$(1),$(2),yes))
125 ## Create special versions of the .dylibs:
127 # We have the following requirements:
129 # * libmonosgen-2.0.dylib: must have miphone-version-min=7.0 (otherwise iOS 9 won't load it; see bug #34267).
130 # * libmono-profiler-log.dylib: same as libmonosgen-2.0.dylib
131 # * libmono-native-compat.dylib: same as libmonosgen-2.0.dylib
132 # * Mono.framework/Mono: must have miphone-version-min=8.0, otherwise the native linker won't add a LC_ENCRYPTION_INFO load command,
133 # which the App Store requires (see bug #32820). This is not a problem for libmonosgen-2.0.dylib, because that library is only
134 # used for incremental builds, which are not published).
136 # So what we do is to take the static library (libmonosgen-2.0.a), extract all the object files, and re-link
137 # them the required times according to how many versions we need.
139 $$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib/libmonosgen-2.0-minversion70.dylib: package-ios-$(1)
140 CC="$$(_ios-$(1)_CC)" $$(TOP)/sdks/builds/create-shared-library.sh $$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib/libmonosgen-2.0.a $$@ -arch $(3) -miphoneos-version-min=7.0 $$(ios_sysroot)
142 $$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib/libmono-profiler-log-minversion70.dylib: package-ios-$(1)
143 CC="$$(_ios-$(1)_CC)" $$(TOP)/sdks/builds/create-shared-library.sh $$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib/libmono-profiler-log-static.a $$@ -arch $(3) -miphoneos-version-min=7.0 $$(ios_sysroot) -L$$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib -lmonosgen-2.0
145 $$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib/libmono-native-compat-minversion70.dylib: package-ios-$(1)
146 CC="$$(_ios-$(1)_CC)" $$(TOP)/sdks/builds/create-shared-library.sh $$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib/libmono-native-compat.a $$@ -arch $(3) -miphoneos-version-min=7.0 $$(ios_sysroot) -L$$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib -lmonosgen-2.0 -framework GSS
148 $$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib/libmonosgen-2.0-minversion80.dylib: package-ios-$(1)
149 CC="$$(_ios-$(1)_CC)" $$(TOP)/sdks/builds/create-shared-library.sh $$(TOP)/sdks/out/ios-$(1)-$$(CONFIGURATION)/lib/libmonosgen-2.0.a $$@ -arch $(3) -miphoneos-version-min=8.0 $$(ios_sysroot)
151 endef
153 ios_sysroot_path = $(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$(IOS_VERSION).sdk
154 tvos_sysroot_path = $(XCODE_DIR)/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS$(TVOS_VERSION).sdk
155 watchos_sysroot_path = $(XCODE_DIR)/Platforms/WatchOS.platform/Developer/SDKs/WatchOS$(WATCHOS_VERSION).sdk
156 watchos64_32_sysroot_path = $(XCODE_DIR)/Platforms/WatchOS.platform/Developer/SDKs/WatchOS$(WATCHOS64_32_VERSION).sdk
158 ios_sysroot = -isysroot $(ios_sysroot_path)
159 tvos_sysroot = -isysroot $(tvos_sysroot_path)
160 watchos_sysroot = -isysroot $(watchos_sysroot_path)
161 watchos64_32_sysroot = -isysroot $(watchos64_32_sysroot_path)
163 # --- CLASSIC ----
164 # explicitly disable dtrace, since it requires inline assembly, which is disabled on AppleTV (and mono's configure.ac doesn't know that (yet at least))
165 ios-targettv_CONFIGURE_FLAGS = --enable-dtrace=no --enable-llvm-runtime --with-bitcode=yes
166 ios-targetwatch_CONFIGURE_FLAGS = --enable-cooperative-suspend --enable-llvm-runtime --with-bitcode=yes
167 ios-targetwatch64_32_CONFIGURE_FLAGS = --enable-cooperative-suspend --enable-llvm-runtime --with-bitcode=yes
169 ios-target32_SYSROOT = $(ios_sysroot) -miphoneos-version-min=$(IOS_VERSION_MIN)
170 ios-target32s_SYSROOT = $(ios_sysroot) -miphoneos-version-min=$(IOS_VERSION_MIN)
171 ios-target64_SYSROOT = $(ios_sysroot) -miphoneos-version-min=$(IOS_VERSION_MIN)
172 ios-targettv_SYSROOT = $(tvos_sysroot) -mtvos-version-min=$(TVOS_VERSION_MIN)
173 ios-targetwatch_SYSROOT = $(watchos_sysroot) -mwatchos-version-min=$(WATCHOS_VERSION_MIN)
174 ios-targetwatch64_32_SYSROOT = $(watchos64_32_sysroot) -mwatchos-version-min=$(WATCHOS64_32_VERSION_MIN)
176 ios-target32_CPPFLAGS = -DHOST_IOS
177 ios-target32s_CPPFLAGS = -DHOST_IOS
178 ios-target64_CPPFLAGS = -DHOST_IOS
179 ios-targettv_CPPFLAGS = -DHOST_IOS -DHOST_TVOS
180 ios-targetwatch_CPPFLAGS = -DHOST_IOS -DHOST_WATCHOS
181 ios-targetwatch64_32_CPPFLAGS = -DHOST_IOS -DHOST_WATCHOS
183 ios-targettv_CFLAGS = -fembed-bitcode -fno-gnu-inline-asm
184 ios-targettv_CXXFLAGS = -fembed-bitcode -fno-gnu-inline-asm
185 ios-targetwatch_CFLAGS = -fembed-bitcode -fno-gnu-inline-asm
186 ios-targetwatch_CXXFLAGS = -fembed-bitcode -fno-gnu-inline-asm
187 ios-targetwatch64_32_CFLAGS = -fembed-bitcode -fno-gnu-inline-asm
188 ios-targetwatch64_32_CXXFLAGS = -fembed-bitcode -fno-gnu-inline-asm
190 ios-targettv_LDFLAGS = -Wl,-bitcode_bundle -framework CoreFoundation -lobjc -lc++
191 ios-targetwatch_LDFLAGS = -Wl,-bitcode_bundle -framework CoreFoundation -lobjc -lc++
192 ios-targetwatch64_32_LDFLAGS = -Wl,-bitcode_bundle -framework CoreFoundation -lobjc -lc++
194 ios-targettv_AC_VARS = \
195 ac_cv_func_system=no \
196 ac_cv_func_pthread_kill=no \
197 ac_cv_func_kill=no \
198 ac_cv_func_sigaction=no \
199 ac_cv_func_fork=no \
200 ac_cv_func_execv=no \
201 ac_cv_func_execve=no \
202 ac_cv_func_execvp=no \
203 ac_cv_func_signal=no
204 ios-targetwatch_AC_VARS = $(ios-targettv_AC_VARS)
205 ios-targetwatch64_32_AC_VARS = $(ios-targettv_AC_VARS)
207 # --- NETCORE ----
208 ios-netcore_target32_CONFIGURE_FLAGS = --with-core=only
209 ios-netcore_target32s_CONFIGURE_FLAGS = --with-core=only
210 ios-netcore_target64_CONFIGURE_FLAGS = --with-core=only
211 ios-netcore_targettv_CONFIGURE_FLAGS = $(ios-targettv_CONFIGURE_FLAGS) --with-core=only
212 ios-netcore_targetwatch_CONFIGURE_FLAGS = $(ios-targetwatch_CONFIGURE_FLAGS) --with-core=only
213 ios-netcore_targetwatch64_32_CONFIGURE_FLAGS = $(ios-targetwatch64_32_CONFIGURE_FLAGS) --with-core=only
215 ios-netcore_target32_SYSROOT = $(ios-target32_SYSROOT)
216 ios-netcore_target32s_SYSROOT = $(ios-target32s_SYSROOT)
217 ios-netcore_target64_SYSROOT = $(ios-target64_SYSROOT)
218 ios-netcore_targettv_SYSROOT = $(ios-targettv_SYSROOT)
219 ios-netcore_targetwatch_SYSROOT = $(ios-targetwatch_SYSROOT)
220 ios-netcore_targetwatch64_32_SYSROOT = $(ios-targetwatch64_32_SYSROOT)
222 ios-netcore_target32_CPPFLAGS = $(ios-target32_CPPFLAGS)
223 ios-netcore_target32s_CPPFLAGS = $(ios-target32s_CPPFLAGS)
224 ios-netcore_target64_CPPFLAGS = $(ios-target64_CPPFLAGS)
225 ios-netcore_targettv_CPPFLAGS = $(ios-targettv_CPPFLAGS)
226 ios-netcore_targetwatch_CPPFLAGS = $(ios-targetwatch_CPPFLAGS)
227 ios-netcore_targetwatch64_32_CPPFLAGS = $(ios-targetwatch64_32_CPPFLAGS)
229 ios-netcore_targettv_CFLAGS = $(ios-targettv_CFLAGS)
230 ios-netcore_targettv_CXXFLAGS = $(ios-targettv_CXXFLAGS)
231 ios-netcore_targetwatch_CFLAGS = $(ios-targetwatch_CFLAGS)
232 ios-netcore_targetwatch_CXXFLAGS = $(ios-targetwatch_CXXFLAGS)
233 ios-netcore_targetwatch64_32_CFLAGS = $(ios-targetwatch64_32_CFLAGS)
234 ios-netcore_targetwatch64_32_CXXFLAGS = $(ios-targetwatch64_32_CXXFLAGS)
236 ios-netcore_targettv_LDFLAGS = $(ios-targettv_LDFLAGS)
237 ios-netcore_targetwatch_LDFLAGS = $(ios-targetwatch_LDFLAGS)
238 ios-netcore_targetwatch64_32_LDFLAGS = $(ios-targetwatch64_32_LDFLAGS)
240 ios-netcore_targettv_AC_VARS = $(ios-targettv_AC_VARS)
241 ios-netcore_targetwatch_AC_VARS =$(ios-targetwatch_AC_VARS)
242 ios-netcore_targetwatch64_32_AC_VARS = $(ios-targetwatch64_32_AC_VARS)
245 ifndef DISABLE_CLASSIC
246 # ios-target32_BITCODE_MARKER=-fembed-bitcode-marker
247 $(eval $(call iOSDeviceTemplate,target32,arm-apple-darwin10,armv7))
248 $(eval $(call iOSDeviceTemplate,target32s,arm-apple-darwin10,armv7s))
249 # ios-target64_BITCODE_MARKER=-fembed-bitcode-marker
250 $(eval $(call iOSDeviceTemplate,target64,aarch64-apple-darwin10,arm64))
251 $(eval $(call iOSDeviceTemplate,targettv,aarch64-apple-darwin10,arm64))
252 $(eval $(call iOSDeviceTemplate,targetwatch,armv7k-apple-darwin10,armv7k))
253 $(eval $(call iOSDeviceTemplate,targetwatch64_32,aarch64-apple-darwin10_ilp32,arm64_32))
254 endif
256 ifdef ENABLE_NETCORE
257 # ios-netcore_target32_BITCODE_MARKER=-fembed-bitcode-marker
258 $(eval $(call iOSDeviceTemplate,netcore_target32,arm-apple-darwin10,armv7))
259 $(eval $(call iOSDeviceTemplate,netcore_target32s,arm-apple-darwin10,armv7s))
260 # ios-netcore_target64_BITCODE_MARKER=-fembed-bitcode-marker
261 $(eval $(call iOSDeviceTemplate,netcore_target64,aarch64-apple-darwin10,arm64))
262 $(eval $(call iOSDeviceTemplate,netcore_targettv,aarch64-apple-darwin10,arm64))
263 $(eval $(call iOSDeviceTemplate,netcore_targetwatch,armv7k-apple-darwin10,armv7k))
264 $(eval $(call iOSDeviceTemplate,netcore_targetwatch64_32,aarch64-apple-darwin10_ilp32,arm64_32))
265 endif
268 # Simulator builds
270 # Parameters
271 # $(1): target (sim32 or sim64)
272 # $(2): host triple
273 # $(3): host arch (i386 or x86_64)
275 # Flags:
276 # ios-$(1)_SYSROOT
277 # ios-$(1)_AC_VARS
278 # ios-$(1)_CFLAGS
279 # ios-$(1)_CPPFLAGS
280 # ios-$(1)_CXXFLAGS
281 # ios-$(1)_LDFLAGS
283 # This handles tvos/watchos as well.
285 define iOSSimulatorTemplate
287 _ios-$(1)_CC=$$(CCACHE) $$(ios_PLATFORM_BIN)/clang
288 _ios-$(1)_CXX=$$(CCACHE) $$(ios_PLATFORM_BIN)/clang++
290 _ios-$(1)_AC_VARS= \
291 ac_cv_func_clock_nanosleep=no \
292 ac_cv_func_fstatat=no \
293 ac_cv_func_readlinkat=no \
294 ac_cv_func_system=no \
295 ac_cv_func_getentropy=no \
296 ac_cv_func_futimens=no \
297 ac_cv_func_utimensat=no \
298 ac_cv_func_shm_open_working_with_mmap=no \
299 mono_cv_uscore=yes
301 _ios-$(1)_CFLAGS= \
302 $$(ios-$(1)_SYSROOT) \
303 -arch $(3) \
304 -Wl,-application_extension
306 _ios-$(1)_CPPFLAGS= \
307 -DMONOTOUCH=1 \
308 $$(ios-$(1)_SYSROOT) \
309 -arch $(3) \
310 -Wl,-application_extension
312 _ios-$(1)_CXXFLAGS= \
313 $$(ios-$(1)_SYSROOT) \
314 -arch $(3) \
315 -Wl,-application_extension
317 _ios-$(1)_CONFIGURE_FLAGS= \
318 --disable-boehm \
319 --disable-btls \
320 --disable-executables \
321 --disable-iconv \
322 --disable-mcs-build \
323 --disable-nls \
324 --disable-visibility-hidden \
325 --enable-maintainer-mode \
326 --enable-minimal=com,remoting,shared_perfcounters,gac \
327 --enable-monotouch \
328 --with-tls=pthread \
329 --without-ikvm-native \
330 --disable-cooperative-suspend \
331 --disable-hybrid-suspend \
332 --disable-crash-reporting
334 .stamp-ios-$(1)-toolchain:
335 touch $$@
337 $$(eval $$(call RuntimeTemplate,ios,$(1),$(2),yes))
339 endef
341 ios_sim_sysroot = -isysroot $(XCODE_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator$(IOS_VERSION).sdk
342 tvos_sim_sysroot = -isysroot $(XCODE_DIR)/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator$(TVOS_VERSION).sdk
343 watchos_sim_sysroot = -isysroot $(XCODE_DIR)/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator$(WATCHOS_VERSION).sdk
345 # --- CLASSIC ----
346 ios-sim32_SYSROOT = $(ios_sim_sysroot) -mios-simulator-version-min=$(IOS_VERSION_MIN)
347 ios-sim64_SYSROOT = $(ios_sim_sysroot) -mios-simulator-version-min=$(IOS_VERSION_MIN)
348 ios-simtv_SYSROOT = $(tvos_sim_sysroot) -mtvos-simulator-version-min=$(TVOS_VERSION_MIN)
349 ios-simwatch_SYSROOT = $(watchos_sim_sysroot) -mwatchos-simulator-version-min=$(WATCHOS_VERSION_MIN)
351 ios-simwatch_CONFIGURE_FLAGS = --enable-cooperative-suspend
353 ios-sim32_CPPFLAGS = -DHOST_IOS
354 ios-sim64_CPPFLAGS = -DHOST_IOS
355 ios-simtv_CPPFLAGS = -DHOST_IOS -DHOST_TVOS
356 ios-simwatch_CPPFLAGS = -DHOST_IOS -DHOST_WATCHOS
358 ios-simtv_AC_VARS = \
359 ac_cv_func_pthread_kill=no \
360 ac_cv_func_kill=no \
361 ac_cv_func_sigaction=no \
362 ac_cv_func_fork=no \
363 ac_cv_func_execv=no \
364 ac_cv_func_execve=no \
365 ac_cv_func_execvp=no \
366 ac_cv_func_signal=no
367 ios-simwatch_AC_VARS = \
368 ac_cv_func_system=no \
369 ac_cv_func_pthread_kill=no \
370 ac_cv_func_kill=no \
371 ac_cv_func_sigaction=no \
372 ac_cv_func_fork=no \
373 ac_cv_func_execv=no \
374 ac_cv_func_execve=no \
375 ac_cv_func_execvp=no \
376 ac_cv_func_signal=no
378 # --- NETCORE ----
379 ios-netcore_sim32_SYSROOT = $(ios-sim32_SYSROOT)
380 ios-netcore_sim64_SYSROOT = $(ios-sim64_SYSROOT)
381 ios-netcore_simtv_SYSROOT = $(ios-simtv_SYSROOT)
382 ios-netcore_simwatch_SYSROOT = $(ios-simwatch_SYSROOT)
384 ios-netcore_sim32_CONFIGURE_FLAGS = --with-core=only
385 ios-netcore_sim64_CONFIGURE_FLAGS = --with-core=only
386 ios-netcore_simtv_CONFIGURE_FLAGS = --with-core=only
387 ios-netcore_simwatch_CONFIGURE_FLAGS = $(ios-simwatch_CONFIGURE_FLAGS) --with-core=only
389 ios-netcore_sim32_CPPFLAGS = $(ios-sim32_CPPFLAGS)
390 ios-netcore_sim64_CPPFLAGS = $(ios-sim64_CPPFLAGS)
391 ios-netcore_simtv_CPPFLAGS = $(ios-simtv_CPPFLAGS)
392 ios-netcore_simwatch_CPPFLAGS = $(ios-simwatch_CPPFLAGS)
394 ios-netcore_simtv_AC_VARS = $(ios-simtv_AC_VARS)
395 ios-netcore_simwatch_AC_VARS = $(ios-simwatch_AC_VARS)
398 ifndef DISABLE_CLASSIC
399 $(eval $(call iOSSimulatorTemplate,sim32,i386-apple-darwin10,i386))
400 $(eval $(call iOSSimulatorTemplate,sim64,x86_64-apple-darwin10,x86_64))
401 $(eval $(call iOSSimulatorTemplate,simtv,x86_64-apple-darwin10,x86_64))
402 $(eval $(call iOSSimulatorTemplate,simwatch,i386-apple-darwin10,i386))
403 endif
405 ifdef ENABLE_NETCORE
406 $(eval $(call iOSSimulatorTemplate,netcore_sim32,i386-apple-darwin10,i386))
407 $(eval $(call iOSSimulatorTemplate,netcore_sim64,x86_64-apple-darwin10,x86_64))
408 $(eval $(call iOSSimulatorTemplate,netcore_simtv,x86_64-apple-darwin10,x86_64))
409 $(eval $(call iOSSimulatorTemplate,netcore_simwatch,i386-apple-darwin10,i386))
410 endif
413 # Cross compiler builds
415 # Parameters:
416 # $(1): target (cross32 or cross64)
417 # $(2): host arch (i386 or x86_64)
418 # $(3): target arch (arm or aarch64)
419 # $(4): device target (target32, target64, ...)
420 # $(5): llvm
421 # $(6): offsets dumper abi
422 # $(7): sysroot path
424 # Flags:
425 # ios-$(1)_AC_VARS
426 # ios-$(1)_CFLAGS
427 # ios-$(1)_CXXFLAGS
428 # ios-$(1)_LDFLAGS
429 # ios-$(1)_CONFIGURE_FLAGS
430 define iOSCrossTemplate
432 _ios-$(1)_OFFSETS_DUMPER_ARGS=--libclang="$$(XCODE_DIR)/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib" --sysroot="$(7)"
433 _ios_$(1)_PLATFORM_BIN=$(XCODE_DIR)/Toolchains/XcodeDefault.xctoolchain/usr/bin
435 _ios-$(1)_CC=$$(CCACHE) $$(_ios_$(1)_PLATFORM_BIN)/clang
436 _ios-$(1)_CXX=$$(CCACHE) $$(_ios_$(1)_PLATFORM_BIN)/clang++
438 _ios-$(1)_AC_VARS= \
439 ac_cv_func_shm_open_working_with_mmap=no
441 _ios-$(1)_CFLAGS= \
442 $$(ios-$(1)_SYSROOT) \
443 -Qunused-arguments
445 _ios-$(1)_CXXFLAGS= \
446 $$(ios-$(1)_SYSROOT) \
447 -Qunused-arguments \
448 -stdlib=libc++
450 _ios-$(1)_CPPFLAGS= \
451 -DMONOTOUCH=1
453 _ios-$(1)_LDFLAGS= \
454 -stdlib=libc++
456 _ios-$(1)_CONFIGURE_FLAGS= \
457 --disable-boehm \
458 --disable-btls \
459 --disable-iconv \
460 --disable-libraries \
461 --disable-mcs-build \
462 --disable-nls \
463 --enable-dtrace=no \
464 --enable-icall-symbol-map \
465 --enable-minimal=com,remoting \
466 --enable-monotouch \
467 --disable-crash-reporting
469 $$(eval $$(call CrossRuntimeTemplate,ios,$(1),$(2)-apple-darwin10,$(3),$(4),$(5),$(6)))
471 endef
473 # --- CLASSIC ----
474 ios-cross32_SYSROOT=-isysroot $(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(MACOS_VERSION).sdk -mmacosx-version-min=$(MACOS_VERSION_MIN)
475 ios-crosswatch_SYSROOT=-isysroot $(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(MACOS_VERSION).sdk -mmacosx-version-min=$(MACOS_VERSION_MIN)
476 ios-cross64_SYSROOT=-isysroot $(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(MACOS_VERSION).sdk -mmacosx-version-min=$(MACOS_VERSION_MIN)
477 ios-crosswatch64_32_SYSROOT=-isysroot $(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(MACOS_VERSION).sdk -mmacosx-version-min=$(MACOS_VERSION_MIN)
479 ios-crosswatch_CONFIGURE_FLAGS=--enable-cooperative-suspend
481 # --- NETCORE ----
482 ios-netcore_cross32_SYSROOT = $(ios-cross32_SYSROOT)
483 ios-netcore_crosswatch_SYSROOT = $(ios-crosswatch_SYSROOT)
484 ios-netcore_cross64_SYSROOT = $(ios-cross64_SYSROOT)
485 ios-netcore_crosswatch64_32_SYSROOT = $(ios-crosswatch64_32_SYSROOT)
487 ios-netcore_cross32_CONFIGURE_FLAGS = --with-core=only
488 ios-netcore_crosswatch_CONFIGURE_FLAGS = $(ios-crosswatch_CONFIGURE_FLAGS) --with-core=only
489 ios-netcore_cross64_CONFIGURE_FLAGS = --with-core=only
490 ios-netcore_crosswatch64_32_CONFIGURE_FLAGS = --with-core=only
493 ifndef DISABLE_CLASSIC
494 $(eval $(call iOSCrossTemplate,cross32,x86_64,arm-darwin,target32,llvm-llvm64,arm-apple-darwin10,$(ios_sysroot_path)))
495 $(eval $(call iOSCrossTemplate,cross64,x86_64,aarch64-darwin,target64,llvm-llvm64,aarch64-apple-darwin10,$(ios_sysroot_path)))
496 $(eval $(call iOSCrossTemplate,crosswatch,x86_64,armv7k-unknown-darwin,targetwatch,llvm-llvm64,armv7k-apple-darwin,$(watchos_sysroot_path)))
497 $(eval $(call iOSCrossTemplate,crosswatch64_32,x86_64,aarch64-apple-darwin10_ilp32,targetwatch64_32,llvm-llvm64,aarch64-apple-darwin10_ilp32,$(watchos64_32_sysroot_path)))
498 endif
500 ifdef ENABLE_NETCORE
501 $(eval $(call iOSCrossTemplate,netcore_cross32,x86_64,arm-darwin,netcore_target32,llvm-llvm64,arm-apple-darwin10,$(ios_sysroot_path)))
502 $(eval $(call iOSCrossTemplate,netcore_cross64,x86_64,aarch64-darwin,netcore_target64,llvm-llvm64,aarch64-apple-darwin10,$(ios_sysroot_path)))
503 $(eval $(call iOSCrossTemplate,netcore_crosswatch,x86_64,armv7k-unknown-darwin,netcore_targetwatch,llvm-llvm64,armv7k-apple-darwin,$(watchos_sysroot_path)))
504 $(eval $(call iOSCrossTemplate,netcore_crosswatch64_32,x86_64,aarch64-apple-darwin10_ilp32,netcore_targetwatch64_32,llvm-llvm64,aarch64-apple-darwin10_ilp32,$(watchos64_32_sysroot_path)))
505 endif
508 $(ios_FRAMEWORKS_DIR): package-ios-target32 package-ios-target32s package-ios-target64 package-ios-targettv package-ios-targetwatch package-ios-targetwatch64_32 package-ios-sim32 package-ios-sim64 package-ios-simtv package-ios-simwatch $(TOP)/sdks/builds/ios-Mono.framework-Info.plist $(TOP)/sdks/builds/ios-Mono.framework-tvos.Info.plist $(TOP)/sdks/builds/ios-Mono.framework-watchos.Info.plist $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion80.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion80.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion80.dylib
509 rm -rf $(ios_FRAMEWORKS_DIR)
511 ### Mono.framework for devices ###
512 mkdir -p $(ios_FRAMEWORKS_DIR)/ios/Mono.framework/
513 mkdir -p $(ios_FRAMEWORKS_DIR)/tvos/Mono.framework/
514 mkdir -p $(ios_FRAMEWORKS_DIR)/watchos/Mono.framework/
515 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion80.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion80.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion80.dylib -create -output $(ios_FRAMEWORKS_DIR)/ios/Mono.framework/Mono
516 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_FRAMEWORKS_DIR)/tvos/Mono.framework/Mono
517 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_FRAMEWORKS_DIR)/watchos/Mono.framework/Mono
518 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/Mono.framework/Mono $(ios_FRAMEWORKS_DIR)/ios/Mono.framework/Mono
519 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/Mono.framework/Mono $(ios_FRAMEWORKS_DIR)/tvos/Mono.framework/Mono
520 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/Mono.framework/Mono $(ios_FRAMEWORKS_DIR)/watchos/Mono.framework/Mono
521 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_FRAMEWORKS_DIR)/ios/Mono.framework.dSYM $(ios_FRAMEWORKS_DIR)/ios/Mono.framework/Mono
522 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_FRAMEWORKS_DIR)/tvos/Mono.framework.dSYM $(ios_FRAMEWORKS_DIR)/tvos/Mono.framework/Mono
523 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_FRAMEWORKS_DIR)/watchos/Mono.framework.dSYM $(ios_FRAMEWORKS_DIR)/watchos/Mono.framework/Mono
524 cp $(TOP)/sdks/builds/ios-Mono.framework-Info.plist $(ios_FRAMEWORKS_DIR)/ios/Mono.framework/Info.plist
525 cp $(TOP)/sdks/builds/ios-Mono.framework-tvos.Info.plist $(ios_FRAMEWORKS_DIR)/tvos/Mono.framework/Info.plist
526 cp $(TOP)/sdks/builds/ios-Mono.framework-watchos.Info.plist $(ios_FRAMEWORKS_DIR)/watchos/Mono.framework/Info.plist
528 ### Mono.framework for simulators ###
529 mkdir -p $(ios_FRAMEWORKS_DIR)/ios-sim/Mono.framework/
530 mkdir -p $(ios_FRAMEWORKS_DIR)/tvos-sim/Mono.framework/
531 mkdir -p $(ios_FRAMEWORKS_DIR)/watchos-sim/Mono.framework/
532 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_FRAMEWORKS_DIR)/ios-sim/Mono.framework/Mono
533 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_FRAMEWORKS_DIR)/tvos-sim/Mono.framework/Mono
534 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_FRAMEWORKS_DIR)/watchos-sim/Mono.framework/Mono
535 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/Mono.framework/Mono $(ios_FRAMEWORKS_DIR)/ios-sim/Mono.framework/Mono
536 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/Mono.framework/Mono $(ios_FRAMEWORKS_DIR)/tvos-sim/Mono.framework/Mono
537 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/Mono.framework/Mono $(ios_FRAMEWORKS_DIR)/watchos-sim/Mono.framework/Mono
538 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_FRAMEWORKS_DIR)/ios-sim/Mono.framework.dSYM $(ios_FRAMEWORKS_DIR)/ios-sim/Mono.framework/Mono
539 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_FRAMEWORKS_DIR)/tvos-sim/Mono.framework.dSYM $(ios_FRAMEWORKS_DIR)/tvos-sim/Mono.framework/Mono
540 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_FRAMEWORKS_DIR)/watchos-sim/Mono.framework.dSYM $(ios_FRAMEWORKS_DIR)/watchos-sim/Mono.framework/Mono
541 cp $(TOP)/sdks/builds/ios-Mono.framework-Info.plist $(ios_FRAMEWORKS_DIR)/ios-sim/Mono.framework/Info.plist
542 cp $(TOP)/sdks/builds/ios-Mono.framework-tvos.Info.plist $(ios_FRAMEWORKS_DIR)/tvos-sim/Mono.framework/Info.plist
543 cp $(TOP)/sdks/builds/ios-Mono.framework-watchos.Info.plist $(ios_FRAMEWORKS_DIR)/watchos-sim/Mono.framework/Info.plist
546 $(ios_LIBS_DIR): package-ios-target32 package-ios-target32s package-ios-target64 package-ios-targettv package-ios-targetwatch package-ios-targetwatch64_32 package-ios-sim32 package-ios-sim64 package-ios-simtv package-ios-simwatch $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion70.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion70.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion70.dylib $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-profiler-log-minversion70.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-profiler-log-minversion70.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-profiler-log-minversion70.dylib $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-native-compat-minversion70.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-native-compat-minversion70.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-native-compat-minversion70.dylib
547 rm -rf $(ios_LIBS_DIR)
549 ### libs for devices ###
550 mkdir -p $(ios_LIBS_DIR)/ios/
551 mkdir -p $(ios_LIBS_DIR)/tvos/
552 mkdir -p $(ios_LIBS_DIR)/watchos/
554 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion70.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion70.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmonosgen-2.0-minversion70.dylib -create -output $(ios_LIBS_DIR)/ios/libmonosgen-2.0.dylib
555 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-profiler-log-minversion70.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-profiler-log-minversion70.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-profiler-log-minversion70.dylib -create -output $(ios_LIBS_DIR)/ios/libmono-profiler-log.dylib
556 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-native-compat-minversion70.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-native-compat-minversion70.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-native-compat-minversion70.dylib -create -output $(ios_LIBS_DIR)/ios/libmono-native-compat.dylib
557 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-native-unified.dylib $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-native-unified.dylib $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-native-unified.dylib -create -output $(ios_LIBS_DIR)/ios/libmono-native-unified.dylib
558 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-ee-interp.a $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-ee-interp.a $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-ee-interp.a -create -output $(ios_LIBS_DIR)/ios/libmono-ee-interp.a
559 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-icall-table.a $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-icall-table.a $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-icall-table.a -create -output $(ios_LIBS_DIR)/ios/libmono-icall-table.a
560 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-ilgen.a $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-ilgen.a $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-ilgen.a -create -output $(ios_LIBS_DIR)/ios/libmono-ilgen.a
561 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-native-compat.a $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-native-compat.a $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-native-compat.a -create -output $(ios_LIBS_DIR)/ios/libmono-native-compat.a
562 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-native-unified.a $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-native-unified.a $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-native-unified.a -create -output $(ios_LIBS_DIR)/ios/libmono-native-unified.a
563 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmono-profiler-log-static.a $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmono-profiler-log-static.a $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmono-profiler-log-static.a -create -output $(ios_LIBS_DIR)/ios/libmono-profiler-log.a
564 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmonosgen-2.0.a $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmonosgen-2.0.a $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmonosgen-2.0.a -create -output $(ios_LIBS_DIR)/ios/libmonosgen-2.0.a
566 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_LIBS_DIR)/tvos/libmonosgen-2.0.dylib
567 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-profiler-log.dylib -create -output $(ios_LIBS_DIR)/tvos/libmono-profiler-log.dylib
568 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-native-compat.dylib -create -output $(ios_LIBS_DIR)/tvos/libmono-native-compat.dylib
569 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-native-unified.dylib -create -output $(ios_LIBS_DIR)/tvos/libmono-native-unified.dylib
570 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-ee-interp.a -create -output $(ios_LIBS_DIR)/tvos/libmono-ee-interp.a
571 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-icall-table.a -create -output $(ios_LIBS_DIR)/tvos/libmono-icall-table.a
572 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-ilgen.a -create -output $(ios_LIBS_DIR)/tvos/libmono-ilgen.a
573 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-native-compat.a -create -output $(ios_LIBS_DIR)/tvos/libmono-native-compat.a
574 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-native-unified.a -create -output $(ios_LIBS_DIR)/tvos/libmono-native-unified.a
575 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmono-profiler-log-static.a -create -output $(ios_LIBS_DIR)/tvos/libmono-profiler-log.a
576 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmonosgen-2.0.a -create -output $(ios_LIBS_DIR)/tvos/libmonosgen-2.0.a
578 $(ios_PLATFORM_BIN)/bitcode_strip $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -m -o $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmonosgen-2.0-stripped.dylib
579 $(ios_PLATFORM_BIN)/bitcode_strip $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-profiler-log.dylib -m -o $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-profiler-log-stripped.dylib
580 $(ios_PLATFORM_BIN)/bitcode_strip $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-native-compat.dylib -m -o $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-native-compat-stripped.dylib
581 $(ios_PLATFORM_BIN)/bitcode_strip $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-native-unified.dylib -m -o $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-native-unified-stripped.dylib
582 $(ios_PLATFORM_BIN)/bitcode_strip $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -m -o $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmonosgen-2.0-stripped.dylib
583 $(ios_PLATFORM_BIN)/bitcode_strip $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-profiler-log.dylib -m -o $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-profiler-log-stripped.dylib
584 $(ios_PLATFORM_BIN)/bitcode_strip $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-native.dylib -m -o $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-native-stripped.dylib
586 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmonosgen-2.0-stripped.dylib $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmonosgen-2.0-stripped.dylib -create -output $(ios_LIBS_DIR)/watchos/libmonosgen-2.0.dylib
587 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-profiler-log-stripped.dylib $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-profiler-log-stripped.dylib -create -output $(ios_LIBS_DIR)/watchos/libmono-profiler-log.dylib
588 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-native-compat-stripped.dylib -create -output $(ios_LIBS_DIR)/watchos/libmono-native-compat.dylib
589 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-native-unified-stripped.dylib $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-native-stripped.dylib -create -output $(ios_LIBS_DIR)/watchos/libmono-native-unified.dylib
590 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-ee-interp.a $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-ee-interp.a -create -output $(ios_LIBS_DIR)/watchos/libmono-ee-interp.a
591 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-icall-table.a $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-icall-table.a -create -output $(ios_LIBS_DIR)/watchos/libmono-icall-table.a
592 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-ilgen.a $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-ilgen.a -create -output $(ios_LIBS_DIR)/watchos/libmono-ilgen.a
593 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-native-compat.a -create -output $(ios_LIBS_DIR)/watchos/libmono-native-compat.a
594 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-native-unified.a $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-native.a -create -output $(ios_LIBS_DIR)/watchos/libmono-native-unified.a
595 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmono-profiler-log-static.a $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmono-profiler-log-static.a -create -output $(ios_LIBS_DIR)/watchos/libmono-profiler-log.a
596 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.a $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmonosgen-2.0.a -create -output $(ios_LIBS_DIR)/watchos/libmonosgen-2.0.a
598 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/ios/libmonosgen-2.0.dylib
599 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-profiler-log.dylib -change $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib -change $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib -change $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/ios/libmono-profiler-log.dylib
600 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-compat.dylib -change $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib -change $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib -change $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/ios/libmono-native-compat.dylib
601 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-unified.dylib -change $(TOP)/sdks/out/ios-target32-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib -change $(TOP)/sdks/out/ios-target32s-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib -change $(TOP)/sdks/out/ios-target64-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/ios/libmono-native-unified.dylib
603 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/tvos/libmonosgen-2.0.dylib
604 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-profiler-log.dylib -change $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/tvos/libmono-profiler-log.dylib
605 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-compat.dylib -change $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/tvos/libmono-native-compat.dylib
606 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-unified.dylib -change $(TOP)/sdks/out/ios-targettv-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/tvos/libmono-native-unified.dylib
608 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/watchos/libmonosgen-2.0.dylib
609 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-profiler-log.dylib -change $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib -change $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/watchos/libmono-profiler-log.dylib
610 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-compat.dylib -change $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/watchos/libmono-native-compat.dylib
611 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-unified.dylib -change $(TOP)/sdks/out/ios-targetwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib -change $(TOP)/sdks/out/ios-targetwatch64_32-$(CONFIGURATION)/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/watchos/libmono-native-unified.dylib
613 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/ios/libmonosgen-2.0.dylib.dSYM $(ios_LIBS_DIR)/ios/libmonosgen-2.0.dylib
614 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/ios/libmono-profiler-log.dylib.dSYM $(ios_LIBS_DIR)/ios/libmono-profiler-log.dylib
615 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/ios/libmono-native-compat.dylib.dSYM $(ios_LIBS_DIR)/ios/libmono-native-compat.dylib
616 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/ios/libmono-native-unified.dylib.dSYM $(ios_LIBS_DIR)/ios/libmono-native-unified.dylib
618 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/tvos/libmonosgen-2.0.dylib.dSYM $(ios_LIBS_DIR)/tvos/libmonosgen-2.0.dylib
619 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/tvos/libmono-profiler-log.dylib.dSYM $(ios_LIBS_DIR)/tvos/libmono-profiler-log.dylib
620 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/tvos/libmono-native-compat.dylib.dSYM $(ios_LIBS_DIR)/tvos/libmono-native-compat.dylib
621 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/tvos/libmono-native-unified.dylib.dSYM $(ios_LIBS_DIR)/tvos/libmono-native-unified.dylib
623 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/watchos/libmonosgen-2.0.dylib.dSYM $(ios_LIBS_DIR)/watchos/libmonosgen-2.0.dylib
624 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/watchos/libmono-profiler-log.dylib.dSYM $(ios_LIBS_DIR)/watchos/libmono-profiler-log.dylib
625 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/watchos/libmono-native-compat.dylib.dSYM $(ios_LIBS_DIR)/watchos/libmono-native-compat.dylib
626 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/watchos/libmono-native-unified.dylib.dSYM $(ios_LIBS_DIR)/watchos/libmono-native-unified.dylib
628 ### libs for simulators ###
629 mkdir -p $(ios_LIBS_DIR)/ios-sim/
630 mkdir -p $(ios_LIBS_DIR)/tvos-sim/
631 mkdir -p $(ios_LIBS_DIR)/watchos-sim/
633 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_LIBS_DIR)/ios-sim/libmonosgen-2.0.dylib
634 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmono-profiler-log.dylib $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmono-profiler-log.dylib -create -output $(ios_LIBS_DIR)/ios-sim/libmono-profiler-log.dylib
635 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmono-native-compat.dylib $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmono-native-compat.dylib -create -output $(ios_LIBS_DIR)/ios-sim/libmono-native-compat.dylib
636 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmono-native-unified.dylib $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmono-native-unified.dylib -create -output $(ios_LIBS_DIR)/ios-sim/libmono-native-unified.dylib
637 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmono-native-compat.a $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmono-native-compat.a -create -output $(ios_LIBS_DIR)/ios-sim/libmono-native-compat.a
638 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmono-native-unified.a $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmono-native-unified.a -create -output $(ios_LIBS_DIR)/ios-sim/libmono-native-unified.a
639 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmono-profiler-log-static.a $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmono-profiler-log-static.a -create -output $(ios_LIBS_DIR)/ios-sim/libmono-profiler-log.a
640 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-sim32-$(CONFIGURATION)/lib/libmonosgen-2.0.a $(TOP)/sdks/out/ios-sim64-$(CONFIGURATION)/lib/libmonosgen-2.0.a -create -output $(ios_LIBS_DIR)/ios-sim/libmonosgen-2.0.a
642 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_LIBS_DIR)/tvos-sim/libmonosgen-2.0.dylib
643 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmono-profiler-log.dylib -create -output $(ios_LIBS_DIR)/tvos-sim/libmono-profiler-log.dylib
644 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmono-native-compat.dylib -create -output $(ios_LIBS_DIR)/tvos-sim/libmono-native-compat.dylib
645 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmono-native-unified.dylib -create -output $(ios_LIBS_DIR)/tvos-sim/libmono-native-unified.dylib
646 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmono-native-compat.a -create -output $(ios_LIBS_DIR)/tvos-sim/libmono-native-compat.a
647 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmono-native-unified.a -create -output $(ios_LIBS_DIR)/tvos-sim/libmono-native-unified.a
648 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmono-profiler-log-static.a -create -output $(ios_LIBS_DIR)/tvos-sim/libmono-profiler-log.a
649 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simtv-$(CONFIGURATION)/lib/libmonosgen-2.0.a -create -output $(ios_LIBS_DIR)/tvos-sim/libmonosgen-2.0.a
651 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib -create -output $(ios_LIBS_DIR)/watchos-sim/libmonosgen-2.0.dylib
652 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmono-profiler-log.dylib -create -output $(ios_LIBS_DIR)/watchos-sim/libmono-profiler-log.dylib
653 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmono-native-compat.dylib -create -output $(ios_LIBS_DIR)/watchos-sim/libmono-native-compat.dylib
654 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmono-native-unified.dylib -create -output $(ios_LIBS_DIR)/watchos-sim/libmono-native-unified.dylib
655 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmono-native-compat.a -create -output $(ios_LIBS_DIR)/watchos-sim/libmono-native-compat.a
656 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmono-native-unified.a -create -output $(ios_LIBS_DIR)/watchos-sim/libmono-native-unified.a
657 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmono-profiler-log-static.a -create -output $(ios_LIBS_DIR)/watchos-sim/libmono-profiler-log.a
658 $(ios_PLATFORM_BIN)/lipo $(TOP)/sdks/out/ios-simwatch-$(CONFIGURATION)/lib/libmonosgen-2.0.a -create -output $(ios_LIBS_DIR)/watchos-sim/libmonosgen-2.0.a
660 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/ios-sim/libmonosgen-2.0.dylib
661 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-profiler-log.dylib $(ios_LIBS_DIR)/ios-sim/libmono-profiler-log.dylib
662 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-compat.dylib $(ios_LIBS_DIR)/ios-sim/libmono-native-compat.dylib
663 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-unified.dylib $(ios_LIBS_DIR)/ios-sim/libmono-native-unified.dylib
665 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/tvos-sim/libmonosgen-2.0.dylib
666 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-profiler-log.dylib $(ios_LIBS_DIR)/tvos-sim/libmono-profiler-log.dylib
667 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-compat.dylib $(ios_LIBS_DIR)/tvos-sim/libmono-native-compat.dylib
668 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-unified.dylib $(ios_LIBS_DIR)/tvos-sim/libmono-native-unified.dylib
670 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $(ios_LIBS_DIR)/watchos-sim/libmonosgen-2.0.dylib
671 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-profiler-log.dylib $(ios_LIBS_DIR)/watchos-sim/libmono-profiler-log.dylib
672 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-compat.dylib $(ios_LIBS_DIR)/watchos-sim/libmono-native-compat.dylib
673 $(ios_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-unified.dylib $(ios_LIBS_DIR)/watchos-sim/libmono-native-unified.dylib
675 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/ios-sim/libmonosgen-2.0.dylib.dSYM $(ios_LIBS_DIR)/ios-sim/libmonosgen-2.0.dylib
676 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/ios-sim/libmono-profiler-log.dylib.dSYM $(ios_LIBS_DIR)/ios-sim/libmono-profiler-log.dylib
677 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/ios-sim/libmono-native-compat.dylib.dSYM $(ios_LIBS_DIR)/ios-sim/libmono-native-compat.dylib
678 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/ios-sim/libmono-native-unified.dylib.dSYM $(ios_LIBS_DIR)/ios-sim/libmono-native-unified.dylib
680 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/tvos-sim/libmonosgen-2.0.dylib.dSYM $(ios_LIBS_DIR)/tvos-sim/libmonosgen-2.0.dylib
681 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/tvos-sim/libmono-profiler-log.dylib.dSYM $(ios_LIBS_DIR)/tvos-sim/libmono-profiler-log.dylib
682 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/tvos-sim/libmono-native-compat.dylib.dSYM $(ios_LIBS_DIR)/tvos-sim/libmono-native-compat.dylib
683 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/tvos-sim/libmono-native-unified.dylib.dSYM $(ios_LIBS_DIR)/tvos-sim/libmono-native-unified.dylib
685 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/watchos-sim/libmonosgen-2.0.dylib.dSYM $(ios_LIBS_DIR)/watchos-sim/libmonosgen-2.0.dylib
686 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/watchos-sim/libmono-profiler-log.dylib.dSYM $(ios_LIBS_DIR)/watchos-sim/libmono-profiler-log.dylib
687 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/watchos-sim/libmono-native-compat.dylib.dSYM $(ios_LIBS_DIR)/watchos-sim/libmono-native-compat.dylib
688 $(ios_PLATFORM_BIN)/dsymutil -num-threads 4 -o $(ios_LIBS_DIR)/watchos-sim/libmono-native-unified.dylib.dSYM $(ios_LIBS_DIR)/watchos-sim/libmono-native-unified.dylib
690 $(ios_SOURCES_DIR)/mcs/build/common/Consts.cs: # we use this as a sentinel file to avoid rsyncing everything on each build (slows down iterating)
691 mkdir -p $(ios_SOURCES_DIR)
692 cd $(TOP) && rsync -r --exclude='external/api-doc-tools/*' --exclude='external/api-snapshot/*' --exclude='external/aspnetwebstack/*' --exclude='external/binary-reference-assemblies/*' --exclude='netcore/*' --include='*.cs' --include='*/' --exclude="*" --prune-empty-dirs . $(ios_SOURCES_DIR)
694 $(ios_SOURCES_DIR): $(ios_SOURCES_DIR)/mcs/build/common/Consts.cs
696 $(ios_TPN_DIR)/LICENSE:
697 mkdir -p $(ios_TPN_DIR)
698 cd $(TOP) && rsync -r --include='THIRD-PARTY-NOTICES.TXT' --include='license.txt' --include='License.txt' --include='LICENSE' --include='LICENSE.txt' --include='LICENSE.TXT' --include='COPYRIGHT.regex' --include='*/' --exclude="*" --prune-empty-dirs . $(ios_TPN_DIR)
700 $(ios_TPN_DIR): $(ios_TPN_DIR)/LICENSE
702 $(ios_MONO_VERSION): $(TOP)/configure.ac
703 mkdir -p $(dir $(ios_MONO_VERSION))
704 grep AC_INIT $(TOP)/configure.ac | sed -e 's/.*\[//' -e 's/\].*//' > $@
707 # BCL builds
709 ifndef DISABLE_CLASSIC
710 $(eval $(call BclTemplate,ios,monotouch monotouch_runtime monotouch_tv monotouch_tv_runtime monotouch_watch monotouch_watch_runtime monotouch_tools,monotouch monotouch_tv monotouch_watch))
711 endif
713 ifdef ENABLE_NETCORE
714 $(ios_NETCORE_LIBS_DIR): package-ios-netcore_target32 package-ios-netcore_target32s package-ios-netcore_target64 package-ios-netcore_targettv package-ios-netcore_targetwatch package-ios-netcore_targetwatch64_32 package-ios-netcore_sim32 package-ios-netcore_sim64 package-ios-netcore_simtv package-ios-netcore_simwatch
715 cp $(DOTNET_RUNTIME_REPO_DIR)/artifacts/bin/runtime/netcoreapp-iOSSimulator-Debug-appleuniversal/System.*.dylib $(DOTNET_RUNTIME_REPO_DIR)/artifacts/bin/runtime/netcoreapp-iOSSimulator-Debug-appleuniversal/System.*.a $(TOP)/sdks/out/ios-netcore_sim64-$(CONFIGURATION)/lib
716 cp $(DOTNET_RUNTIME_REPO_DIR)/artifacts/bin/runtime/netcoreapp-iOSDevice-Debug-appleuniversal/System.*.dylib $(DOTNET_RUNTIME_REPO_DIR)/artifacts/bin/runtime/netcoreapp-iOSDevice-Debug-appleuniversal/System.*.a $(TOP)/sdks/out/ios-netcore_target64-$(CONFIGURATION)/lib
717 mkdir -p $(TOP)/sdks/out/ios-netcore_libs/ios/
718 cp $(DOTNET_RUNTIME_REPO_DIR)/artifacts/bin/runtime/netcoreapp-iOSSimulator-Debug-appleuniversal/*.dll $(DOTNET_RUNTIME_REPO_DIR)/artifacts/bin/runtime/netcoreapp-iOSSimulator-Debug-appleuniversal/*.pdb $(TOP)/sdks/out/ios-netcore_libs/ios/
719 cp $(TOP)/sdks/builds/ios-netcore_sim64-$(CONFIGURATION)/netcore/config.make $(TOP)/netcore
720 $(MAKE) -C $(TOP)/netcore bcl
721 cp $(TOP)/netcore/System.Private.CoreLib/bin/x64/System.Private.CoreLib.dll $(TOP)/sdks/out/ios-netcore_libs/ios/
722 cp $(TOP)/netcore/System.Private.CoreLib/bin/x64/System.Private.CoreLib.pdb $(TOP)/sdks/out/ios-netcore_libs/ios/
723 endif