[Mono-dev] Building Mono on Windows - And Having a Windows Installer again

2014-11-29 Thread Daniel Morgan
I see the latest version of Mono's Windows installer is 3.2.3.  Can this be 
used to build the latest from git?
I see a link for binaries for 3.4.0, but they are not official binaries.

I am going to try build Mono on Windows using Cygwin.  Not sure how web the 
visual studio stuff works.

If I am successful, I will put up somewhere an un-official Windows Installer 
for Mono so others can help.
The nice thing about the Combined Mono and Gtk# Installer for Windows is that 
you have something out-of-the box you can create a GUI app with Mono.   Very 
nice to have an C# gui app that can run on Windows and Linux.

Also, what is the best Linux distro to build mono?  OpenSUSE?  Debian, Ubuntu?  
It has been awhile for me.  Not starting a flame war here - just wanting the 
easiest route to get the dependencies on linux  in order to build the latest 
mono from git.

And I want to play with MonoDevelop too, but Mono comes first.


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again

2014-11-29 Thread Edward Ned Harvey (mono)
> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list-
> boun...@lists.ximian.com] On Behalf Of Daniel Morgan
> 
> I see the latest version of Mono's Windows installer is 3.2.3.  Can this be 
> used
> to build the latest from git?
> 
> I see a link for binaries for 3.4.0, but they are not official binaries.
> 
> I am going to try build Mono on Windows using Cygwin.  Not sure how web
> the visual studio stuff works.

Search this list for Appveyor.  I know Alex Lennon was putting some effort in, 
and I think got to the point of having a reliable automated build process - but 
check with folks to be sure (I haven't followed very closely and I could be 
wrong).  At some point, Miguel pulled Duncan Mak into the conversation, so I 
would guess maybe Duncan is involved with distributing windows builds...  All 
of this occurred within the last ~ 1 month or so.


> Also, what is the best Linux distro to build mono?  OpenSUSE?  Debian,
> Ubuntu?  It has been awhile for me.  Not starting a flame war here - just
> wanting the easiest route to get the dependencies on linux  in order to build
> the latest mono from git.

On basically any system I've seen so far, building is easy.  The basic process 
of "./configure && make && make install" usually works.  If it doesn't, then 
add "make get-monolite-latest" before "make EXTERNAL_MCS=..."  as below...

On every redhat-based or debian-based (or even mac) system I've ever used, one 
of these two variants has always worked.

OSX
export BUILDDIR=/Users/whatever/Projects/mono-build
export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p 
$BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no 
&& make -j $NUMPROC && make install && echo "" && echo "Done" && echo "")

Ubuntu 14.04
export BUILDDIR=/home/whatever/Projects/mono-build
export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p 
$BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no 
&& make get-monolite-latest && make -j $NUMPROC 
EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe" && make install && echo 
"" && echo "Done" && echo "")


> And I want to play with MonoDevelop too, but Mono comes first.

Building monodevelop is more difficult.  I've never succeeded - but I never 
spent a boat load of time on it either.  You can install MonoDevelop on the 
mac, no problem (they distribute a pre-built binary).  Also, the latest ubuntu 
includes a recent build of monodevelop.  I personally use VS on windows, XS on 
mac, and MD on ubuntu 14.04 desktop x86_64.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again

2014-11-30 Thread Alex J Lennon
Hi Daniel,

On 30/11/2014 02:13, Edward Ned Harvey (mono) wrote:
>> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list-
>> boun...@lists.ximian.com] On Behalf Of Daniel Morgan
>>
>> I see the latest version of Mono's Windows installer is 3.2.3.  Can this be 
>> used
>> to build the latest from git?
>>
>> I see a link for binaries for 3.4.0, but they are not official binaries.
>>
>> I am going to try build Mono on Windows using Cygwin.  Not sure how web
>> the visual studio stuff works.
> Search this list for Appveyor.  I know Alex Lennon was putting some effort 
> in, and I think got to the point of having a reliable automated build process 
> - but check with folks to be sure (I haven't followed very closely and I 
> could be wrong).  At some point, Miguel pulled Duncan Mak into the 
> conversation, so I would guess maybe Duncan is involved with distributing 
> windows builds...  All of this occurred within the last ~ 1 month or so.
>

As Edward says, I did put a bit of time into this and we do have what I
think is a reliable automated build process on the Windows platform,
although as ever there are improvements that can be made,

Stepping back for a second there's a couple of documents that I've been
maintaining on building Mono under Windows with Cygwin (prior to being
introduced to Appveyor CI)

This covers 3.4.0 - 3.6.0,
http://www.codeproject.com/Articles/769292/How-to-build-Mono-on-Windows

And this covers 3.8.0+
http://www.codeproject.com/Articles/769292/How-to-build-Mono-on-Windows

It gets you to the point you can just about use Mono but there are some
remaining issues I have yet to address,

e.g.

- understanding how the Mono installer works
- dealing with hard coded library references in the build (I think the
installer may do some of this)
- ensuring that Windows batch files for e.g. mcs, mono, xbuild are
correcly created (Again I think the installer may do some of this)

...

Further to that I then created a build script for the Appveyor build
platform, based on work and suggestions from Mladen Mihajlovic, which is
currently automatically building Mono on commits to the repo

You can see the build history here:
https://ci.appveyor.com/project/ajlennon/mono-817

The output "artifact" from any of these builds is currently a set of
Mono binaries which you _should_ be able to download and use straight
away (would love some feedback on any issues here)

e.g. https://ci.appveyor.com/project/ajlennon/mono-817/build/artifacts

You should also be able to take the script I created and use this to
build your own build of Mono, independently of the instruction documents
I reference above. In particular there's a useful line there that
automates installation of needed Cygwin packages.

See here: https://github.com/mono/mono/blob/master/appveyor.yml
(build_script section)

What I'd like to do next is to modify this script to take the bones of
the Windows installer and generate an output artifact which was an MSI
installer.

Unfortunately this is not trivial (to me at least!), and also requires
pulling in some GTK# dependencies and so forth. I want to progress this
but have not yet had time due to work commitments.

Also, and perhaps more importantly the Cygwin build may all become
somewhat deprecated as Jo Shields appears to be doing some excellent
work to make Mono build under MSVC.

Once this is achievable, to my mind it will be a vastly superior way to
build Mono, instead of the 2 hour+ Cygwin build with all the faff.

>> Also, what is the best Linux distro to build mono?  OpenSUSE?  Debian,
>> Ubuntu?  It has been awhile for me.  Not starting a flame war here - just
>> wanting the easiest route to get the dependencies on linux  in order to build
>> the latest mono from git.
> On basically any system I've seen so far, building is easy.  The basic 
> process of "./configure && make && make install" usually works.  If it 
> doesn't, then add "make get-monolite-latest" before "make EXTERNAL_MCS=..."  
> as below...
>
> On every redhat-based or debian-based (or even mac) system I've ever used, 
> one of these two variants has always worked.
>
> OSX
> export BUILDDIR=/Users/whatever/Projects/mono-build
> export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p 
> $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no 
> && make -j $NUMPROC && make install && echo "" && echo "Done" && echo "")
>
> Ubuntu 14.04
> export BUILDDIR=/home/whatever/Projects/mono-build
> export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p 
> $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no 
> && make get-monolite-latest && make -j $NUMPROC 
> EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe" && make install && echo 
> "" && echo "Done" && echo "")
>

Possibly a bit off-topic but fwiw I maintain and use Yocto for Embedded
Linux with meta-mono layer. The recipes for building Mono are here,

http://git.yoctoproj

Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again

2014-11-30 Thread Alexander Köplinger
Hey Alex,
 
Jo Shields is currently working on revamping the Windows Installer in his repo: 
https://github.com/directhex/newbuilder
I contributed the WiX setup files for creating an MSI installer. Jo sent me 
this link for a preview build (the usual caveats apply): 
https://drive.google.com/file/d/0Bz6-k9ELOQf3YTE1RHV3Y0dNaFU/view
 
Btw. while developing the WiX setup I used the binaries from your AppVeyor 
build, it all worked fine :)
 
Can you maybe also make changes to 
http://www.mono-project.com/docs/compiling-mono/windows/ (just click the "edit 
page on github" link), so it reflects what is necessary right now to build Mono 
on Windows? I think that page is pretty outdated right now.
 
-- Alex
 
 
> Date: Fri, 28 Nov 2014 14:29:29 +0100
> From: ajlen...@dynamicdevices.co.uk
> To: monodanm...@yahoo.com
> CC: mono-devel-list@lists.ximian.com
> Subject: Re: [Mono-dev] Building Mono on Windows - And Having a Windows   
> Installer again
> 
> Hi Daniel,
> 
> On 30/11/2014 02:13, Edward Ned Harvey (mono) wrote:
> >> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list-
> >> boun...@lists.ximian.com] On Behalf Of Daniel Morgan
> >>
> >> I see the latest version of Mono's Windows installer is 3.2.3.  Can this 
> >> be used
> >> to build the latest from git?
> >>
> >> I see a link for binaries for 3.4.0, but they are not official binaries.
> >>
> >> I am going to try build Mono on Windows using Cygwin.  Not sure how web
> >> the visual studio stuff works.
> > Search this list for Appveyor.  I know Alex Lennon was putting some effort 
> > in, and I think got to the point of having a reliable automated build 
> > process - but check with folks to be sure (I haven't followed very closely 
> > and I could be wrong).  At some point, Miguel pulled Duncan Mak into the 
> > conversation, so I would guess maybe Duncan is involved with distributing 
> > windows builds...  All of this occurred within the last ~ 1 month or so.
> >
> 
> As Edward says, I did put a bit of time into this and we do have what I
> think is a reliable automated build process on the Windows platform,
> although as ever there are improvements that can be made,
> 
> Stepping back for a second there's a couple of documents that I've been
> maintaining on building Mono under Windows with Cygwin (prior to being
> introduced to Appveyor CI)
> 
> This covers 3.4.0 - 3.6.0,
> http://www.codeproject.com/Articles/769292/How-to-build-Mono-on-Windows
> 
> And this covers 3.8.0+
> http://www.codeproject.com/Articles/769292/How-to-build-Mono-on-Windows
> 
> It gets you to the point you can just about use Mono but there are some
> remaining issues I have yet to address,
> 
> e.g.
> 
> - understanding how the Mono installer works
> - dealing with hard coded library references in the build (I think the
> installer may do some of this)
> - ensuring that Windows batch files for e.g. mcs, mono, xbuild are
> correcly created (Again I think the installer may do some of this)
> 
> ...
> 
> Further to that I then created a build script for the Appveyor build
> platform, based on work and suggestions from Mladen Mihajlovic, which is
> currently automatically building Mono on commits to the repo
> 
> You can see the build history here:
> https://ci.appveyor.com/project/ajlennon/mono-817
> 
> The output "artifact" from any of these builds is currently a set of
> Mono binaries which you _should_ be able to download and use straight
> away (would love some feedback on any issues here)
> 
> e.g. https://ci.appveyor.com/project/ajlennon/mono-817/build/artifacts
> 
> You should also be able to take the script I created and use this to
> build your own build of Mono, independently of the instruction documents
> I reference above. In particular there's a useful line there that
> automates installation of needed Cygwin packages.
> 
> See here: https://github.com/mono/mono/blob/master/appveyor.yml
> (build_script section)
> 
> What I'd like to do next is to modify this script to take the bones of
> the Windows installer and generate an output artifact which was an MSI
> installer.
> 
> Unfortunately this is not trivial (to me at least!), and also requires
> pulling in some GTK# dependencies and so forth. I want to progress this
> but have not yet had time due to work commitments.
> 
> Also, and perhaps more importantly the Cygwin build may all become
> somewhat deprecated as Jo Shields appears to be doing some excellent
> work to make Mono build under MSVC.
> 
> Once this is achievable, to my mind it will be a vastly superior way to
> build Mon

Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again

2014-11-30 Thread Alex J Lennon
Hi Alex

On 30/11/2014 15:09, Alexander Köplinger wrote:
> Hey Alex,
>  
> Jo Shields is currently working on revamping the Windows Installer in
> his repo: https://github.com/directhex/newbuilder
> I contributed the WiX setup files for creating an MSI installer. Jo
> sent me this link for a preview build (the usual caveats apply):
> https://drive.google.com/file/d/0Bz6-k9ELOQf3YTE1RHV3Y0dNaFU/view

That sounds great. Maybe I will try to bolt that onto the Appveyor
script then. I'd love for the CI builds to just result in an MSI anybody
can grab and use easily.

>  
> Btw. while developing the WiX setup I used the binaries from your
> AppVeyor build, it all worked fine :)

Really good to hear that thanks Alex :)

>  
> Can you maybe also make changes to
> http://www.mono-project.com/docs/compiling-mono/windows/ (just click
> the "edit page on github" link), so it reflects what is necessary
> right now to build Mono on Windows? I think that page is pretty
> outdated right now.


Yes it's definitely on my TODO list. I was hoping to grab the content of
my CodeProject article and massage it into that page. Things have just
been so hectic here I haven't had the chance yet :)

Cheers,

Alex

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again

2014-11-30 Thread Daniel Morgan
I am glad to see others trying to build a Mono for Windows Installer.  

Removing un-needed static libraries could make the installer much smaller.  
Unless, you are doing embedded. Well, if you are doing embedded, you are most 
likely building mono yourself anyways.   Mono's static library is huge.    
Usually on Windows, these static libraries would have a .lib extension, but 
since these libraries were originally built using gcc, they probably have a .a 
or .dll.a extension.  If you include glib/gtk 2.0, there are static libraries 
there we do not need for gtk+ libraries.   However, keep those static libraries 
which can help re-building mono from git.

We could also save space in the installer if we only include the latest 4.5 
profile.  Another words, remove 2.0, 3.5, and 4.0..
Just my 2 cents.

  From: Alex J Lennon 
 To: Alexander Köplinger  
Cc: "mono-devel-list@lists.ximian.com"  
 Sent: Sunday, November 30, 2014 9:28 AM
 Subject: Re: [Mono-dev] Building Mono on Windows - And Having a Windows 
Installer again
   
 Hi Alex
 
 On 30/11/2014 15:09, Alexander Köplinger wrote:
  
 #yiv6734285822 #yiv6734285822 --.yiv6734285822hmmessage 
P{margin:0px;padding:0px;}#yiv6734285822 
body.yiv6734285822hmmessage{font-size:12pt;font-family:Calibri;}#yiv6734285822  
Hey Alex,
  
 Jo Shields is currently working on revamping the Windows Installer in his 
repo: https://github.com/directhex/newbuilder
 I contributed the WiX setup files for creating an MSI installer. Jo sent me 
this link for a preview build (the usual caveats apply): 
https://drive.google.com/file/d/0Bz6-k9ELOQf3YTE1RHV3Y0dNaFU/view
  
 
 That sounds great. Maybe I will try to bolt that onto the Appveyor script 
then. I'd love for the CI builds to just result in an MSI anybody can grab and 
use easily.
 
 
  
 Btw. while developing the WiX setup I used the binaries from your AppVeyor 
build, it all worked fine :)
  
 
 Really good to hear that thanks Alex :) 
 
 
  
 Can you maybe also make changes to 
http://www.mono-project.com/docs/compiling-mono/windows/ (just click the "edit 
page on github" link), so it reflects what is necessary right now to build Mono 
on Windows? I think that page is pretty outdated right now.
  
 
 
 Yes it's definitely on my TODO list. I was hoping to grab the content of my 
CodeProject article and massage it into that page. Things have just been so 
hectic here I haven't had the chance yet :)


 
 Cheers,
 
 Alex
 
 
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


  ___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again

2014-11-30 Thread Edward Ned Harvey (mono)
> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list-
> boun...@lists.ximian.com] On Behalf Of Daniel Morgan
> 
> We could also save space in the installer if we only include the latest 4.5
> profile.  Another words, remove 2.0, 3.5, and 4.0..

Wed Oct 22, 2014:  "Heads up: Elimination of the 2.0 and 4.0 profiles"
http://lists.ximian.com/pipermail/mono-devel-list/2014-October/042145.html

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again (Mono-devel-list Digest, Vol 115, Issue 58)

2014-11-30 Thread Jo Shields
On 30/11/14 14:09, Alexander K?plinger wrote:
> Hey Alex,
>  
> Jo Shields is currently working on revamping the Windows Installer in his 
> repo: https://github.com/directhex/newbuilder
> I contributed the WiX setup files for creating an MSI installer. Jo sent me 
> this link for a preview build (the usual caveats apply): 
> https://drive.google.com/file/d/0Bz6-k9ELOQf3YTE1RHV3Y0dNaFU/view

IN THEORY, the current state of things is:

Check out newbuilder.git

Run ./mono-MDK-windows

This will download Mono from git, a compiled Mono MDK (used as the
"source" for a lot of the non-runtime components), and GTK# for Windows
(ditto). I didn't feel like learning how to build GTK# and F# and
IronPython and Boo and IronRuby on Windows.

However, this will likely break because I make assumptions relating to
the upcoming 3.12 release (my target right now), and master differs in
important ways (i.e. the 4.5-only thing). It also assumes VS2013 is
installed, doesn't massage the Cygwin environment the way the Appveyor
config does, needs an older Mono (for bootstrapping) in $PATH, and so on.

Step 1 is getting it good enough to do everything right in my Windows
VM. Then I can subtree it into the regular github/mono/release.git repo,
and people are encouraged to send pull requests to fix
not-running-on-Jo's-laptop assumptions. FWIW the existing Windows build
system in github.com/mono/release.git/windows-installer/ has a LOT of
running-on-a-former-employee's-desktop assumptions, so at least things
aren't moving backwards per se.

The current status with a primed 3.12 build (`defs/mono download
mono-3.12.0-branch` and `defs/managed-components download
http://path-to-3.12-MDK` where I don't think those MDK builds are public
right now) *should* be fully functional. I did a lot of work on
Thursday/Friday to integrate all the junk we ship with Mac (Boo, IPy,
IR, F#) but haven't tested all those changes as I ran out of time.
Monday is testing/fixing, and posting a "this should work, honest"
preview rather than a "this might partially work" preview.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Building Mono on Windows - And Having a Windows Installer again (Mono-devel-list Digest, Vol 115, Issue 57)

2014-11-30 Thread Jo Shields
On 30/11/14 01:13, Edward Ned Harvey (mono) wrote:
>> From: mono-devel-list-boun...@lists.ximian.com [mailto:mono-devel-list-
>> boun...@lists.ximian.com] On Behalf Of Daniel Morgan
>>
>> I see the latest version of Mono's Windows installer is 3.2.3.? Can this be 
>> used
>> to build the latest from git?
>>
>> I see a link for binaries for 3.4.0, but they are not official binaries.
>>
>> I am going to try build Mono on Windows using Cygwin.? Not sure how web
>> the visual studio stuff works.
> 
> Search this list for Appveyor.  I know Alex Lennon was putting some effort 
> in, and I think got to the point of having a reliable automated build process 
> - but check with folks to be sure (I haven't followed very closely and I 
> could be wrong).  At some point, Miguel pulled Duncan Mak into the 
> conversation, so I would guess maybe Duncan is involved with distributing 
> windows builds...  All of this occurred within the last ~ 1 month or so.
> 
> 
>> Also, what is the best Linux distro to build mono?? OpenSUSE?? Debian,
>> Ubuntu?? It has been awhile for me.? Not starting a flame war here - just
>> wanting the easiest route to get the dependencies on linux? in order to build
>> the latest mono from git.
> 
> On basically any system I've seen so far, building is easy.  The basic 
> process of "./configure && make && make install" usually works.  If it 
> doesn't, then add "make get-monolite-latest" before "make EXTERNAL_MCS=..."  
> as below...
> 
> On every redhat-based or debian-based (or even mac) system I've ever used, 
> one of these two variants has always worked.
> 
> OSX
> export BUILDDIR=/Users/whatever/Projects/mono-build
> export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p 
> $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no 
> && make -j $NUMPROC && make install && echo "" && echo "Done" && echo "")
> 
> Ubuntu 14.04
> export BUILDDIR=/home/whatever/Projects/mono-build
> export NUMPROC=3 ; time ( test -d $BUILDDIR && rm -rf $BUILDDIR ; mkdir -p 
> $BUILDDIR ; ./autogen.sh --prefix=$BUILDDIR --disable-bcl-opt --enable-nls=no 
> && make get-monolite-latest && make -j $NUMPROC 
> EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe" && make install && echo 
> "" && echo "Done" && echo "")
> 
> 
>> And I want to play with MonoDevelop too, but Mono comes first.
> 
> Building monodevelop is more difficult.  I've never succeeded - but I never 
> spent a boat load of time on it either.  You can install MonoDevelop on the 
> mac, no problem (they distribute a pre-built binary).  Also, the latest 
> ubuntu includes a recent build of monodevelop.  I personally use VS on 
> windows, XS on mac, and MD on ubuntu 14.04 desktop x86_64.

If you just want access to the latest crack, remember that every git
commit of Mono and of MonoDevelop gets turned into RPM and DEB packages,
and can be downloaded from jenkins.mono-project.com - the
mono-snapshot-latest and monodevelop-snapshot-latest packages will keep
you up to date with master.

http://www.mono-project.com/docs/getting-started/install/linux/ci-packages/

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list