ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/ac-tools/aclocal.m4
(Generate patch)

Comparing trunk/OOPSE/ac-tools/aclocal.m4 (file contents):
Revision 825 by gezelter, Fri Oct 24 17:36:02 2003 UTC vs.
Revision 826 by gezelter, Mon Oct 27 23:00:59 2003 UTC

# Line 1 | Line 1
1 + dnl
2 + dnl AC_CHECK_MODSUFFIX
3 + dnl
4 + AC_DEFUN([AC_CHECK_MODSUFFIX],[
5 +
6 + AC_MSG_CHECKING(for module suffix)
7 + rm -f conftest*
8 + # Intel ifc compiler generates files by the name of work.pc and work.pcl (!)
9 + rm -f work*
10 + cat >conftest.f <<EOF
11 +        module conftest
12 +        integer n
13 +        parameter (n=1)
14 +        end module conftest
15 + EOF
16 + # SGI and absoft compilers generates module name in upper case!
17 + testname="conftest"
18 + modcase="lower"
19 + if $F90 -c conftest.f > conftest.out 2>&1 ; then
20 +    MOD=`ls conftest* | grep -v conftest.f | grep -v conftest.o`
21 +    MOD=`echo "$MOD" | sed -e 's/conftest\.//g'`
22 +    if test -z "$MOD" ; then
23 +        MOD=`ls CONFTEST* 2>/dev/null \
24 +                | grep -v CONFTEST.f | grep -v CONFTEST.o`
25 +        MOD=`echo "$MOD" | sed -e 's/CONFTEST\.//g'`
26 +        if test -n "$MOD" ; then
27 +            testname="CONFTEST"
28 +            modcase="upper"
29 +        fi
30 +    fi
31 +    if test -z "$MOD" ; then
32 +        AC_MSG_RESULT(unknown)
33 +        # Use mod if we can't figure it out
34 +        MOD="mod"
35 +    else
36 +        AC_MSG_RESULT($MOD)
37 +    fi
38 +    if test -s work.pcl ; then
39 +        AC_MSG_WARN([Compiler generates auxillery files!])
40 +    fi
41 + else
42 +    AC_MSG_RESULT(unknown)
43 + fi
44 + AC_SUBST(MOD)
45 +
46 + ])
47 +
48 +
49 + dnl
50 + dnl AC_CHECK_MODDIRFLAG
51 + dnl
52 + AC_DEFUN([AC_CHECK_MODDIRFLAG],[
53 +
54 + # Check for module include path (some use -I, some (Solaris) use -M, some
55 + # (absoft) use -p).
56 + # Intel compilers use a wierd system: -cl,filename.pcl .  If no file is
57 + # specified, work.pcl and work.pc are created.  However, if you specify
58 + # a file, it must contain a the name of a file ending in .pc .  Ugh!
59 + # Use the module made above
60 + AC_MSG_CHECKING(for module directory path flag)
61 + madedir=0
62 + if test ! -d conf ; then mkdir conf ; madedir=1; fi
63 + cp $testname.$MOD conf
64 + rm -f conftest* CONFTEST*
65 + cat >conftest1.f <<EOF
66 +        program main
67 +        use conftest
68 +        print *, n
69 +        end
70 + EOF
71 + F90_WORK_FILES_ARG=""
72 + F90MODINCSPEC=""
73 + if $F90 -c -Iconf conftest1.f > conftest.out 2>&1 ; then
74 +    MODDIRFLAG="-I"
75 +    F90MODINCSPEC="-I<dir>"
76 +    AC_MSG_RESULT(-I)
77 + elif $F90 -c -Mconf conftest1.f >> conftest.out 2>&1 ; then
78 +    MODDIRFLAG="-M"
79 +    F90MODINCSPEC="-M<dir>"
80 +    AC_MSG_RESULT(-M)
81 + elif $F90 -c -pconf conftest1.f >> conftest.out 2>&1 ; then
82 +    MODDIRFLAG="-p"
83 +    F90MODINCSPEC="-p<dir>"
84 +    AC_MSG_RESULT(-p)
85 + elif test -s work.pc ; then
86 +     cp work.pc conf/mpimod.pc
87 +     echo "mpimod.pc" > conf/mpimod.pcl
88 +     echo "`pwd`/conf/mpimod.pc" >> conf/mpimod.pcl
89 +     if $F90 -c -cl,conf/mpimod.pcl conftest1.f >>conftest.out 2>&1 ; then
90 +         MODDIRFLAG='-cl,mpimod.pcl'
91 +         AC_MSG_RESULT([-cl,filename where filename contains a list of files and
92 + directories])
93 +         F90_WORK_FILES_ARG="-cl,mpimod.pcl"
94 +         F90MODINCSPEC="-cl,<dir>/<file>mod.pcl"
95 +         AC_SUBST(F90_WORK_FILES_ARG)
96 +     else
97 +         # The version of the Intel compiler that I have refuses to let
98 +         # you put the "work catalog" list anywhere but the current directory.
99 +         # For example, you cannot in
100 +         :
101 +     fi
102 + fi
103 + if test -z "MODDIRFLAG" ; then
104 +    AC_MSG_RESULT(unknown)
105 + fi
106 + AC_SUBST(MODDIRFLAG)
107 + AC_SUBST(F90MODINCSPEC)
108 + rm -f conftest* conf/conftest* conf/CONFTEST* CONFTEST* conf/mpimod*
109 + if test $madedir = 1 ; then rmdir conf ; fi
110 +
111 + ])
112 +
113 +
114   dnl
115   dnl AC_CHECK_MPI_F90MOD
116   dnl
# Line 12 | Line 125 | AC_DEFUN([AC_CHECK_MPI_F90MOD],[
125    AC_LANG_SAVE()
126    AC_LANG([Fortran 90])
127    ac_save_F90FLAGS=$F90FLAGS
128 <  AS_IF([test "$mpi_f90_mods"], [F90FLAGS="${F90FLAGS} -I${mpi_f90_mods}"])
128 >
129 >  AS_IF([test "$mpi_f90_mods"], [F90FLAGS="${F90FLAGS} ${MODDIRFLAG}${mpi_f90_mods}"])
130      _AC_COMPILE_IFELSE([
131      AC_LANG_PROGRAM([
132   use mpi
# Line 26 | Line 140 | call MPI_Init(ierr)
140    if test "$HAVE_MPI_MOD" = 1; then
141      AC_MSG_RESULT(yes)
142      AC_DEFINE(MPI_MOD, 1, [have mpi module])
143 <    MPI_F90_MODS="-I${mpi_f90_mods}"
143 >    MPI_F90_MODS="${mpi_f90_mods}"
144      AC_SUBST(MPI_F90_MODS)        
145      # The library name:
146      if test -z "$MPI_LIB" ; then

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines