I finished building it earlier this afternoon. The key is that the MS .NET SDK insists on installing some files onto the system drive, even if you change the default installation drive.

It took longer to satisfy nmake than it did to build! I took a few quick notes as I installed. Here's a quick recipe:

  1. Install MSVC free compiler
  2. Install the Platform SDK from: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
  3. Download and install .NET SDK in order to satisfy msvcrt.lib requirement.

    Note: The .NET SDK installs files into two directories: one is user configurable and one isn't. I used "D:\Program Files\Microsoft Visual Studio .NET 2003", but the installer installed "lib" and "inc" into "C:\Program Files\Microsoft Visual Studio .NET 2003"

  4. Edit win32/Makefile - (patch inside the readmore)

    23,24c23,24 < INST_DRV = c: < INST_TOP = $(INST_DRV)\perl --- > INST_DRV = d: > INST_TOP = $(INST_DRV)\perl5.9.1 87c87 < CCTYPE = MSVC60 --- > #CCTYPE = MSVC60 #get rid of vc 6 specific stuff 154,155c154,155 < #CCHOME = f:\msvc20 < CCHOME = $(MSVCDIR) --- > CCHOME = d:\program files\microsoft visual c++ toolki +t 2003 > #CCHOME = $(MSVCDIR) 396c396 < CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOC +DEFS) \ --- > CFLAGS = -nologo -GF -W3 $(INCLUDES) $(DEFINES) $(LOC +DEFS) \ 820c820,821 < perlglob$(o) setargv$(o) --- > perlglob$(o) > #setargv$(o)
  5. Fire up command prompt using Platform SDK shortcut
  6. run vcvars32.bat from compiler installation
  7. set LIB=%LIB%;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib (In order to satisfy msvcrt req.)
  8. path=%PATH%;PATH_TO_SDK\Bin\Win64 (at the END of existing path, required for resource converter)
  9. unpack perl source and cd PATH_TO_UNPACKED_PERL\win32
  10. nmake
  11. nmake test # all tests passed - except skipped tests, of course
  12. nmake install

Fresh, steamin' hot perl 5.9.1, ready to enjoy!

I'll try to replicate the build with bleadperl over the next couple of days and post any fixes or corrections.

Update: corrected LIB path (added Vc7\lib to LIB, see #7 above)


In reply to Re: Building Perl with the free MSVC tools by bmann
in thread Building Perl with the free MSVC tools by Corion

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.