Stop injecting compiler arguments via PMCS (#3057)
- Remove PMCS injection of command line arguments. Handled directly by Makefile - Classic iOS is still building for now due to documentation issues but will be removed at a later date.
This commit is contained in:
Родитель
6ad9014c9f
Коммит
7f565e6e4c
|
@ -1 +1 @@
|
|||
Subproject commit fd01b78da403a904b675462eb73c748f6fcaac74
|
||||
Subproject commit 67ca117a455f5b8f614ac87c6c762768a7f356d9
|
|
@ -1,59 +0,0 @@
|
|||
#if !XAMCORE_2_0
|
||||
//
|
||||
// Compat.cs: namespaces with internal classes to simplify
|
||||
// code sharing with MonoTouch
|
||||
//
|
||||
//
|
||||
// Copryright 2013 Xamarin Inc
|
||||
//
|
||||
namespace MonoTouch.AVFoundation { internal class x {} }
|
||||
namespace MonoTouch.Accounts { internal class x {} }
|
||||
namespace MonoTouch.AdSupport { internal class x {} }
|
||||
namespace MonoTouch.AddressBook { internal class x {} }
|
||||
namespace MonoTouch.AddressBookUI { internal class x {} }
|
||||
namespace MonoTouch.AssetsLibrary { internal class x {} }
|
||||
namespace MonoTouch.AudioToolbox { internal class x {} }
|
||||
namespace MonoTouch.AudioUnit { internal class x {} }
|
||||
namespace MonoTouch.AudioUnitWrapper { internal class x {} }
|
||||
namespace MonoTouch.CoreAnimation { internal class x {} }
|
||||
namespace MonoTouch.CoreBluetooth { internal class x {} }
|
||||
namespace MonoTouch.CoreData { internal class x {} }
|
||||
namespace MonoTouch.CoreFoundation { internal class x {} }
|
||||
namespace MonoTouch.CoreGraphics { internal class x {} }
|
||||
namespace MonoTouch.CoreImage { internal class x {} }
|
||||
namespace MonoTouch.CoreLocation { internal class x {} }
|
||||
namespace MonoTouch.CoreMedia { internal class x {} }
|
||||
namespace MonoTouch.CoreMidi { internal class x {} }
|
||||
namespace MonoTouch.CoreMotion { internal class x {} }
|
||||
namespace MonoTouch.CoreServices { internal class x {} }
|
||||
namespace MonoTouch.CoreTelephony { internal class x {} }
|
||||
namespace MonoTouch.CoreText { internal class x {} }
|
||||
namespace MonoTouch.CoreVideo { internal class x {} }
|
||||
namespace MonoTouch.EventKit { internal class x {} }
|
||||
namespace MonoTouch.EventKitUI { internal class x {} }
|
||||
namespace MonoTouch.ExternalAccessory { internal class x {} }
|
||||
namespace MonoTouch.Foundation { internal class x {} }
|
||||
namespace MonoTouch.GLKit { internal class x {} }
|
||||
namespace MonoTouch.GameKit { internal class x {} }
|
||||
namespace MonoTouch.ImageIO { internal class x {} }
|
||||
namespace MonoTouch.Libraries { internal class x {} }
|
||||
namespace MonoTouch.MapKit { internal class x {} }
|
||||
namespace MonoTouch.MediaPlayer { internal class x {} }
|
||||
namespace MonoTouch.MediaToolbox { internal class x {} }
|
||||
namespace MonoTouch.MessageUI { internal class x {} }
|
||||
namespace MonoTouch.MobileCoreServices { internal class x {} }
|
||||
namespace MonoTouch.NewsstandKit { internal class x {} }
|
||||
namespace MonoTouch.ObjCRuntime { internal class x {} }
|
||||
namespace MonoTouch.OpenGLES { internal class x {} }
|
||||
namespace MonoTouch.PassKit { internal class x {} }
|
||||
namespace MonoTouch.QuickLook { internal class x {} }
|
||||
namespace MonoTouch.Registrar { internal class x {} }
|
||||
namespace MonoTouch.Security { internal class x {} }
|
||||
namespace MonoTouch.Social { internal class x {} }
|
||||
namespace MonoTouch.StoreKit { internal class x {} }
|
||||
namespace MonoTouch.SystemConfiguration { internal class x {} }
|
||||
namespace MonoTouch.Twitter { internal class x {} }
|
||||
namespace MonoTouch.UIKit { internal class x {} }
|
||||
namespace MonoTouch.Utils { internal class x {} }
|
||||
namespace MonoTouch.iAd { internal class x {} }
|
||||
#endif
|
50
src/Makefile
50
src/Makefile
|
@ -48,6 +48,9 @@ COMMON_TARGET_DIRS = \
|
|||
build/common \
|
||||
build/common/NativeTypes \
|
||||
|
||||
ARGS_32 = -define:ARCH_32
|
||||
ARGS_64 = -define:ARCH_64
|
||||
|
||||
#
|
||||
# Xamarin.iOS
|
||||
#
|
||||
|
@ -65,7 +68,9 @@ IOS_CORE_SOURCES += $(IOS_EXTRA_SOURCES)
|
|||
IOS_SOURCES += $(IOS_EXTRA_SOURCES)
|
||||
|
||||
IOS_GENERATOR_FLAGS = -inline-selectors -d:IOS -process-enums -warnaserror:$(IOS_GENERATOR_WARNASERROR)
|
||||
IOS_GENERATOR_native_FLAGS = -d:XAMCORE_2_0 -d:__UNIFIED__
|
||||
IOS_DEFINES = -define:IPHONE -define:IOS -define:MONOTOUCH -d:NET_2_0 -d:__IOS__ $(APPLETLS_DEFINES)
|
||||
IOS_native_DEFINES = -d:XAMCORE_2_0 -d:__UNIFIED__
|
||||
IOS_LIBDIR = $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mono/2.1
|
||||
IOS_PMCS = $(IOS_BUILD_DIR)/pmcs
|
||||
IOS_BMONO = MONO_PATH=$(IOS_LIBDIR) $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btouch-mono
|
||||
|
@ -119,6 +124,7 @@ $(IOS_BUILD_DIR)/$(1)/core.dll: $$(IOS_PMCS) $$(IOS_CORE_SOURCES) frameworks.sou
|
|||
-r:$(IOS_LIBDIR)/Mono.Security.dll \
|
||||
-nowarn:219,618,114,414,1635,3021,$$(IOS_WARNINGS_THAT_YOU_SHOULD_FIX) \
|
||||
-define:COREBUILD $$(IOS_DEFINES) \
|
||||
$$(IOS_$(1)_DEFINES) \
|
||||
$$(IOS_CORE_SOURCES)
|
||||
|
||||
# generator.exe
|
||||
|
@ -139,6 +145,7 @@ xi_native_profile=--target-framework=Xamarin.iOS,v1.0
|
|||
$(IOS_BUILD_DIR)/$(1)/generated_sources: $$(IOS_$(1)_GENERATOR) $$(IOS_APIS) $(IOS_BUILD_DIR)/$(1)/core.dll $(IOS_PMCS) $(IOS_BUILD_DIR)/native/$(4)
|
||||
$$(call Q_PROF_GEN,ios/$(1)) PMCS_PROFILE=$(3) $$(IOS_$(1)_GENERATE) \
|
||||
$$(IOS_GENERATOR_FLAGS) \
|
||||
$$(IOS_GENERATOR_$(1)_FLAGS) \
|
||||
-core \
|
||||
-sourceonly=$$@ \
|
||||
-compiler=$$(IOS_PMCS) \
|
||||
|
@ -165,21 +172,30 @@ $(IOS_BUILD_DIR)/$(1)/$(3): $$(IOS_SOURCES) $(IOS_BUILD_DIR)/$(4)/generated_sour
|
|||
@mkdir -p $(IOS_BUILD_DIR)/$(1)
|
||||
$$(call Q_PROF_PMCS,ios/$(1)) PMCS_PROFILE=$(5) $$(IOS_PMCS) -out:$$@ -target:library -debug -unsafe -optimize \
|
||||
-r:$(IOS_LIBDIR)/Mono.Security.dll \
|
||||
$$(ARGS_$(6)) \
|
||||
-keyfile:$(PRODUCT_KEY_PATH) $$(IOS_DEFINES) \
|
||||
$$(IOS_$(4)_DEFINES) \
|
||||
-nowarn:219,618,114,414,1635,3021,$$(IOS_WARNINGS_THAT_YOU_SHOULD_FIX) \
|
||||
$(IOS_MCS_FLAGS_XI) \
|
||||
$$(IOS_SOURCES) @$(IOS_BUILD_DIR)/$(4)/generated_sources
|
||||
|
||||
$(IOS_BUILD_DIR)/$(1)/$(3).mdb: $(IOS_BUILD_DIR)/$(1)/$(3)
|
||||
@touch $(IOS_BUILD_DIR)/$(1)/$(3).mdb
|
||||
chmod 0644 $(IOS_BUILD_DIR)/$(1)/$(3).mdb
|
||||
|
||||
$(IOS_BUILD_DIR)/$(1)/$(3).pdb: $(IOS_BUILD_DIR)/$(1)/$(3).dll
|
||||
|
||||
endef
|
||||
|
||||
$(eval $(call IOS_TARGETS_template,compat,--ns=MonoTouch.ObjCRuntime,monotouch.dll,compat,compat-ios))
|
||||
$(eval $(call IOS_TARGETS_template,native-32,--ns=ObjCRuntime,Xamarin.iOS.dll,native,native-32))
|
||||
$(eval $(call IOS_TARGETS_template,native-64,--ns=ObjCRuntime,Xamarin.iOS.dll,native,native-64))
|
||||
$(IOS_BUILD_DIR)/compat/%: $(MACIOS_BINARIES_PATH)/% | $(IOS_BUILD_DIR)/compat
|
||||
$(Q) cp $< $@
|
||||
|
||||
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mono/2.1/%: $(IOS_BUILD_DIR)/compat/%
|
||||
$(Q) cp $< $@
|
||||
|
||||
$(eval $(call IOS_TARGETS_template,compat,--ns=MonoTouch.ObjCRuntime,monotouch.dll,compat,compat-ios,32))
|
||||
$(eval $(call IOS_TARGETS_template,native-32,--ns=ObjCRuntime,Xamarin.iOS.dll,native,native-32,32))
|
||||
$(eval $(call IOS_TARGETS_template,native-64,--ns=ObjCRuntime,Xamarin.iOS.dll,native,native-64,64))
|
||||
|
||||
define IOS_LIBS_template
|
||||
IOS_VARIANTS_TARGETS += $(addprefix $(IOS_BUILD_DIR)/$(1)/,$(4) $(5))
|
||||
|
@ -440,8 +456,11 @@ MAC_WARNINGS_TO_FIX := 114,108
|
|||
# 4014 is "The statement is not awaited and execution of current method continues before the call is completed. Consider using `await' operator or calling `Wait' method"
|
||||
MAC_WARNINGS_TO_FIX := $(MAC_WARNINGS_TO_FIX),4014
|
||||
|
||||
MAC_COMMON_DEFINES = -define:NET_2_0,XAMARIN_MAC,MONOMAC
|
||||
MAC_COMMON_DEFINES = -define:NET_2_0,XAMARIN_MAC,MONOMAC,XAMCORE_2_0,__UNIFIED__
|
||||
MAC_full_ARGS = -sdk:4.5 -define:NO_SYSTEM_DRAWING -define:XAMMAC_SYSTEM_MONO
|
||||
MAC_mobile_ARGS = -nostdlib -r:mscorlib -lib:$(abspath $(MAC_DESTDIR)/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/mono/Xamarin.Mac)
|
||||
MAC_BOOTSTRAP_DEFINES = $(MAC_COMMON_DEFINES),COREBUILD
|
||||
MAC_GENERATED_DEFINES = -d:MONOMAC -d:XAMARIN_MAC -d:XAMCORE_2_0 -d:__UNIFIED__
|
||||
|
||||
SN_KEY = $(PRODUCT_KEY_PATH)
|
||||
|
||||
|
@ -456,7 +475,6 @@ MAC_CORE_SOURCES += \
|
|||
MAC_SOURCES += \
|
||||
$(MAC_EXTRA_CORE_SOURCES) \
|
||||
$(MAC_BUILD_DIR)/AssemblyInfo.cs \
|
||||
Compat.mac.cs \
|
||||
Obsoletes.cs \
|
||||
Darwin/KernelNotification.cs \
|
||||
Darwin/SystemLog.cs \
|
||||
|
@ -529,8 +547,7 @@ $(MAC_BUILD_DIR)/$(1)/_bmac.exe: $(MAC_BUILD_DIR)/$(1)/core.dll $(MAC_APIS) $(GE
|
|||
|
||||
$(MAC_BUILD_DIR)/$(1)/generated-sources: $$(MAC_$(1)_GENERATOR) $(MAC_APIS) $(MAC_BUILD_DIR)/$(1)/core.dll $(MAC_BUILD_DIR)/$(1)/pmcs $(MAC_BUILD_DIR)/$(7)
|
||||
$$(call Q_PROF_GEN,mac/$(1)) PMCS_PROFILE=$(6) $$(MAC_$(1)_GENERATE) \
|
||||
-d:MONOMAC \
|
||||
-d:XAMARIN_MAC \
|
||||
$(MAC_GENERATED_DEFINES) \
|
||||
-compiler:$(MAC_BUILD_DIR)/$(1)/pmcs \
|
||||
-process-enums \
|
||||
-warnaserror:$(MAC_GENERATOR_WARNASERROR) \
|
||||
|
@ -557,6 +574,8 @@ $(MAC_BUILD_DIR)/$(1)/$(2): $(MAC_BUILD_DIR)/$(3)/generated-sources $(MAC_SOURCE
|
|||
-out:$$@ -target:library -debug -unsafe \
|
||||
$$(MAC_COMMON_DEFINES),OBJECT_REF_TRACKING \
|
||||
-r:Mono.Security.dll \
|
||||
$$(MAC_$(3)_ARGS) \
|
||||
$$(ARGS_$(6)) \
|
||||
-keyfile:$(SN_KEY) \
|
||||
-nowarn:3021,1635,612,618,0219,0414,$(MAC_WARNINGS_TO_FIX) \
|
||||
$(MAC_MCS_FLAGS_XM) \
|
||||
|
@ -564,10 +583,10 @@ $(MAC_BUILD_DIR)/$(1)/$(2): $(MAC_BUILD_DIR)/$(3)/generated-sources $(MAC_SOURCE
|
|||
@$$< $$(MAC_SOURCES)
|
||||
endef
|
||||
|
||||
$(eval $(call MAC_TARGETS_template,mobile-32,Xamarin.Mac.dll,mobile,-r:System.Net.Http -lib:$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/mono/Xamarin.Mac $(MAC_CFNETWORK_SOURCES) $(MAC_MODERNHTTP_SOURCES) $(SHARED_SYSTEM_DRAWING_SOURCES) $(APPLETLS_DEFINES) -D:XAMARIN_MODERN -D:UNIFIED -D:__UNIFIED__,mobile-32))
|
||||
$(eval $(call MAC_TARGETS_template,mobile-64,Xamarin.Mac.dll,mobile,-r:System.Net.Http -lib:$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/mono/Xamarin.Mac $(MAC_CFNETWORK_SOURCES) $(MAC_MODERNHTTP_SOURCES) $(SHARED_SYSTEM_DRAWING_SOURCES) $(APPLETLS_DEFINES) -D:XAMARIN_MODERN -D:UNIFIED -D:__UNIFIED__,mobile-64))
|
||||
$(eval $(call MAC_TARGETS_template,full-32,Xamarin.Mac.dll,full,-r:System.Net.Http -lib:$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/mono/4.5 $(MAC_CFNETWORK_SOURCES) $(MAC_MODERNHTTP_SOURCES) -D:XAMARIN_MODERN -D:UNIFIED -D:__UNIFIED__,full-32))
|
||||
$(eval $(call MAC_TARGETS_template,full-64,Xamarin.Mac.dll,full,-r:System.Net.Http -lib:$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/mono/4.5 $(MAC_CFNETWORK_SOURCES) $(MAC_MODERNHTTP_SOURCES) -D:XAMARIN_MODERN -D:UNIFIED -D:__UNIFIED__,full-64))
|
||||
$(eval $(call MAC_TARGETS_template,mobile-32,Xamarin.Mac.dll,mobile,-r:System.Net.Http -lib:$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/mono/Xamarin.Mac $(MAC_CFNETWORK_SOURCES) $(MAC_MODERNHTTP_SOURCES) $(SHARED_SYSTEM_DRAWING_SOURCES) $(APPLETLS_DEFINES) -D:XAMARIN_MODERN -D:UNIFIED -D:__UNIFIED__,mobile-32,32))
|
||||
$(eval $(call MAC_TARGETS_template,mobile-64,Xamarin.Mac.dll,mobile,-r:System.Net.Http -lib:$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/mono/Xamarin.Mac $(MAC_CFNETWORK_SOURCES) $(MAC_MODERNHTTP_SOURCES) $(SHARED_SYSTEM_DRAWING_SOURCES) $(APPLETLS_DEFINES) -D:XAMARIN_MODERN -D:UNIFIED -D:__UNIFIED__,mobile-64,64))
|
||||
$(eval $(call MAC_TARGETS_template,full-32,Xamarin.Mac.dll,full,-r:System.Net.Http -lib:$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/mono/4.5 $(MAC_CFNETWORK_SOURCES) $(MAC_MODERNHTTP_SOURCES) -D:XAMARIN_MODERN -D:UNIFIED -D:__UNIFIED__,full-32,32))
|
||||
$(eval $(call MAC_TARGETS_template,full-64,Xamarin.Mac.dll,full,-r:System.Net.Http -lib:$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/mono/4.5 $(MAC_CFNETWORK_SOURCES) $(MAC_MODERNHTTP_SOURCES) -D:XAMARIN_MODERN -D:UNIFIED -D:__UNIFIED__,full-64,64))
|
||||
|
||||
$(MAC_BUILD_DIR)/%-reference/Xamarin.Mac.dll: $(MAC_BUILD_DIR)/%-64/Xamarin.Mac.dll
|
||||
@mkdir -p $(@D)
|
||||
|
@ -738,6 +757,7 @@ WATCH_LIBDIR = $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.WatchOS
|
|||
WATCH_BMONO = MONO_PATH=$(WATCH_LIBDIR)/repl $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/bwatch-mono
|
||||
WATCH_GENERATOR=build/common/bgen.exe
|
||||
WATCH_GENERATE=$(SYSTEM_MONO) --debug $(WATCH_GENERATOR)
|
||||
WATCH_GENERATED_DEFINES= -d:WATCH -d:XAMCORE_3_0 -d:XAMCORE_2_0 -d:__UNIFIED__
|
||||
|
||||
WATCHOS_EXTRA_CORE_SOURCES = \
|
||||
$(WATCH_BUILD_DIR)/Constants.cs \
|
||||
|
@ -793,6 +813,7 @@ $(WATCH_BUILD_DIR)/watch/generator.exe: $(GENERATOR_SOURCES) $(WATCH_BUILD_DIR)/
|
|||
$(call Q_PROF_PMCS,watch) PMCS_PROFILE=watch $(WATCH_PMCS) -out:$@ -debug -unsafe \
|
||||
-r:$(WATCH_BUILD_DIR)/watch/core.dll \
|
||||
$(GENERATOR_SOURCES) \
|
||||
$(WATCH_DEFINES) \
|
||||
$(GENERATOR_DEFINES) \
|
||||
|
||||
# generated_sources
|
||||
|
@ -812,7 +833,7 @@ $(WATCH_BUILD_DIR)/watch/generated_sources: $(WATCH_GENERATOR) $(WATCHOS_APIS) $
|
|||
-r=$(WATCH_MONO_PATH)/mcs/class/lib/monotouch_watch/System.dll \
|
||||
-ns=MonoTouch.ObjCRuntime \
|
||||
-native-exception-marshalling \
|
||||
-d:WATCH \
|
||||
$(WATCH_GENERATED_DEFINES) \
|
||||
--ns:ObjCRuntime \
|
||||
$(WATCHOS_APIS) \
|
||||
--target-framework=Xamarin.WatchOS,v1.0 \
|
||||
|
@ -820,6 +841,7 @@ $(WATCH_BUILD_DIR)/watch/generated_sources: $(WATCH_GENERATOR) $(WATCHOS_APIS) $
|
|||
$(WATCH_BUILD_DIR)/watch-32/Xamarin.WatchOS.dll: $(WATCHOS_SOURCES) $(WATCH_BUILD_DIR)/watch/generated_sources $(PRODUCT_KEY_PATH) | $(WATCH_BUILD_DIR)/watch-32
|
||||
$(call Q_PROF_PMCS,watch) PMCS_PROFILE=watch-32 $(WATCH_PMCS) -out:$@ -target:library -debug -unsafe -optimize \
|
||||
-keyfile:$(PRODUCT_KEY_PATH) $(WATCH_DEFINES) \
|
||||
$(ARGS_32) \
|
||||
-nowarn:219,618,114,414,1635,3021,$(IOS_WARNINGS_THAT_YOU_SHOULD_FIX) \
|
||||
$(WATCHOS_SOURCES) @$(WATCH_BUILD_DIR)/watch/generated_sources
|
||||
|
||||
|
@ -967,6 +989,7 @@ TVOS_LIBDIR = $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.TVOS
|
|||
TVOS_BMONO = MONO_PATH=$(TVOS_LIBDIR)/repl $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btv-mono
|
||||
TVOS_GENERATOR=build/common/bgen.exe
|
||||
TVOS_GENERATE=$(SYSTEM_MONO) --debug $(TVOS_GENERATOR)
|
||||
TVOS_GENERATED_DEFINES= -d:TVOS -d:XAMCORE_3_0 -d:XAMCORE_2_0 -d:__UNIFIED__
|
||||
|
||||
TVOS_EXTRA_CORE_SOURCES = \
|
||||
$(TVOS_BUILD_DIR)/Constants.cs \
|
||||
|
@ -1034,9 +1057,9 @@ $(TVOS_BUILD_DIR)/tvos/generated_sources: $(TVOS_GENERATOR) $(TVOS_APIS) $(TVOS_
|
|||
-baselib=$(TVOS_BUILD_DIR)/tvos/core.dll \
|
||||
-attributelib=$(TVOS_BUILD_DIR)/Xamarin.TVOS.BindingAttributes.dll \
|
||||
-r=$(MONO_PATH)/mcs/class/lib/monotouch_tv/System.dll \
|
||||
$(TVOS_GENERATED_DEFINES) \
|
||||
-ns=MonoTouch.ObjCRuntime \
|
||||
-native-exception-marshalling \
|
||||
-d:TVOS \
|
||||
--ns:ObjCRuntime \
|
||||
$(TVOS_APIS) \
|
||||
--target-framework=Xamarin.TVOS,v1.0 \
|
||||
|
@ -1045,6 +1068,7 @@ $(TVOS_BUILD_DIR)/tvos-64/Xamarin.TVOS.dll: $(TVOS_SOURCES) $(TVOS_BUILD_DIR)/tv
|
|||
$(call Q_PROF_PMCS,tvos) PMCS_PROFILE=tvos-64 $(TVOS_PMCS) -out:$@ -target:library -debug -unsafe -optimize \
|
||||
-keyfile:$(PRODUCT_KEY_PATH) $(TVOS_DEFINES) \
|
||||
-r:$(TVOS_LIBDIR)/Mono.Security.dll \
|
||||
$(ARGS_64) \
|
||||
-nowarn:219,618,114,414,1635,3021,$(IOS_WARNINGS_THAT_YOU_SHOULD_FIX) \
|
||||
$(TVOS_SOURCES) @$(TVOS_BUILD_DIR)/tvos/generated_sources
|
||||
|
||||
|
|
|
@ -217,9 +217,10 @@ $(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/%.exe: build/common/bgen.exe
|
|||
$(Q) install -m 0755 $< $@
|
||||
$(Q) install -m 0644 $< $(@:.exe=.pdb)
|
||||
|
||||
$(MAC_BUILD_DIR)/XamMac.BindingAttributes.dll: generator-attributes.cs Makefile.generator $(PMCS_EXE)
|
||||
$(MAC_BUILD_DIR)/XamMac.BindingAttributes.dll: $(MACIOS_BINARIES_PATH)/XamMac.BindingAttributes.dll
|
||||
$(Q) mkdir -p $(dir $@)
|
||||
$(Q_GEN) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/compat-mac" -compiler:$(SYSTEM_MCS) -global-replace:"^XamCore.=MonoMac." -out:$@ -debug generator-attributes.cs -target:library
|
||||
$(Q) cp $< $@
|
||||
$(Q) cp $<.mdb $@.mdb
|
||||
|
||||
$(MAC_BUILD_DIR)/Xamarin.Mac-%.BindingAttributes.dll: generator-attributes.cs Makefile.generator $(PMCS_EXE)
|
||||
$(Q) mkdir -p $(dir $@)
|
||||
|
|
|
@ -15,120 +15,25 @@ namespace Xamarin.Pmcs.Profiles
|
|||
public static Profile Get (string profileName)
|
||||
{
|
||||
switch (profileName) {
|
||||
// Watch
|
||||
case "watch":
|
||||
return new WatchXamCore3 (ArchDefine.None);
|
||||
case "watch-32":
|
||||
return new WatchXamCore3 (ArchDefine.ARCH_32);
|
||||
|
||||
// TVOS
|
||||
case "tvos":
|
||||
return new WatchXamCore3 (ArchDefine.None);
|
||||
case "tvos-64":
|
||||
return new WatchXamCore3 (ArchDefine.ARCH_64);
|
||||
|
||||
// iOS
|
||||
case "native":
|
||||
return new IosXamCore2 (ArchDefine.None);
|
||||
case "native-64":
|
||||
return new IosXamCore2 (ArchDefine.ARCH_64);
|
||||
case "native-32":
|
||||
return new IosXamCore2 (ArchDefine.ARCH_32);
|
||||
|
||||
// Mac
|
||||
case "mobile":
|
||||
return new MacMobileFrameworkXamCore2 (ArchDefine.None);
|
||||
case "mobile-64":
|
||||
return new MacMobileFrameworkXamCore2 (ArchDefine.ARCH_64);
|
||||
case "mobile-32":
|
||||
return new MacMobileFrameworkXamCore2 (ArchDefine.ARCH_32);
|
||||
case "full":
|
||||
return new MacFullFrameworkXamCore2 (ArchDefine.None);
|
||||
case "full-64":
|
||||
return new MacFullFrameworkXamCore2 (ArchDefine.ARCH_64);
|
||||
case "full-32":
|
||||
return new MacFullFrameworkXamCore2 (ArchDefine.ARCH_32);
|
||||
|
||||
// Compat iOS/Mac
|
||||
case "compat-ios":
|
||||
return new CompatIos ();
|
||||
case "compat-mac":
|
||||
return new CompatMac ();
|
||||
throw new InvalidOperationException ("Classic should not be building");
|
||||
default:
|
||||
return new XamCore2Common ();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public enum ArchDefine
|
||||
class XamCore2Common : Profile
|
||||
{
|
||||
None,
|
||||
ARCH_32,
|
||||
ARCH_64
|
||||
}
|
||||
|
||||
abstract class XamCore3Common : XamCore2Common
|
||||
{
|
||||
protected XamCore3Common (ArchDefine arch) : base (arch)
|
||||
public XamCore2Common ()
|
||||
{
|
||||
CompilerOptions.Add ("-define:XAMCORE_3_0");
|
||||
}
|
||||
}
|
||||
|
||||
abstract class XamCore2Common : Profile
|
||||
{
|
||||
protected XamCore2Common (ArchDefine arch)
|
||||
{
|
||||
CompilerOptions.Add ("-define:XAMCORE_2_0");
|
||||
CompilerOptions.Add ("-define:__UNIFIED__");
|
||||
|
||||
if (arch != ArchDefine.None)
|
||||
CompilerOptions.Add ("-define:" + arch.ToString ());
|
||||
|
||||
IgnorePaths.Add ("Compat.mac.cs");
|
||||
IgnorePaths.Add ("Compat.iOS.cs");
|
||||
|
||||
GlobalReplacements.Add (new Xamarin20Replacement ());
|
||||
EnumBackingTypeReplacements.Add (new Xamarin20Replacement ());
|
||||
}
|
||||
}
|
||||
|
||||
sealed class WatchXamCore3 : XamCore3Common
|
||||
{
|
||||
public WatchXamCore3 (ArchDefine arch) : base (arch)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
sealed class IosXamCore2 : XamCore2Common
|
||||
{
|
||||
public IosXamCore2 (ArchDefine arch) : base (arch)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
sealed class MacMobileFrameworkXamCore2 : XamCore2Common
|
||||
{
|
||||
public MacMobileFrameworkXamCore2 (ArchDefine arch) : base (arch)
|
||||
{
|
||||
CompilerExecutable = "../builds/mcs-mac32";
|
||||
|
||||
CompilerOptions.Add ("-nostdlib");
|
||||
CompilerOptions.Add ("-r:mscorlib");
|
||||
CompilerOptions.Add ("-lib:../_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/mono/Xamarin.Mac");
|
||||
}
|
||||
}
|
||||
|
||||
sealed class MacFullFrameworkXamCore2 : XamCore2Common
|
||||
{
|
||||
public MacFullFrameworkXamCore2 (ArchDefine arch) : base (arch)
|
||||
{
|
||||
CompilerOptions.Add ("-sdk:4.5");
|
||||
CompilerOptions.Add ("-define:NO_SYSTEM_DRAWING");
|
||||
CompilerOptions.Add ("-define:XAMMAC_SYSTEM_MONO");
|
||||
}
|
||||
}
|
||||
|
||||
sealed class CompatIos : Profile
|
||||
{
|
||||
public CompatIos ()
|
||||
|
@ -140,21 +45,6 @@ namespace Xamarin.Pmcs.Profiles
|
|||
}
|
||||
}
|
||||
|
||||
sealed class CompatMac : Profile
|
||||
{
|
||||
public CompatMac ()
|
||||
{
|
||||
CompilerOptions.Add ("-sdk:4.0");
|
||||
CompilerOptions.Add ("-define:ARCH_32");
|
||||
CompilerOptions.Add ("-define:XAMMAC_SYSTEM_MONO");
|
||||
|
||||
IgnorePaths.Add ("Compat.mac.cs");
|
||||
|
||||
GlobalReplacements.Add (new XamarinCompatReplacement ("MonoMac"));
|
||||
EnumBackingTypeReplacements.Add (new XamarinCompatReplacement ("MonoMac"));
|
||||
}
|
||||
}
|
||||
|
||||
class Xamarin20Replacement : ExplicitReplacement
|
||||
{
|
||||
protected override string Evaluate (string input)
|
||||
|
|
Загрузка…
Ссылка в новой задаче