﻿updated 20080818 

Windows Build Environment Setup
===============================
1.  install Microsoft Visual Studio .NET 2003

    apply the following Visual Studio patches
    
        20040914 
        VS7.1-KB830348-X86.exe 
        (Visual Studio .NET 2003 GDIPLUS.DLL Security Update)
        
        20060915 
        VS7.1sp1-KB918007-X86.exe 
        (Microsoft Visual Studio .NET 2003 Service Pack 1)
        
        20070213 
        VS7.1sp1-KB927696-X86.exe 
        (Visual Studio .NET 2003 Service Pack 1 MFC71.DLL Security Update)
        
        20080311 
        VS7.1sp1-KB933369-X86-INTL.exe 
        (Visual Studio .NET 2003 Service Pack 1 MSOWC.DLL Security Update)  
            
2.  install the Minimalist GNU for Windows packages 
    http://www.mingw.org/
    
    run the MinGW-5.1.4.exe installer, accept all defaults
    
    run the MSYS-1.0.10.exe installer, accept all defaults and 
    specify the correct location of MinGW in the post-install script,
    the following transcript assumes c:/MinGW as the default location
    
        --- start MSYS post-install transcript ---
        C:\msys\1.0\postinstall>PATH ..\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS
        \System32\Wbem;C:\Program Files\TortoiseSVN\bin
        
        C:\msys\1.0\postinstall>..\bin\sh.exe pi.sh
        
        This is a post install process that will try to normalize between
        your MinGW install if any as well as your previous MSYS installs
        if any.  I don't have any traps as aborts will not hurt anything.
        Do you wish to continue with the post install? [yn ] y
        
        Do you have MinGW installed? [yn ] y
        
        Please answer the following in the form of c:/foo/bar.
        Where is your MinGW installation? c:/mingw
        
        Creating /etc/fstab with mingw mount bindings.
                Normalizing your MSYS environment.
        
        You have script /bin/awk
        You have script /bin/cmd
        You have script /bin/echo
        You have script /bin/egrep
        You have script /bin/ex
        You have script /bin/fgrep
        You have script /bin/printf
        You have script /bin/pwd
        You have script /bin/rvi
        You have script /bin/rview
        You have script /bin/rvim
        You have script /bin/vi
        You have script /bin/view
        
        Oh joy, you do not have c:/mingw/bin/make.exe. Keep it that way.
        
        C:\msys\1.0\postinstall>pause
        Press any key to continue . . .
        --- end MSYS post-install transscript ---

3.  install Adobe Director 11

4.  setup the PRegEx source directory

    default install procedure assumes that the source directory
    is a network drive mapped to drive letter Z:

    --- sample source tree layout ---
    Z:  +   build_mac
        +   build_win
        +   project
        +   xtras
            
    if you are storing the source code on a local volume, please 
    modify the following files accordingly before proceeding to the
    next step:
        pregex/project/make_win/fstab
        pregex/project/make_win/boot-mingw.bash

5.  build the Xtra using Microsoft Visual Studio
    
    open pregex/project/make_win/PRegEx.sln 
    
    "Build -> Build Solution"



Technical Internals of the pre-build Process
============================================

A series of scripts are invoked during Visual Studio's pre-build
phase to prepare 3rd party packages that PRegEx depends on, those
steps have been automated and require no user intervention. 

Here are the details of those steps:

    1.  map the PRegEx directory in the MinGW environment
    
            --- start /etc/fstab content ---
            c:/MinGW   /mingw
            z:/        /pregex
            --- end   /etc/fstab content ---
        
        ensure the above 2 entries are in the /etc/fstab file (in MSYS),
        in Windows, this is located at "C:\msys\1.0\etc/fstab" 
        
        (In the above sample, MinGW is installed in "C:\MinGW", MSYS is
        installed in "C:\msys\1.0" and the pregex source tree is a network 
        share mapped to drive letter "Z:". Your specific values might vary
        here)
    
    2.  prepare the necessary libraries for the Visual Studio project
        
        all commands and scripts are executed in a MSYS shell
        
        choose a method:
        
        a: build using a Makefile
        
            cd /pregex/project/make_win && make
        
        b: build manually step by step
        
            /pregex/project/make_win/extract-xdk.bash
            /pregex/project/make_win/prep-static-libs.bash
            /pregex/project/make_win/build-pcre.bash
            /pregex/project/make_win/build-libiconv.bash



Debugging PRegEx in Visual Studio
=================================
Follow the "Debugging DLLs" instructions on MSDN to setup your
development environment:

    http://msdn.microsoft.com/en-us/library/c91k1xcf(VS.71).aspx

--- sample configuration ---
(remember to retain the quotes around the values)

PRegEx Property Pages
---------------------
Configuration Properties  <- Active(Debug)
  -> Debugging
      -> Action
            Command : "C:\Program Files\Adobe\Adobe Director 11\Director.exe"
            Command Arguments : "Z:\project\test\PRegExTestMovie.dir"

(screenshot) pregex/project/make_win/DebugWin.png


Debug -> Start



Development Environment
=======================
MacBook Pro 2008 (Intel Core 2 Duo))
Windows XP Professional 32-bit + SP3 
Microsoft Visual Studio .NET 2003
MinGW-5.1.4/MSYS-1.0.10
Director 11
Director 11 XDK Windows(20080325)



IMPORTANT
=========
Store files either a local volume or a writable network share
VMWare's Shared Folder volumes may causes compilation/linking issues.

