Compiling DIVE under Windows NT

-----

This guide explains how to set up the environment as well as the compiling procedure for the Visual C++ 6 Compiler and the Borland 5 Compiler.

To be able to compile DIVE, you need the DIVE source code, which is not available to the public. If you work for a non-profit organization or academic institution, you may ask for a license from dive-help@sics.se. The DIVE source code hierarchy is shown below.

    _______ bin
  /   ______ docs
  |  /   _____ data
  |  |  /   ____ appl
  |  |  |  /   ___ utils
  |  |  |  |  /                   _____ include
  |  |  |  |  |                  /
  |  |  |  |  |    __ sid2 ----- src
  |  |  |  |  |  /
  |  |  |  | / /                        __ thrutil
  dive-                          /
       |    \____ threads --  qt
       |                              \
       |                                \_ pqt
       |
       |                   ________ audio
       |                 /
       |                 | ________ video
       |                 /     ______ src
       |                 |    /
       \_____ dive ------ modules
                        |    \
                        |      \_____  include
                        |                                  __  gl
                        |                                /
                        \______ graphics --- xgl
                                                        \
                                                          \__ opengl

1. Visual C++ 6.0 compiler

Follow these steps to set up an environment for compiling DIVE with the Visual C++ compiler:
  1. Get and install the Visual C++ compiler. During the installation, mark the checkbox called "Register Environment Variables" to let the installer change your system PATH to allow for command line compiling.

  2. Get and install MASM. Make sure ml.exe is in a library covered by your system PATH.
    One way to get ml.exe is described on X86 Assembly Language FAQ, under subject 9.

  3.  
  4. Download and install the (latest) cygwin tools from Cygnus.

  5.  
  6. Copy c:\<somedir>\gnuwin32\b<nr>\H-i586-cygwin32\bin\sh.exe to c:\bin\sh.exe (you may have to create the c:\bin dir).
    Copy c:\<somedir>\gnuwin32\b<nr>\H-i586-cygwin32\bin\make.exe to c:\<somedir>\gnuwin32\b<nr>\H-i586-cygwin32\bin\gmake.exe.
    Make sure c:\<somedir>\gnuwin32\b<nr>\H-i586-cygwin32\bin is covered by your system PATH.

  7.  
  8. Download and unzip the dive help package for vc to a directory on your c:\ drive, for example c:\tools\

  9.  
  10. Start Bash with the batch file: c:\<somedir>\gnuwin32\b<nr>\cygnus, and use it to execute the commands in the following sections.

  11.  
  12. Download and install autoconf (e.g. from sunet - just unzip and run configure and make), execute autoconf (in bash) in the in following directories:

  13. c:\<somedir>\dive\
    c:\<somedir>\dive\threads
    c:\<somedir>\dive\sid2
    This will normally generate some "configure.in:310: warning: AC_TRY_RUN called without default to allow cross compiling" type warning messages.
     
  14. In c:\<somedir>\dive\bin\winnt\ execute the following line:

  15. ../../configure i686-unknown-winnt --enable-tcl=c:/tools/dive_tools_vc/tcltk/win32/tcl80tk80p3 --with-X11=c:/tools/dive_tools_vc/X11/win32 --with-xdr=c:/tools/dive_tools_vc/xdr/win32 --enable-audio --enable-zlib=c:/tools/dive_tools_vc/zlib/win32 --enable-jpeg=c:/tools/dive_tools_vc/jpeg/win32 --enable-pthreads --with-cc=cl
    Note: This assumes that you installed the dive help package (step 5) in c:\tools\
     
  16. In c:\<somedir>\dive\bin\winnt\appl compile the diva app:
    gmake diva

  17.  
  18. To be able to run DIVE you need the Tcl and Tk dll. Download them from Scriptics and put them in the c:\<somedir>\dive\bin\winnt\appl\ directory.

  19.  
  20. If you, like us, like to use emacs as an editor, then you can download it from sunet.


2. Borland 5 Compiler

Follow these steps to set up an environment for compiling DIVE with the Borland C compiler:
  1. Get and install Borland 5 Compiler.

  2.  
  3. Get and install Turbo Assembler 5, or download the already compiled qt and pqt libs, which should be put into c:\<somedir>\dive\bin\winnt\threads\qt and c:\<somedir>\dive\bin\winnt\threads\pqt respectively (bin\? subdirectories may have to be created).

  4.  
  5. Download and install the cygwin (not b19) tools from Cygnus.

  6. Copy c:\<somedir>\gnuwin32\b<nr>\H-i586-cygwin32\bin\sh.exe to c:\bin\sh.exe (you may have to create the c:\bin dir).
    Copy c:\<somedir>\gnuwin32\b<nr>\H-i586-cygwin32\bin\make.exe to c:\<somedir>\gnuwin32\b<nr>\H-i586-cygwin32\bin\gmake.exe.
     
  7. Download and unzip the dive help package for bcc to the c:\ root directory. This should create the c:\tools and c:\usr directories.

  8.  
  9. Make sure c:\<somedir>\gnuwin32\b<nr>\H-i586-cygwin32\bin;c:\usr\local\bin (and if you have installed the Turbo Assembler c:\<somedir>\tasm\bin) is covered by your your system PATH.

  10.  
  11. Start Bash with the batch file: c:\<somedir>\gnuwin32\b<nr>\cygnus.

  12.  
  13. Using bash, execute autoconf in the in following directories:

  14. c:\<somedir>\dive\
    c:\<somedir>\dive\threads
    c:\<somedir>\dive\sid2
    This will normally generate some "configure.in:310: warning: AC_TRY_RUN called without default to allow cross compiling" type warning messages.
     
  15. In c:\<somedir>\dive\bin\winnt\ execute the following:

  16. ../../configure i686-unknown-winnt --enable-tcl=c:/tools/dive_tools/tcltk/win32/tcl80tk80 --with-X11=c:/tools/dive_tools/X11/win32 --with-xdr=c:/tools/dive_tools/xdr/win32 --enable-audio --enable-zlib=c:/tools/dive_tools/zlib/win32 --enable-jpeg=c:/tools/dive_tools/jpeg/win32/ --enable-pthreads
     
  17. In c:\<somedir>\dive\bin\winnt\appl compile the diva app:

  18. gmake diva
     
  19. If you, like us, like to use emacs as an editor, then you can download it from sunet.
For more info on configure options, check the DIVE application building page.
 


Dive  is a research prototype and is therefore provided on an `as is' basis with no provisions for support or future enhancements. Please send bug reports to dive-bugs@sics.se and questions to dive-help@sics.se.

-----

dive-help@sics.se