a little cleanup and conformation of usage of CmiChunkHeader. It will prevent in
[charm.git] / README.win32
1
2                           Charm++ for Win32
3
4        Copyright (C) 1989-2004 Regents of the University of Illinois
5
6 You can compile charm++ under Windows9x/2000/NT with VC++ plus Cygwin.
7 Cygwin are ports of the popular GNU development tools and utilities for 
8 Windows 9x/2K and NT, which emulates a UNIX environment under Windows.
9 If you are not comfortable with Cygwin, you still can compile Charm++ with
10 VC++, but this is not prefered, see FAQ below for help.
11
12
13                        Setup and Compilation
14                     ===========================
15
16 To compile charm with VC++:
17 1. install cygwin from: http://sourceware.cygnus.com/cygwin
18    Remember to choose default file type as "unix" at the beginning of 
19    cygwin installation.
20
21 2. Start a Cygwin's Bash Shell window, type "cl" to make sure VC++ compiler 
22    command line mode is correctly set. If it is not correctly set, you need to 
23    run the VCVARS32.BAT at Windows startup time. VCVARS32.BAT can be located in
24    your VC++ install directory, usually at: 
25    /Program Files/Microsoft Visual Studio/VC98/Bin
26    However VCVARS32.BAT(a DOS Batch) cannot be executed under Bash Shell 
27    , you have to: for Win8x, put it into AUTOEXEC.BAT; for WinNT, you 
28    have to merge the settings in VCVARS32.BAT into your environment varaibles 
29    settings(the most important one is the PATH varaible)  
30
31 3. This step is optional if you have installed Microsoft Visual Studio under 
32    the following (default) location: 
33      /Program Files/Microsoft Visual Studio/Vc98.
34    In case it is not at this directory, edit the following (text) files to 
35    modify them to point to your visual studio c++ compiler directory:
36     src\arch\win32\unix2nt_ar
37     src\arch\win32\unix2nt_cc  
38
39 4. Now you can compile Charm++ like Unix, for example:
40
41    ./build charm++ net-win32
42
43    this will build all Charm++ executables under net-win32/bin and all libs
44    under net-win32/lib
45
46
47
48                      Compile and Run Charm++ Programs
49                   ======================================
50
51 1. After Charm++ compilation is complete, you can try some sample programs under
52    net-win32\pgms. For example, 
53    cd net-win32/pgms/charm++/megatest, and type "make",
54    it will invoke Charm++'s "charmc"(VC++ wrapper) to compile the test 
55    programs and generates an executable "pgm.exe" and a charm++'s parallel
56    run utility program - "charmrun.exe".
57    Now you have two choices of running the executable:
58    (1) locally on your desktop, using:
59        ./charmrun +p1 ./pgm ++local
60        this will fork one copy of node program on your local machine. You can 
61        choose using more than one virtual processors, e.g. using +p3  option.
62        Starting from Charm 5.4R2, You can also run, simply type executable and 
63        command line options:
64        ./pgm 
65        This will run only one copy of program locally.
66
67    (2) run in parallel across machines:
68        In this case, you need to write a .nodelist file under your home
69        directory(~) in bash terminal, here is an example:
70
71 group main
72 host hostname1
73 host hostname2 
74
75        Next, you need to start charmd.exe, which is under net-win32/bin on
76        all the nodes as listed in the .nodelist file.
77        Now run the Charm++ program, for example:
78        ./charmrun +p2 ./pgm
79
80
81    For details of Charm++ compilation options and charmrun comman line options
82 explanation, please check the manuals on charm.cs.uiuc.edu web site manual 
83 section.
84    If you have any problem or suggestion, please let me know by sending
85 email to (ppl@cs.uiuc.edu).
86
87
88
89                                     FAQ
90                               ==============
91
92
93  1. I don't like Cygwin, can I compile Charm++ without Cygwin?
94
95    Yes, there is an un-documented way to compile Charm++ under MS-DOS windows 
96    with VC++ and nmake. This is occasionally maintained and not guarranteed 
97    to be always working.
98    Follow this steps:
99    1 open a MS-DOS windows, cd to Charm++ directory, and mkdir net-win32\tmp;
100    2 cd to net-win32\tmp, copy Makefile.win32 from 
101      charm\src\Common\scripts\Makefile.win32 to current directory;
102    3 type: nmake /f Makefile.win32
103    4 To compile Charm++ programs, see the Makefile.win32 examples under
104      net-win32\pgms\charm++\megatest\Makefile.win32
105      The command to use is: nmake /f Makefile.win32
106      Basically you need to specify all the charm++ libraries to link against,
107      because shell script charmc is not available,
108
109  2. I just downloaded Charm++ net-win32 binaries from your website, how to use it?
110
111    The recommended way to use windows binary package is still under Cygwin.
112    First, unzip the binary packages to desired location; Set PATH environment
113    varaible to include the charm bin/ directory. That's it, you can now cd 
114    to Charm++ testsuite directory, for example: pgms/charm++/megatest, to 
115    compile your first Charm++ program using "make".
116    If you don't want to use Cygwin, you have to use "nmake" to compile Charm++
117    programs, see the Makefile example under: 
118    pgms/charm++/megatest/Makefile.win32.
119
120
121
122