diff --git a/unix/hlib/d1mach.f b/unix/hlib/d1mach.f index ccecd10..e915e45 100644 --- a/unix/hlib/d1mach.f +++ b/unix/hlib/d1mach.f @@ -33,11 +33,16 @@ C C COMMENTS JUST BEFORE THE END STATEMENT (LINES STARTING WITH *) C GIVE C SOURCE FOR D1MACH. C - INTEGER SMALL(2) - INTEGER LARGE(2) - INTEGER RIGHT(2) - INTEGER DIVER(2) - INTEGER LOG10(2) +C Need to explcitly put in integer size to work on GFORTRAN with +C -fdefault-integer-4. +C +C See http://comments.gmane.org/gmane.comp.gcc.bugs/189700 +C For details + INTEGER(4) SMALL(2) + INTEGER(4) LARGE(2) + INTEGER(4) RIGHT(2) + INTEGER(4) DIVER(2) + INTEGER(4) LOG10(2) INTEGER I C/6S C/7S diff --git a/unix/hlib/irafuser.csh b/unix/hlib/irafuser.csh index cf6d4d5..3c706e9 100644 --- a/unix/hlib/irafuser.csh +++ b/unix/hlib/irafuser.csh @@ -71,12 +71,18 @@ case ipad: set mkzflags = "'lflags=-z'" breaksw +# The default-integer-8 is very important to make everything compatible +# with f2c which defines integer as long case linux64: + setenv F77 gfortran + setenv XC_F77 gfortran + setenv XC_FFLAGS -fdefault-integer-8 + setenv XC_LFLAGS -lgfortran setenv HSI_CF "-g -O2 -I/usr/include -I${hlib}libc -DLINUX -DREDHAT -DPOSIX -DSYSV -DLINUX64 -DMACH64 -w -m64 -DNOLIBCNAMES -DHOST_F2C -DHOST_CURL -DHOST_EXPAT" - setenv HSI_XF "-g -Inolibc -I${hlib}libc -w -/m64 -/Wunused" - setenv HSI_FF "-g -m64 -DBLD_KERNEL" - setenv HSI_LF "-m64 " - setenv HSI_F77LIBS "" + setenv HSI_XF "-g -O2 -Inolibc -I${hlib}libc -w -/m64 -/Wunused" + setenv HSI_FF "-g -O2 -m64 -DBLD_KERNEL -fdefault-integer-8" + setenv HSI_LF "-m64 -fdefault-integer-8" + setenv HSI_F77LIBS "-lgfortran" setenv HSI_LFLAGS "" setenv HSI_OSLIBS "" set mkzflags = "'lflags=-Nxz -/Wl,-Bstatic'" @@ -84,11 +90,13 @@ case linux64: case linux: case redhat: + setenv F77 gfortran + setenv XC_F77 gfortran setenv HSI_CF "-g -O2 -I/usr/include -I${hlib}libc -DLINUX -DREDHAT -DPOSIX -DSYSV -w -m32 -Wunused -DHOST_F2C -DHOST_CURL -DHOST_EXPAT -DHOST_XMLRPC" setenv HSI_XF "-Inolibc -I${hlib}libc -w -/Wunused -/m32" setenv HSI_FF "-O -DBLD_KERNEL -m32" setenv HSI_LF "-m32" - setenv HSI_F77LIBS "" + setenv HSI_F77LIBS "-lgfortran" setenv HSI_LFLAGS "" setenv HSI_OSLIBS "" set mkzflags = "'lflags=-Nxz -/Wl,-Bstatic'" @@ -140,7 +148,7 @@ setenv HSI_XF "-I${HOME}/.iraf/ $HSI_XF" # The following determines whether or not the VOS is used for filename mapping. if (-f ${iraf}lib/libsys.a) then setenv HSI_LIBS\ - "${hbin}libboot.a ${iraf}lib/libsys.a ${iraf}lib/libvops.a -lf2c ${hbin}libos.a" + "${hbin}libboot.a ${iraf}lib/libsys.a ${iraf}lib/libvops.a ${hbin}libos.a -lm -lgfortran" else setenv HSI_CF "$HSI_CF -DNOVOS" setenv HSI_LIBS "${hbin}libboot.a ${hbin}libos.a" diff --git a/unix/hlib/r1mach.f b/unix/hlib/r1mach.f index 167e19f..e387fab 100644 --- a/unix/hlib/r1mach.f +++ b/unix/hlib/r1mach.f @@ -29,11 +29,17 @@ C C COMMENTS JUST BEFORE THE END STATEMENT (LINES STARTING WITH *) C GIVE C SOURCE FOR R1MACH. C - INTEGER SMALL(2) - INTEGER LARGE(2) - INTEGER RIGHT(2) - INTEGER DIVER(2) - INTEGER LOG10(2) +C Need to explcitly put in integer size to work on GFORTRAN with +C -fdefault-integer-4. +C +C See http://comments.gmane.org/gmane.comp.gcc.bugs/189700 +C For details + + INTEGER(4) SMALL(2) + INTEGER(4) LARGE(2) + INTEGER(4) RIGHT(2) + INTEGER(4) DIVER(2) + INTEGER(4) LOG10(2) INTEGER I C/6S C/7S