Difference between revisions of "Overview of the status on Windows"

From PLplotWiki
Jump to: navigation, search
Line 6: Line 6:
 
currently with an emphasis on version 6.0). For Cygwin and MinGW this is the suite of GCC compilers.
 
currently with an emphasis on version 6.0). For Cygwin and MinGW this is the suite of GCC compilers.
  
Status per 21 september 2006, Arjen Markus
+
Status per 4 october 2006, Arjen Markus
  
 
<pre>   
 
<pre>   
Line 19: Line 19:
 
Languages:            |                    |                    |                    |                    |
 
Languages:            |                    |                    |                    |                    |
 
C++                  |        Yes        |        Yes(1)    |          .        |          No        |
 
C++                  |        Yes        |        Yes(1)    |          .        |          No        |
Fortran              |        No(2)       |        Yes(3)    |          .        |          .        |
+
Fortran              |        Yes(2,8)   |        Yes(3)    |          .        |          .        |
 
Java                  |        .          |          .        |          .        |          .        |
 
Java                  |        .          |          .        |          .        |          .        |
 
Perl                  |        .          |          .        |          .        |          .        |
 
Perl                  |        .          |          .        |          .        |          .        |
Line 36: Line 36:
 
* A dot (.) simply means this aspect has not yet been tested
 
* A dot (.) simply means this aspect has not yet been tested
 
* (1) GNU C++ caused a problem on one machine, but others were successful. Something wrong with the toolchain?
 
* (1) GNU C++ caused a problem on one machine, but others were successful. Something wrong with the toolchain?
* (2) The compiler that was used, Compaq Visual Fortran, complains about the full name of the object files that CMake passes (these are in UNIX-style). This means that CMake currently does not support CVF.
+
* (2) The compiler that was used, Compaq Visual Fortran, complains about the full name of the object files that CMake passes (these are in UNIX-style). This means that CMake currently does not support CVF. See also note 8.
 
* (3) The Fortran compiler used is gfortran
 
* (3) The Fortran compiler used is gfortran
 
* (4) The build succeeds currently, but pltcl.exe, the shell that is built, is missing DLLs. You need to copy these into the proper directory manually. (And you need to tell it where to find the Tcl initialisation files). Due to these issues, I (AM) have not actually tested this binding yet.  
 
* (4) The build succeeds currently, but pltcl.exe, the shell that is built, is missing DLLs. You need to copy these into the proper directory manually. (And you need to tell it where to find the Tcl initialisation files). Due to these issues, I (AM) have not actually tested this binding yet.  
 
* (5) Reportedly, the Tk bindings use more of the X Window library than has been ported to the Cygwin/MinGW platform. There is also the issue of several UNIX specific Tcl routines that have no equivalent on Windows.
 
* (5) Reportedly, the Tk bindings use more of the X Window library than has been ported to the Cygwin/MinGW platform. There is also the issue of several UNIX specific Tcl routines that have no equivalent on Windows.
* (6) Dynamically loadable drivers will probably be too much to ask for using bare Windows - it requires a different implementation than the libtool approach used for all other platforms.
+
* (6) Dynamically loadable drivers will probably be too much to ask for using bare Windows - it requires a different implementation than the libtool approach used for all other platforms. Update:
 +
** It appears that libtool does support the Windows platform
 +
** We will investigate the possibilities for dynamic drivers in the near future
 
* (7) The fact that the wingcc driver works under bare Windows, means that the win3 driver is redundant. We could phase it out in due time.
 
* (7) The fact that the wingcc driver works under bare Windows, means that the win3 driver is redundant. We could phase it out in due time.
 +
* (8) With an additional module for CMake I (AM) got it to work. Some caveats at this moment (4 october 2006):
 +
** I turned off shared libraries - the Fortran bindings require compiler-directives to export the various routines
 +
** I needed to add the option /force to prevent the different default libraries (notably msvcrtd.dll and libc.lib) from causing errors about multiply defined symbols. This is a common enough problem under Windows.

Revision as of 23:49, 3 October 2006

This page presents an overview of the various Windows platforms and the status of the CBS for them.

The platforms are "canonical": we assume typical or often encountered installations. For "bare Windows" this means Windows XP, Microsoft Visual C/C++ (version 6.0, 2003 or 2005, but currently with an emphasis on version 6.0). For Cygwin and MinGW this is the suite of GCC compilers.

Status per 4 october 2006, Arjen Markus

  
----------------------+--------------------+--------------------+--------------------+--------------------+               
Build aspects         |    Bare Windows    |        Cygwin      |        MinGW       |     Borland 5.5    |
----------------------+--------------------+--------------------+--------------------+--------------------+
Library options:      |                    |                    |                    |                    |
Static libraries      |        Yes         |         Yes        |         Yes        |         Yes        |
Shared libraries (DLL)|        Yes         |         Yes        |          .         |          .         |
Dynamic drivers (6)   |         .          |          .         |          .         |          .         |
                      |                    |                    |                    |                    |
Languages:            |                    |                    |                    |                    |
C++                   |        Yes         |         Yes(1)     |          .         |          No        |
Fortran               |        Yes(2,8)    |         Yes(3)     |          .         |          .         |
Java                  |         .          |          .         |          .         |          .         |
Perl                  |         .          |          .         |          .         |          .         |
Python                |         .          |          .         |          .         |          .         |
Tcl                   |        Yes(4)      |          .         |          .         |          .         |
Tk                    |         .          |         (5)        |          .         |          .         |
                      |                    |                    |                    |                    |
Drivers:              |                    |                    |                    |                    |
PostScript            |        Yes         |         Yes        |         Yes        |         Yes        |
Wingcc (7)            |        Yes         |         Yes        |         Yes        |          .         |
----------------------+--------------------+--------------------+--------------------+--------------------+

Notes:

  • A dot (.) simply means this aspect has not yet been tested
  • (1) GNU C++ caused a problem on one machine, but others were successful. Something wrong with the toolchain?
  • (2) The compiler that was used, Compaq Visual Fortran, complains about the full name of the object files that CMake passes (these are in UNIX-style). This means that CMake currently does not support CVF. See also note 8.
  • (3) The Fortran compiler used is gfortran
  • (4) The build succeeds currently, but pltcl.exe, the shell that is built, is missing DLLs. You need to copy these into the proper directory manually. (And you need to tell it where to find the Tcl initialisation files). Due to these issues, I (AM) have not actually tested this binding yet.
  • (5) Reportedly, the Tk bindings use more of the X Window library than has been ported to the Cygwin/MinGW platform. There is also the issue of several UNIX specific Tcl routines that have no equivalent on Windows.
  • (6) Dynamically loadable drivers will probably be too much to ask for using bare Windows - it requires a different implementation than the libtool approach used for all other platforms. Update:
    • It appears that libtool does support the Windows platform
    • We will investigate the possibilities for dynamic drivers in the near future
  • (7) The fact that the wingcc driver works under bare Windows, means that the win3 driver is redundant. We could phase it out in due time.
  • (8) With an additional module for CMake I (AM) got it to work. Some caveats at this moment (4 october 2006):
    • I turned off shared libraries - the Fortran bindings require compiler-directives to export the various routines
    • I needed to add the option /force to prevent the different default libraries (notably msvcrtd.dll and libc.lib) from causing errors about multiply defined symbols. This is a common enough problem under Windows.