/[MITgcm]/MITgcm/tools/genmake2
ViewVC logotype

Diff of /MITgcm/tools/genmake2

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.28 by edhill, Tue Nov 4 19:51:54 2003 UTC revision 1.29 by edhill, Tue Nov 11 20:38:27 2003 UTC
# Line 313  KPPFILES= Line 313  KPPFILES=
313  NOOPTFILES=  NOOPTFILES=
314  NOOPTFLAGS=  NOOPTFLAGS=
315    
316    # DEFINES checked by test compilation
317    HAVE_SYSTEM=
318    HAVE_FDATE=
319    FC_NAMEMANGLE=
320    
321  MODS=  MODS=
322  TOOLSDIR=  TOOLSDIR=
323  SOURCEDIRS=  SOURCEDIRS=
# Line 358  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPE Line 363  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPE
363  gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS"  gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS"
364  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOSTNAME THISDATE MACHINE"  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOSTNAME THISDATE MACHINE"
365  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"
366    gm_s7="HAVE_SYSTEM HAVE_FDATE FC_NAMEMANGLE"
367    
368  #  The following are all related to adjoint/tangent-linear stuff  #  The following are all related to adjoint/tangent-linear stuff
369  gm_s7="AUTODIFF_PKG_USED AD_OPTFILE TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS"  gm_s10="AUTODIFF_PKG_USED AD_OPTFILE TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS"
370  gm_s8="FTL_TAMC_FLAGS FTL_TAF_FLAGS SVD_TAMC_FLAGS SVD_TAF_FLAGS"  gm_s11="FTL_TAMC_FLAGS FTL_TAF_FLAGS SVD_TAMC_FLAGS SVD_TAF_FLAGS"
371  gm_s9="TAF_EXTRA TAMC_EXTRA"  gm_s12="TAF_EXTRA TAMC_EXTRA"
372    
373  gm_state="COMMANDL $gm_s1 $gm_s2 $gm_s3 $gm_s4 $gm_s5 $gm_s6 $gm_s7 $gm_s8 $gm_s9"  gm_state="COMMANDL $gm_s1 $gm_s2 $gm_s3 $gm_s4 $gm_s5 $gm_s6 $gm_s7"
374    gm_state="$gm_state $gm_s10 $gm_s11 $gm_s12"
375    
376    
377  echo  echo
# Line 663  if test "x$MAKEDEPEND" = x ; then Line 670  if test "x$MAKEDEPEND" = x ; then
670      MAKEDEPEND=makedepend      MAKEDEPEND=makedepend
671  fi  fi
672    
673    
674    printf "\n===  Checking system libraries  ===\n"
675    echo -n "  Do we have the system() command using $FC...  "
676    cat > genmake_tcomp.f <<EOF
677          program hello
678          call system('echo hi')
679          end
680    EOF
681    $FC $FFLAGS $DEFINES -o genmake_tcomp genmake_tcomp.f > genmake_tcomp.log 2>&1
682    RETVAL=$?
683    if test "x$RETVAL" = x0 ; then
684        HAVE_SYSTEM=t
685        DEFINES="$DEFINES -DHAVE_SYSTEM"
686        echo "yes"
687    else
688        HAVE_SYSTEM=
689        echo "no"
690    fi
691    rm -f genmake_tcomp*
692    
693    echo -n "  Do we have the fdate() command using $FC...  "
694    cat > genmake_tcomp.f <<EOF
695          program hello
696          CHARACTER(128) string
697          string = ' '
698          call fdate( string )
699          print *, string
700          end
701    EOF
702    $FC $FFLAGS $DEFINES -o genmake_tcomp genmake_tcomp.f > genmake_tcomp.log 2>&1
703    RETVAL=$?
704    if test "x$RETVAL" = x0 ; then
705        HAVE_FDATE=t
706        DEFINES="$DEFINES -DHAVE_FDATE"
707        echo "yes"
708    else
709        HAVE_FDATE=
710        echo "no"
711    fi
712    rm -f genmake_tcomp*
713    
714    echo -n "  The name mangling convention for $FC is...  "
715    if test "x$FC_NAMEMANGLE" = x ; then
716        FC_NAMEMANGLE="#define FC_NAMEMANGLE(X) X ## _"
717    fi
718    cat > genmake_tcomp.f <<EOF
719          subroutine tcall( string )
720          character*(*) string
721          call tsub( string )
722          end
723    EOF
724    $FC $FFLAGS $DEFINES -c genmake_tcomp.f > genmake_tcomp.log 2>&1
725    RETVAL=$?
726    if test "x$RETVAL" != x0 ; then
727        cat genmake_tcomp.log >> genmake_errors
728        echo
729        echo "WARNING: test compile fails -- please see \"genmake_errors\""
730        echo "WARNING: We'll try to use: FC_NAMEMANGLE='$FC_NAMEMANGLE'"
731        echo "WARNING: Please contact <MITgcm-support@mitgcm.org> if you need help here."
732    else
733        tcall=`nm genmake_tcomp.o | grep tcall | cut -d ' ' -f 3`
734        RETVAL=$?
735        if test "x$RETVAL" != x0 ; then
736            echo
737            echo "WARNING: The \"nm\" command failed."
738            echo "WARNING: We'll try to use: FC_NAMEMANGLE='$FC_NAMEMANGLE'"
739            echo "WARNING: Please contact <MITgcm-support@mitgcm.org> if you need help here."
740        else
741            t0=`echo $tcall | sed -e 's|_tcall|_ ## X|g'`
742            nmres=`echo $t0 | sed -e 's|tcall_|X ## _|g'`
743            FC_NAMEMANGLE="#define FC_NAMEMANGLE(X)  $nmres"
744            echo "'$FC_NAMEMANGLE'"
745        fi
746    fi
747    echo "$FC_NAMEMANGLE" > FC_NAMEMANGLE.h.template
748    cmp FC_NAMEMANGLE.h FC_NAMEMANGLE.h.template > /dev/null 2>&1
749    RETVAL=$?
750    if test "x$RETVAL" != x0 ; then
751        mv -f FC_NAMEMANGLE.h.template FC_NAMEMANGLE.h
752    fi
753    rm -f genmake_tcomp*
754    
755    
756  printf "\n===  Setting defaults  ===\n"  printf "\n===  Setting defaults  ===\n"
757  echo -n "  Adding MODS directories:  "  echo -n "  Adding MODS directories:  "
758  for d in $MODS ; do  for d in $MODS ; do

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.22