[Mono-devel-list] PATCH: monolite-bootstrap

Jaroslaw Kowalski jaak at zd.com.pl
Thu May 20 03:08:37 EDT 2004


Can you adapt the patch and commit it yourself? I'm rather busy today and
tomorrow and Miguel asked me to commit.

I'm not sure about the System.XML stuff. I assume that if it works for a
fresh CVS checkout it must be fine. System.XML is a dependency of System so
it must be always present.

Jarek
----- Original Message ----- 
From: "Raja R Harinath" <rharinath at novell.com>
To: "Jaroslaw Kowalski" <jaak at zd.com.pl>
Cc: <mono-devel-list at ximian.com>
Sent: Thursday, May 20, 2004 8:26 AM
Subject: Re: [Mono-devel-list] PATCH: monolite-bootstrap


> Hi,
>
> "Jaroslaw Kowalski" <jaak at zd.com.pl> writes:
>
> > Hi guys!
> >
> > I've developed a patch that provides 2 additional targets for
> > bootstrapping mono:
> >
> > $ make monolite-bootstrap
> [snip]
> > May I commit it ?
>
> I don't know how you want to do it: I can work on 'make faststrap' and
> hopefully check it in tomorrow, or monday.  If you want to have a
> monolite-bootstrap before that, I guess you can check in something for
> the time being.
>
> > -.PHONY: tmpinst-dir tmpinst-runtime bootstrap stage1 stage2 stage3
stage1-mono stage1-mcs bootstrap-clean bootstrap-check
> > +.PHONY: tmpinst-dir tmpinst-runtime bootstrap stage1 stage2 stage3
stage1-mono stage1-$(BOOTSTRAP_MODE) bootstrap-clean bootstrap-check
>
> Just add stage1-monolite to this.  Don't use BOOTSTRAP_MODE here.
>
> > +stage1-local-monolite:
> > + rm -f $(mcs_topdir)/mcs/mcs.exe
$(mcs_topdir)/class/lib/default/mscorlib.dll
> > + rm -f $(mcs_topdir)/class/lib/default/System.dll
$(mcs_topdir)/class/lib/default/System.Xml.dll
> > + cd $(mcs_topdir)/jay && $(MAKE)
> > + rm -rf monolite_download
> > + mkdir monolite_download
> > + cd monolite_download && cp ../../monolite-latest.tar.gz . && tar zxvf
monolite-latest.tar.gz
> > + cp monolite_download/monolite-*/*.dll $(mcs_topdir)/class/lib/default/
> > + cp monolite_download/monolite-*/mcs.exe $(mcs_topdir)/mcs/mcs.exe
> > + rm -rf monolite_download
>
> OK.  Call this stage1-monolite.  But, once I put in 'make faststrap',
> this'll become 'tmpinst-runtime', and can directly put stuff into
> _tmpinst/lib.
>
> >  # Use stage1 'mcs', 'mscorlib.dll' and 'System.dll' to build fuller
versions
> > @@ -77,6 +101,7 @@
> >  cd $$mcs_topdir/mcs && $(MAKE) PROFILE=default ; \
> >  cd $$mcs_topdir/class/corlib && $(MAKE) PROFILE=default ; \
> >  cd $$mcs_topdir/class/System && $(MAKE) PROFILE=default ; \
> > + cd $$mcs_topdir/class/System.XML && $(MAKE) PROFILE=default ; \
> >  cd $$mcs_topdir/class/Mono.CSharp.Debugger && $(MAKE) PROFILE=default
> >  $(MAKE) tmpinst-runtime
>
> Re-run the build in System after System.XML.
>
> > @@ -106,7 +131,7 @@
> >  tmpinst-runtime:
> >  tmpinst=`cd _tmpinst && pwd` && \
> >  mv -f $(mcs_topdir)/mcs/mcs.exe $$tmpinst/lib && \
> > - mv -f $(mcs_topdir)/class/lib/default/mscorlib.dll
$(mcs_topdir)/class/lib/default/System.dll $$tmpinst/lib && \
> > + mv -f $(mcs_topdir)/class/lib/default/mscorlib.dll
$(mcs_topdir)/class/lib/default/System.dll
$(mcs_topdir)/class/lib/default/System.Xml.dll $$tmpinst/lib && \
> >  if test -f $(mcs_topdir)/class/lib/default/Mono.CSharp.Debugger.dll;
then \
> >    mv -f $(mcs_topdir)/class/lib/default/Mono.CSharp.Debugger.dll
$$tmpinst/lib ; else : ; fi
>
> I think you need to put in a check for the existance of System.Xml.dll,
> before moving it.
>
> In the mcs/ tree:
>
> > Index: Makefile
> > ===================================================================
> > RCS file: /cvs/public/mcs/Makefile,v
> > retrieving revision 1.12
> > diff -u -r1.12 Makefile
> > --- Makefile 17 May 2004 08:52:42 -0000 1.12
> > +++ Makefile 19 May 2004 10:43:06 -0000
> > @@ -1,5 +1,5 @@
> >  thisdir := .
> > -SUBDIRS := build jay mcs class mbas nunit20 monoresgen ilasm tools
tests errors docs
> > +SUBDIRS := build jay mcs monoresgen class mbas nunit20 ilasm tools
tests errors docs
> >  OVERRIDE_BARE_TARGETS = hells yeah
> >  include build/rules.make
>
> Then, monoresgen has to be compiled with BOOT_COMPILE instead of
> CSCOMPILE.  This may need some tinkering with build/executable.make.
>
> > Index: build/profiles/default.make
> > ===================================================================
> > RCS file: /cvs/public/mcs/build/profiles/default.make,v
> > retrieving revision 1.10
> > diff -u -r1.10 default.make
> > --- build/profiles/default.make 27 Apr 2004 06:00:57 -0000 1.10
> > +++ build/profiles/default.make 19 May 2004 10:43:07 -0000
> > @@ -20,6 +20,7 @@
> >  else
> >  MCS = $(PLATFORM_RUNTIME) $(BOOTSTRAP_MCS)
/lib:$(topdir)/class/lib/$(PROFILE)
> >  endif
> > +RESGEN = MONO_PATH="$(topdir)/class/lib/$(PROFILE):$$MONO_PATH"
$(RUNTIME) --debug $(topdir)/monoresgen/monoresgen.exe
>
> To match the style of the rest, put
>
>   INTERNAL_RESGEN = $(RUNTIME) $(topdir)/monoresgen/monoresgen.exe
>
> in rules.make, and just use
>
>   MONO_PATH=$(topdir)/class/lib/$(PROFILE):$$MONO_PATH $(INTERNAL_RESGEN)
$<
>
> in Npgsql/Makefile.
>
> - Hari
>




More information about the Mono-devel-list mailing list