Index: Makefile.in =================================================================== RCS file: /MPIhome/mpich/Makefile.in,v retrieving revision 1.176 retrieving revision 1.178 diff -r1.176 -r1.178 29c29 < VERSION = 1.2.2 --- > VERSION = 1.2.4 100a101,107 > # The occasional "sleep 1" is used to work around a bug in make (!); > # this bug is related to the use of time-stamps in make, but is actually > # more subtle; the logic in many implementations of make (including gnumake) > # is not consistent with respect to the tests performed. This can lead > # one test deciding to build a file but another step to decide not to > # include it in the subsequent step that is supposed to include everything > # that was just built! 104c111 < echo "Making Fortran interface" ; \ --- > echo "Making Fortran interface" ; sleep 1 ; \ 119c126 < echo "making Fortran 90 module for MPI" ; \ --- > echo "making Fortran 90 module for MPI" ; sleep 1 ; \ 143c150 < export MAKE ; export srcdir ; \ --- > MAKE="${MAKE}" ; export MAKE ; export srcdir ; \ 149c156 < export MAKE ; export srcdir ; \ --- > MAKE="${MAKE}" ; export MAKE ; export srcdir ; \ Index: mpe/src/Makefile.in =================================================================== RCS file: /MPIhome/mpich/mpe/src/Makefile.in,v retrieving revision 1.14 retrieving revision 1.15 diff -r1.14 -r1.15 102a103 > sleep 1 Index: romio/Makefile.in =================================================================== RCS file: /MPIhome/romio/Makefile.in,v retrieving revision 1.20 retrieving revision 1.21 diff -r1.20 -r1.21 106a107 > sleep 1;\ 134a136 > sleep 1;\ Index: romio/adio/common/flatten.c =================================================================== RCS file: /MPIhome/romio/adio/common/flatten.c,v retrieving revision 1.5 retrieving revision 1.6 diff -r1.5 -r1.6 2c2 < * $Id: flatten.c,v 1.5 2001/09/14 20:57:07 rross Exp $ --- > * $Id: flatten.c,v 1.6 2002/07/16 17:30:14 thakur Exp $ 78c78 < int i, j, m, n, num, basic_num, prev_index; --- > int i, j, k, m, n, num, basic_num, prev_index; 281c281 < ints[top_count+1+i]*old_extent; --- > (ints[top_count+1+i]-ints[top_count+i])*old_extent; 287,290c287,292 < flat->indices[j] = flat->indices[j-basic_num] + old_extent; < flat->blocklens[j] = flat->blocklens[j-basic_num]; < j++; < } --- > for (k=0; k flat->indices[j] = flat->indices[j-basic_num] + old_extent; > flat->blocklens[j] = flat->blocklens[j-basic_num]; > j++; > } > } 340c342 < flat->indices[j] = flat->indices[j-num] + adds[i]; --- > flat->indices[j] = flat->indices[j-num] + adds[i] - adds[i-1]; 346,347c348,350 < flat->indices[j] = flat->indices[j-basic_num] + old_extent; < flat->blocklens[j] = flat->blocklens[j-basic_num]; --- > for (k=0; k flat->indices[j] = flat->indices[j-basic_num] + old_extent; > flat->blocklens[j] = flat->blocklens[j-basic_num]; 348a352 > } Index: src/fortran/src/mpif77.in =================================================================== RCS file: /MPIhome/mpich/src/fortran/src/mpif77.in,v retrieving revision 1.17 retrieving revision 1.19 diff -r1.17 -r1.19 290c290 < $Show $F77 $FINC $BASE_FFLAGS $FFLAGS $compileargs --- > $Show $F77 $BASE_FFLAGS $FFLAGS $compileargs $FINC 328c328,331 < mpilibs="$proflib $mpilibs $proflib" --- > # We include the last "mpilibs" because the mpilibs contains the > # ADI routines. There is a chance that a file in the first mpich.a > # invokes a pmpi routine that needs an ADIO routine. > mpilibs="$proflib $mpilibs $proflib $mpilibs" Index: src/fortran/src/mpif90.in =================================================================== RCS file: /MPIhome/mpich/src/fortran/src/mpif90.in,v retrieving revision 1.7 retrieving revision 1.9 diff -r1.7 -r1.9 326c326 < $Show $F90 $F90INC $finc $BASE_FFLAGS $F90FLAGS $compileargs --- > $Show $F90 $finc $BASE_FFLAGS $F90FLAGS $compileargs $F90INC 366c366,369 < mpilibs="$proflib $mpilibs $proflib" --- > # We include the last "mpilibs" because the mpilibs contains the > # ADI routines. There is a chance that a file in the first mpich.a > # invokes a pmpi routine that needs an ADIO routine. > mpilibs="$proflib $mpilibs $proflib $mpilibs" Index: src/misc2/darray.c =================================================================== RCS file: /MPIhome/mpich/src/misc2/darray.c,v retrieving revision 1.12 retrieving revision 1.13 diff -r1.12 -r1.13 2c2 < * $Id: darray.c,v 1.12 2001/11/14 20:08:03 ashton Exp $ --- > * $Id: darray.c,v 1.13 2002/07/12 19:57:46 thakur Exp $ 406a407,419 > > /* need to set the UB for block-cyclic to work */ > types[0] = *type_new; > types[1] = MPI_UB; > disps[0] = 0; > disps[1] = orig_extent; > if (order == MPI_ORDER_FORTRAN) > for (i=0; i<=dim; i++) disps[1] *= array_of_gsizes[i]; > else for (i=ndims-1; i>=dim; i--) disps[1] *= array_of_gsizes[i]; > blklens[0] = blklens[1] = 1; > MPI_Type_struct(2, blklens, disps, types, &type_tmp); > MPI_Type_free(type_new); > *type_new = type_tmp; Index: src/pt2pt/type_hind.c =================================================================== RCS file: /MPIhome/mpich/src/pt2pt/type_hind.c,v retrieving revision 1.11 retrieving revision 1.12 diff -r1.11 -r1.12 0a1 > /* -*- Mode: C; c-basic-offset:4 ; -*- */ 2c3 < * $Id: type_hind.c,v 1.11 2001/11/14 20:10:07 ashton Exp $ --- > * $Id: type_hind.c,v 1.12 2002/07/08 13:29:38 gropp Exp $ 125a127,131 > /* > * Compute the ub and lb based on the indices and extent of the > * base type. Note that these are *relative* to the old type. > * The final lb and ub must be offset by the lb of the old type. > */ 163c169,176 < /* Set the upper/lower bounds and the extent and size */ --- > /* Set the upper/lower bounds and the extent and size. > Update all of these to reflect the lb of the old type */ > if (old_dtype_ptr->real_lb != 0) { > low += old_dtype_ptr->real_lb; > high += old_dtype_ptr->real_lb; > real_lb += old_dtype_ptr->real_lb; > real_ub =+ old_dtype_ptr->real_lb; > } Index: src/pt2pt/type_struct.c =================================================================== RCS file: /MPIhome/mpich/src/pt2pt/type_struct.c,v retrieving revision 1.18 retrieving revision 1.19 diff -r1.18 -r1.19 2c2 < * $Id: type_struct.c,v 1.18 2001/11/14 20:10:09 ashton Exp $ --- > * $Id: type_struct.c,v 1.19 2002/07/12 13:53:06 gropp Exp $ 259,261c259,263 < found, then these values will be ignored). */ < ub = indices[i] + (blocklens[i] * old_dtype_ptr->extent) ; < lb = indices[i]; --- > found, then these values will be ignored). > We use the lb of the old type and add the indices > value to it */ > lb = indices[i] + old_dtype_ptr->lb; > ub = lb + (blocklens[i] * old_dtype_ptr->extent) ; Index: util/mpicc.in =================================================================== RCS file: /MPIhome/mpich/util/mpicc.in,v retrieving revision 1.40 retrieving revision 1.42 diff -r1.40 -r1.42 291c291 < $Show $CC $USER_CFLAGS $ROMIO_TCFLAGS -I$includedir $compileargs --- > $Show $CC $USER_CFLAGS $ROMIO_TCFLAGS $compileargs -I$includedir 335c335,338 < mpilibs="$proflib $mpilibs $proflib" --- > # We include the last "mpilibs" because the mpilibs contains the > # ADI routines. There is a chance that a file in the first mpich.a > # invokes a pmpi routine that needs an ADIO routine. > mpilibs="$proflib $mpilibs $proflib $mpilibs" Index: util/mpichlib.conf.in =================================================================== RCS file: /MPIhome/mpich/util/mpichlib.conf.in,v retrieving revision 1.3 retrieving revision 1.5 diff -r1.3 -r1.5 9a10 > # We need execprefix because libdir and bindir may be in terms of execprefix 10a12 > exec_prefix='@exec_prefix@' 19c21 < HASMPE="@HASMPE@" --- > HASMPE="@hasMPE@" 32a35,47 > # > # Variables used by mpicc and mpiCC/mpicxx that are needed to support > # alternate C compilers > CLINKER="@CLINKER@" > FLIBNAME="@FLIBNAME@" > F77_IN_C_LIBS="@F77_IN_C_LIBS@" > sharedlibdir=@sharedlibbuild_dir@ > # C++ flags > CCC="@CPP_COMPILER@" > CCFLAGS="@CCFLAGS@" > CXXFLAGS="@CXXFLAGS@" > CCLINKER="@CCLINKER@" >