diff options
author | Sebastien Pouliot <sebastien@ximian.com> | 2005-05-26 19:09:02 +0400 |
---|---|---|
committer | Sebastien Pouliot <sebastien@ximian.com> | 2005-05-26 19:09:02 +0400 |
commit | 3d7197973d0c1ba85bcebbdfd28f854e9f800411 (patch) | |
tree | 06e4d4a9a2d7df33cbf5434f93d1e242c5921248 /README.vsnet | |
parent | d06689d76741edf593dd66453402a71a394c7db4 (diff) |
README.vsnet: Instructions about the VS.NET build.
svn path=/trunk/mono/; revision=45056
Diffstat (limited to 'README.vsnet')
-rw-r--r-- | README.vsnet | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/README.vsnet b/README.vsnet new file mode 100644 index 00000000000..8d9e421272d --- /dev/null +++ b/README.vsnet @@ -0,0 +1,110 @@ +README.vsnet Last updated: 2005-05-26 + + +SVN now includes a Visual Studio .NET 2005 (beta2) solution, mono.sln, +and some projects files to build most of the unmanaged parts in Mono. + +The "mono.sln" solution file contains the VC projects files for: + + * Embedded Samples + * test-invoke.vcproj + * test-metadata.vcproj + * teste.vcproj + * Libraries + * libgc.vcproj + * libmono.vcproj + * Tools + * genmdesc.vcproj + * monoburg.vcproj + * monodiet.vcproj + * monodis.vcproj + * monograph.vcproj + * pedump.vcproj + * mono.vcproj + + +REQUIREMENTS + +* A working cygwin (http://www.cygwin.com/) setup! This is required to: + * generate some files (via monoburg and genmdesc); + * build the class libraries; and + * test for regressions. + +* Visual Studio .NET 2005 beta2. Previous Visual Studio versions may +work or requires, hopefully minimal, changes. + +* VSDependencies.zip must be decompressed under /mono/ (otherwise you +will need to edit all the projects files. This file can be downloaded +from http://www.go-mono.com/archive/VSDependencies.zip + + +LOCAL CHANGES + +Sadly solution/projects files aren't easy to move from computers to +computers (well unless everyone follow the same naming convention) so +you'll likely have to changes some options in order to compile the +solution. + + * each executed assembly (i.e. the EXE) must be able to find a + working mscorlib.dll (and all the other required assemblies). + This can be done in different ways. My preference is to use the + project "properties pages" in the "Configuration Properties + \Debugging\Environment" options and set MONO_PATH to the class + libraries directory build by cygwin (local) or on Linux + (remote). + + e.g. MONO_PATH=z:\svn\mcs\class\lib\default\ + allows me to use the class libs build under Linux, while + MONO_PATH=C:\cygwin\opt\mono\lib\mono\1.0 + use the one built from cygwin (after a make install) + +Some useful informations to adapt the solution/project files... + + * My cygwin root dir is: c:\cygwin\ + * My username is: poupou + * My mono install prefix is: /opt/mono + + +BUILDING + +Once everything is installed (and edited) you can right-click on the +"mono" solution (in the "Solution Explorer"), select "Clean +Solution" (for the first time) then "Build Solution". + + +KNOWN ISSUES + +[1] Most, BUT NOT ALL, the regressions tests pass under this build. The +failures seems limited to some mathematical differences and to code +relying on the stack walking functions. The hacks to replace the GCC +functions (__builtin_frame_address and __builtin_return_address) are +incomplete; + +[2] The solution doesn't provide complete (i.e. from scratch) build. It +requires a working cygwin environment to create some files (e.g. via +genmdesc, monoburg). This isn't so bad as without cygwin you wouldn't be +able to test Mono properly (see REQUIREMENTS); + +[3] Only the Debug target is configured properly (easy to fix). Anyway +there are other issues [1] to fix before switching to Release and IMHO +the _biggest_ advantage to VS.NET is it's debugger/debugging tools; + +[4] The C compiler emits _lots_ of warning during compilation. Some +warnings have been turned off for some projects (there was so much that +it slowed down compilation). You can bring them back (or hide more of +them) using the project "properties pages" windows, "Configuration +Properties\C/C++\Advanced\Disable Specific Warnings"; + +[5] Visual Studio 2005 should have all the latest header files required, +but if not (or if you're using an older version of VS) then install MS +Platform SDK (Windows Server 2003 is the latest) to ensure you have the +latest Windows header files. You can download it from: +http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm + +[6] Probably a lot more I didn't discover... + + +MORE INFORMATIONS + +Please email <mono-devel-list@lists.ximian.com> if you have any problem +and/or if there's something wrong/missing in the instructions. |