[csdoc-patches] csdoc/src/mcs/build/profiles atomic.make,NONE,1.1 bootstrap.make,NONE,1.1 default.ma
Status: Planning
Brought to you by:
mastergaurav
Update of /cvsroot/csdoc/csdoc/src/mcs/build/profiles In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20482/profiles Added Files: atomic.make bootstrap.make default.make net_1_0.make net_2_0.make net_2_0_bootstrap.make Log Message: no message --- NEW FILE: atomic.make --- # -*- Makefile -*- # # The 'atomic' profile. # In this profile we compile everything relative to the already-installed # runtime, so we use the bootstrap (external) compiler for everything and # don't set MONO_PATH. # # (So the libraries are compiled and installed atomically, not incrementally.) MCS = $(BOOTSTRAP_MCS) # Causes some build errors #PROFILE_MCS_FLAGS = /d:NET_1_1 /lib:$(prefix)/lib # Get our installed libraries (an issue on windows) PROFILE_MCS_FLAGS = /lib:$(prefix)/lib # Check that installed libraries even exist. profile-check: @if test '!' -f $(prefix)/lib/I18N.dll ; then \ echo ; \ echo "$(prefix)/lib/I18N.dll does not exist." ; \ echo ; \ echo "This probably means that you are building from a miniature" ; \ echo "distribution of MCS or don't yet have an installed MCS at all." ; \ echo "The current build profile needs a complete installation of" ; \ echo "MCS to build against; you need to build using the default" ; \ echo "profile. Use this command:" ; \ echo ; \ echo " $(MAKE) PROFILE=default" ; \ echo ; \ exit 1 ; \ fi # Exciting, no? --- NEW FILE: bootstrap.make --- # -*- makefile -*- # # The default 'bootstrap' profile -- builds so that we link against # the libraries as we build them. # # We use the platform's native C# runtime and compiler if possible. # Note that we have sort of confusing terminology here; BOOTSTRAP_MCS # is what allows us to bootstrap ourselves, but when we are bootstrapping, # we use INTERNAL_MCS. # When bootstrapping, compile against our new assemblies. # (MONO_PATH doesn't just affect what assemblies are loaded to # run the compiler; /r: flags are by default loaded from whatever's # in the MONO_PATH too). MCS = MONO_PATH="$(topdir)/class/lib/$(PROFILE):$$MONO_PATH" $(RUNTIME) --debug $(topdir)/mcs/mcs.exe BOOTSTRAP_MCS = $(MCS) # nuttzing! profile-check: # Causes some build errors PROFILE_MCS_FLAGS = -d:NET_1_1 -d:ONLY_1_1 --- NEW FILE: default.make --- # -*- makefile -*- # # The default 'bootstrap' profile -- builds so that we link against # the libraries as we build them. # # We use the platform's native C# runtime and compiler if possible. # Note that we have sort of confusing terminology here; BOOTSTRAP_MCS # is what allows us to bootstrap ourselves, but when we are bootstrapping, # we use INTERNAL_MCS. # When bootstrapping, compile against our new assemblies. # (MONO_PATH doesn't just affect what assemblies are loaded to # run the compiler; /r: flags are by default loaded from whatever's # in the MONO_PATH too). ifdef PLATFORM_MONO_NATIVE MCS = MONO_PATH="$(topdir)/class/lib/$(PROFILE):$$MONO_PATH" $(INTERNAL_MCS) MBAS = MONO_PATH="$(topdir)/class/lib/$(PROFILE):$$MONO_PATH" $(INTERNAL_MBAS) else MCS = $(PLATFORM_RUNTIME) $(BOOTSTRAP_MCS) /lib:$(topdir)/class/lib/$(PROFILE) MBAS = $(PLATFORM_RUNTIME) $(BOOTSTRAP_MBAS) /lib:$(topdir)/class/lib/$(PROFILE) endif # nuttzing! profile-check: PROFILE_MCS_FLAGS = -d:NET_1_1 -d:ONLY_1_1 PROFILE_MBAS_FLAGS = -d:NET_1_1 -d:ONLY_1_1 FRAMEWORK_VERSION = 1.0 --- NEW FILE: net_1_0.make --- # -*- Makefile -*- # # Only build .NET 1.0 classes. # # If we want to combine this with, say, the atomic profile, # we should create 'atomic-net_1_0.make' which includes both. # # Ideally you could say 'make PROFILE="bootstrap net_1_0"' but # that would be pretty hard to code. include $(topdir)/build/profiles/default.make PROFILE_MCS_FLAGS = /d:NET_1_0 /d:ONLY_1_0 FRAMEWORK_VERSION = 1.0 # done --- NEW FILE: net_2_0.make --- # -*- makefile -*- # # The default 'bootstrap' profile -- builds so that we link against # the libraries as we build them. # # We use the platform's native C# runtime and compiler if possible. # Note that we have sort of confusing terminology here; BOOTSTRAP_MCS # is what allows us to bootstrap ourselves, but when we are bootstrapping, # we use INTERNAL_MCS. # When bootstrapping, compile against our new assemblies. # (MONO_PATH doesn't just affect what assemblies are loaded to # run the compiler; /r: flags are by default loaded from whatever's # in the MONO_PATH too). MCS = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS) # nuttzing! profile-check: PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -2 FRAMEWORK_VERSION = 2.0 --- NEW FILE: net_2_0_bootstrap.make --- # -*- makefile -*- # # Note that we're using the .NET 1.1 MCS but MONO_PATH points to the net_2_0_bootstrap directory. # We do it this way to get assembly version references right. # MCS = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_MCS) # Make sure that we're not invoked at the top-level. profile-check: echo "The 'net_2_0_bootstrap' profile is for internal use only" exit 1 PROFILE_MCS_FLAGS = -d:NET_1_1 -d:BOOTSTRAP_NET_2_0 -langversion:default FRAMEWORK_VERSION = 2.0 NO_SIGN_ASSEMBLY = yes |