compiling an Alpha routine on Windows

compiling an Alpha routine on Windows

Hi;

I am trying to port to Windows a Fortran routine which was developed for the Alpha system. I am using Compaq Digital Fortran. The original routine uses system Header files such as SSDEF.H and FABDEF.H. These header exists on the ALPHA and are C coded.

I am looking for an advice on how to handle a situation like this?

- Is there an equivalent system library in Compaq Digital FORTRAN that define the same common!!! If there is, where can I find it.

- Has anyone faced a situation like this? What was the best course of action? Rewrite the code! patch as you go!

Thanks

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Steve Lionel (Intel)'s picture

SSDEF and FABDEF are from OpenVMS. I'm a bit puzzled at your description as the .H files are definitely for C, not Fortran, but that's a minor point.

If you want to port your program without rewriting the OpenVMS-specific code for Windows, there are two companies offering OpenVMS compatibility libraries for Windows - Sector 7 and Accelr8 Technologies. Contact them for more information.

I'd suggest seeing if you can rewrite the code to use native Windows calls instead. These companies also offer consulting services for application porting.

Steve

Steve

Fortran code cannot use .H files but rather the appropriate Fortran equivalents. In this case, you probably have statements such as include '($ssdef)' and include '($fabdef)'. These system include files are used under OpenVMS to support various system routines.

You can search for strings that include SS$_ SYS$ FAB$ in the code for example. You then need to understand what these routines are currently doing, then provide the appropriate Win32 functionality.

Another approach is to see why the system calls are being used in the original code. Sometimes this was done to increase performance rather to gain functionality. In that case you could try replacing with portable Fortran, after all your target platform is probably much faster than the platform under which the code was originally created.

James

Login to leave a comment.