README.vsnet 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. README.vsnet Last updated: 2005-05-26
  2. SVN now includes a Visual Studio .NET 2005 (beta2) solution, mono.sln,
  3. and some projects files to build most of the unmanaged parts in Mono.
  4. The "mono.sln" solution file contains the VC projects files for:
  5. * Embedded Samples
  6. * test-invoke.vcproj
  7. * test-metadata.vcproj
  8. * teste.vcproj
  9. * Libraries
  10. * libgc.vcproj
  11. * libmono.vcproj
  12. * Tools
  13. * genmdesc.vcproj
  14. * monoburg.vcproj
  15. * monodiet.vcproj
  16. * monodis.vcproj
  17. * monograph.vcproj
  18. * pedump.vcproj
  19. * mono.vcproj
  20. REQUIREMENTS
  21. * A working cygwin (http://www.cygwin.com/) setup! This is required to:
  22. * generate some files (via monoburg and genmdesc);
  23. * build the class libraries; and
  24. * test for regressions.
  25. * Visual Studio .NET 2005 beta2. Previous Visual Studio versions may
  26. work or requires, hopefully minimal, changes.
  27. * VSDependencies.zip must be decompressed under /mono/ (otherwise you
  28. will need to edit all the projects files. This file can be downloaded
  29. from http://www.go-mono.com/archive/VSDependencies.zip
  30. LOCAL CHANGES
  31. Sadly solution/projects files aren't easy to move from computers to
  32. computers (well unless everyone follow the same naming convention) so
  33. you'll likely have to changes some options in order to compile the
  34. solution.
  35. * each executed assembly (i.e. the EXE) must be able to find a
  36. working mscorlib.dll (and all the other required assemblies).
  37. This can be done in different ways. My preference is to use the
  38. project "properties pages" in the "Configuration Properties
  39. \Debugging\Environment" options and set MONO_PATH to the class
  40. libraries directory build by cygwin (local) or on Linux
  41. (remote).
  42. e.g. MONO_PATH=z:\svn\mcs\class\lib\default\
  43. allows me to use the class libs build under Linux, while
  44. MONO_PATH=C:\cygwin\opt\mono\lib\mono\1.0
  45. use the one built from cygwin (after a make install)
  46. Some useful informations to adapt the solution/project files...
  47. * My cygwin root dir is: c:\cygwin\
  48. * My username is: poupou
  49. * My mono install prefix is: /opt/mono
  50. BUILDING
  51. Once everything is installed (and edited) you can right-click on the
  52. "mono" solution (in the "Solution Explorer"), select "Clean
  53. Solution" (for the first time) then "Build Solution".
  54. KNOWN ISSUES
  55. [1] Most, BUT NOT ALL, the regressions tests pass under this build. The
  56. failures seems limited to some mathematical differences and to code
  57. relying on the stack walking functions. The hacks to replace the GCC
  58. functions (__builtin_frame_address and __builtin_return_address) are
  59. incomplete;
  60. [2] The solution doesn't provide complete (i.e. from scratch) build. It
  61. requires a working cygwin environment to create some files (e.g. via
  62. genmdesc, monoburg). This isn't so bad as without cygwin you wouldn't be
  63. able to test Mono properly (see REQUIREMENTS);
  64. [3] Only the Debug target is configured properly (easy to fix). Anyway
  65. there are other issues [1] to fix before switching to Release and IMHO
  66. the _biggest_ advantage to VS.NET is it's debugger/debugging tools;
  67. [4] The C compiler emits _lots_ of warning during compilation. Some
  68. warnings have been turned off for some projects (there was so much that
  69. it slowed down compilation). You can bring them back (or hide more of
  70. them) using the project "properties pages" windows, "Configuration
  71. Properties\C/C++\Advanced\Disable Specific Warnings";
  72. [5] Visual Studio 2005 should have all the latest header files required,
  73. but if not (or if you're using an older version of VS) then install MS
  74. Platform SDK (Windows Server 2003 is the latest) to ensure you have the
  75. latest Windows header files. You can download it from:
  76. http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
  77. [6] Probably a lot more I didn't discover...
  78. MORE INFORMATIONS
  79. Please email <[email protected]> if you have any problem
  80. and/or if there's something wrong/missing in the instructions.