Objectmix
Tags Register Mark Forums Read

moving fortran code from win32->ifort on unix : Fortran

This is a discussion on moving fortran code from win32->ifort on unix within the Fortran forums in Programming Languages category; hi I have a mixed bag of ~ 30 .for and .f90 files that in a win32 compaq vis fortran world compile. So my task is to move them over to a linux/unix intel fortran implementation. So my first monkey like attempt was ifort *.f* this of course did not pan out , so I modified some use commands USE DFPORT -> USE IFPORT compiled some modules (thanks to PaulV of this group). So my question is how can i use ifort to compile both "versions" of fortran (.for f77 .f90 f90)...


Object Mix > Programming Languages > Fortran > moving fortran code from win32->ifort on unix

Reply

 

LinkBack Thread Tools
  #1  
Old 12-07-2007, 02:56 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default moving fortran code from win32->ifort on unix

hi

I have a mixed bag of ~ 30 .for and .f90 files that in a win32 compaq
vis fortran world compile.
So my task is to move them over to a linux/unix intel fortran
implementation. So my first monkey like attempt was

ifort *.f*

this of course did not pan out , so I modified some use commands

USE DFPORT -> USE IFPORT

compiled some modules (thanks to PaulV of this group). So my question
is how can i use ifort
to compile both "versions" of fortran (.for f77 .f90 f90)
Reply With Quote
  #2  
Old 12-07-2007, 06:51 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: moving fortran code from win32->ifort on unix

You could do this using the preprocessor:

....
#ifdef WIN32
use dfport
#else
use ifport
#endif

There is usually a compiler option to turn on preprocessing and you
may or may not have to define WIN32 yourself. On unix an uppercase F
in the filename (e.g. x.F90) is enough to cause the preprocessor to be
run.

Simon Geard



merrittr wrote:
> hi
>
> I have a mixed bag of ~ 30 .for and .f90 files that in a win32 compaq
> vis fortran world compile.
> So my task is to move them over to a linux/unix intel fortran
> implementation. So my first monkey like attempt was
>
> ifort *.f*
>
> this of course did not pan out , so I modified some use commands
>
> USE DFPORT -> USE IFPORT
>
> compiled some modules (thanks to PaulV of this group). So my question
> is how can i use ifort
> to compile both "versions" of fortran (.for f77 .f90 f90)

Reply With Quote
  #3  
Old 12-07-2007, 02:40 PM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: moving fortran code from win32->ifort on unix

merrittr wrote:
> hi
>
> I have a mixed bag of ~ 30 .for and .f90 files that in a win32 compaq
> vis fortran world compile.
> So my task is to move them over to a linux/unix intel fortran
> implementation. So my first monkey like attempt was
>
> ifort *.f*
>
> this of course did not pan out , so I modified some use commands
>
> USE DFPORT -> USE IFPORT
>
> compiled some modules (thanks to PaulV of this group). So my question
> is how can i use ifort
> to compile both "versions" of fortran (.for f77 .f90 f90)


You need a makefile.

I use something like...

OBJS = (list of object files the .f90 files compile to)

%o: %f90
${FC} ${F90FLAGS} ${INCS} ${OPTFLAGS} $<

$(BINDIR):
${FC} ${OPTFLAGS} -o ${EXEC} ${OBJS} ${LIBS} ${LINKFLAGS}


(the definition of FC, F90FLAGS, etc. occurs previously in the makefile)

I don't think my rule for building the f90 files would work on a mix of
..f90 and .for files, though... if you look at the documentation for
Make, you may find some alternatives that will work better for your
specific case.
Reply With Quote
  #4  
Old 12-09-2007, 12:16 AM
Junior Member
 
Join Date: Nov 2009
Posts: 0
Application Development is on a distinguished road
Default Re: moving fortran code from win32->ifort on unix

SimonG wrote:
> You could do this using the preprocessor:
>
> ...
> #ifdef WIN32
> use dfport
> #else
> use ifport
> #endif
>


For a real example of conditional inclusion of IFPORT (works on Windows
and linux):

#ifdef __INTEL_COMPILER
USE IFPORT, ONLY: system
#endif

Surely, DVF/CVF had a more appropriate #define than WIN32 for choosing
dfport.
Reply With Quote
Reply

Thread Tools


Similar Threads

Thread Thread Starter Forum Replies Last Post
moving from ifort to gfortran usenet Fortran 4 12-17-2007 03:01 PM
Read DOS or Unix files with the same fortran code usenet Fortran 12 12-01-2007 09:58 AM
how to call C (non-intel C compiler) from ifort (intel fortran)? usenet Fortran 4 10-02-2007 07:11 PM
Parallelize an existing Fortran code and generate parallel Fortran code using Maple? usenet Fortran 12 08-02-2007 07:36 AM
unix script won't run on Win32 usenet awk 3 01-02-2006 10:50 AM


All times are GMT -5. The time now is 05:24 PM.