[interp] run regression with all combinations of available optimizations (#17644)
[mono-project.git] / sdks / builds / mac.mk
blobbded6b2c22b64329a87c20c343b178af87b9b184
2 mac_BIN_DIR = $(TOP)/sdks/out/mac-bin
3 mac_PKG_CONFIG_DIR = $(TOP)/sdks/out/mac-pkgconfig
4 mac_LIBS_DIR = $(TOP)/sdks/out/mac-libs
5 mac_TPN_DIR = $(TOP)/sdks/out/mac-tpn
6 mac_MONO_VERSION = $(TOP)/sdks/out/mac-mono-version.txt
8 mac_ARCHIVE += mac-bin mac-pkgconfig mac-libs mac-tpn mac-mono-version.txt
9 ADDITIONAL_PACKAGE_DEPS += $(mac_BIN_DIR) $(mac_PKG_CONFIG_DIR) $(mac_LIBS_DIR) $(mac_TPN_DIR) $(mac_MONO_VERSION)
12 # Parameters
13 # $(1): target
14 # $(2): host arch
15 # $(3): xcode dir
16 define MacTemplate
18 mac_$(1)_PLATFORM_BIN=$(3)/Toolchains/XcodeDefault.xctoolchain/usr/bin
20 _mac-$(1)_CC=$$(CCACHE) $$(mac_$(1)_PLATFORM_BIN)/clang
21 _mac-$(1)_CXX=$$(CCACHE) $$(mac_$(1)_PLATFORM_BIN)/clang++
23 _mac-$(1)_AC_VARS= \
24 ac_cv_func_fstatat=no \
25 ac_cv_func_readlinkat=no \
26 ac_cv_func_futimens=no \
27 ac_cv_func_utimensat=no
29 _mac-$(1)_CFLAGS= \
30 $$(mac-$(1)_SYSROOT) \
31 -arch $(2)
33 _mac-$(1)_CXXFLAGS= \
34 $$(mac-$(1)_SYSROOT) \
35 -arch $(2)
37 _mac-$(1)_CPPFLAGS=
39 _mac-$(1)_LDFLAGS= \
40 -Wl,-no_weak_imports
42 _mac-$(1)_CONFIGURE_FLAGS= \
43 --disable-boehm \
44 --disable-btls \
45 --disable-iconv \
46 --disable-mcs-build \
47 --disable-nls \
48 --enable-maintainer-mode \
49 --with-glib=embedded \
50 --with-mcs-docs=no
52 .stamp-mac-$(1)-toolchain:
53 touch $$@
55 $$(eval $$(call RuntimeTemplate,mac,$(1),$(2)-apple-darwin10,yes))
57 endef
59 mac-mac64_SYSROOT=-isysroot $(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(MACOS_VERSION).sdk -mmacosx-version-min=$(MACOS_VERSION_MIN)
61 $(eval $(call MacTemplate,mac64,x86_64,$(XCODE_DIR)))
63 $(eval $(call BclTemplate,mac,xammac xammac_net_4_5,xammac xammac_net_4_5))
65 $(mac_BIN_DIR): package-mac-mac64
66 rm -rf $(mac_BIN_DIR)
67 mkdir -p $(mac_BIN_DIR)
69 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/bin/mono-sgen $(mac_BIN_DIR)/mono-sgen
71 $(mac_PKG_CONFIG_DIR): package-mac-mac64
72 rm -rf $(mac_PKG_CONFIG_DIR)
73 mkdir -p $(mac_PKG_CONFIG_DIR)
75 cp $(TOP)/sdks/builds/mac-mac64-$(CONFIGURATION)/data/mono-2.pc $(mac_PKG_CONFIG_DIR)
77 $(mac_LIBS_DIR): package-mac-mac64
78 rm -rf $(mac_LIBS_DIR)
79 mkdir -p $(mac_LIBS_DIR)
81 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/lib/libmonosgen-2.0.dylib $(mac_LIBS_DIR)/libmonosgen-2.0.dylib
82 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/lib/libmono-native-compat.dylib $(mac_LIBS_DIR)/libmono-native-compat.dylib
83 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/lib/libmono-native-unified.dylib $(mac_LIBS_DIR)/libmono-native-unified.dylib
84 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/lib/libMonoPosixHelper.dylib $(mac_LIBS_DIR)/libMonoPosixHelper.dylib
85 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/lib/libmonosgen-2.0.a $(mac_LIBS_DIR)/libmonosgen-2.0.a
86 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/lib/libmono-native-compat.a $(mac_LIBS_DIR)/libmono-native-compat.a
87 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/lib/libmono-native-unified.a $(mac_LIBS_DIR)/libmono-native-unified.a
88 cp $(TOP)/sdks/out/mac-mac64-$(CONFIGURATION)/lib/libmono-profiler-log.a $(mac_LIBS_DIR)/libmono-profiler-log.a
90 $(mac_mac64_PLATFORM_BIN)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $(mac_LIBS_DIR)/libmonosgen-2.0.dylib
91 $(mac_mac64_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-compat.dylib $(mac_LIBS_DIR)/libmono-native-compat.dylib
92 $(mac_mac64_PLATFORM_BIN)/install_name_tool -id @rpath/libmono-native-unified.dylib $(mac_LIBS_DIR)/libmono-native-unified.dylib
93 $(mac_mac64_PLATFORM_BIN)/install_name_tool -id @rpath/libMonoPosixHelper.dylib $(mac_LIBS_DIR)/libMonoPosixHelper.dylib
95 $(mac_MONO_VERSION): $(TOP)/configure.ac
96 mkdir -p $(dir $(mac_MONO_VERSION))
97 grep AC_INIT $(TOP)/configure.ac | sed -e 's/.*\[//' -e 's/\].*//' > $@
99 $(mac_TPN_DIR)/LICENSE:
100 mkdir -p $(mac_TPN_DIR)
101 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 . $(mac_TPN_DIR)
103 $(mac_TPN_DIR): $(mac_TPN_DIR)/LICENSE