1
1
Граф коммитов

383 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
Brian Barrett
d751d3bacf * Try to execute a simple application with a compiler (in non-cross-compile
situations) before going on to tests that run executables with the
  compiler.  Print a friendly error message if it fails.  Hopefully, this
  will help people with borked compilers.

This commit was SVN r8898.
2006-02-05 01:28:05 +00:00
Brian Barrett
c1390278ad * Look for the static version of the mpi F90 library, as it is always built
statically without libtool (so there is no .la file)

This commit was SVN r8896.
2006-02-04 23:30:20 +00:00
Brian Barrett
b1d2424013 Merge in present work on the MPI-2 onesided chapter. The current code is not
complete, but stable enough that it will have no impact on general development,
so into the trunk it goes.  Changes in this commit include:

 - Remove the --with option for disabling MPI-2 onesided support.  It
   complicated code, and has no real reason for existing
 - add a framework osc (OneSided Communication) for encapsulating
   all the MPI-2 onesided functionality
 - Modify the MPI interface functions for the MPI-2 onesided chapter
   to properly call the underlying framework and do the required
   error checking
 - Created an osc component pt2pt, which is layered over the BML/BTL
   for communication (although it also uses the PML for long message
   transfers).  Currently, all support functions, all communication
   functions (Put, Get, Accumulate), and the Fence synchronization
   function are implemented.  The PWSC active synchronization
   functions and Lock/Unlock passive synchronization functions are
   still not implemented

This commit was SVN r8836.
2006-01-28 15:38:37 +00:00
Brian Barrett
dc088d0023 * Generate ompi_get_version.sh from ompi_get_version.m4, removing a bunch of
duplicated logic that wasn't being duplicated all that well.  Thanks goes
  to Ralf Wildenhues for the bulk of the patch.

This commit was SVN r8779.
2006-01-21 22:53:16 +00:00
Brian Barrett
22c50c2cca * allow loading of configure options from an external file, for use in
cross-compile environment

This commit was SVN r8706.
2006-01-16 23:38:42 +00:00
Brian Barrett
17d2c907fc Some changes to better support cross-compiling OMPI:
- fall back to compile test for windows paffinity component
    when cross compiling
  - fall back to platform guess when checking for threads having
    different pids with pthreads (yes on linux, no elsewhere)
  - pass the proper host, target, and build flags to the
    ROMIO configure script

With these changes, cross-compiling should be possible with the exception
of the Fortran 77 and Fortran 90 bindings.  Fortran 77 can be cross-
compiled if cache values are provided for type sizes and alignment.

This commit was SVN r8702.
2006-01-16 04:00:44 +00:00
Andrew Friedley
a4abe3bdbe Checkpoint:
- Borrow configure.m4 from the mvapi btl.  One of the uDAPL headers emits a
   warning when -pedantic is enabled, so strip it out.
 - Change function check in ompi_check_dapl.m4 from dat_ia_open to
   dat_registry_list_providers.. dat_ia_open wasn't working right
 - Make the references to prepare_dst, put, and get NULL for now
 - Add opal_output() calls in all the udapl interface functions for debugging
 - Add evd_qlen component parameter to control event dispatcher queue length
 - First stab at component_init and module_init
 - Misc cleanups - whitespace, dead code removal
 - Update copyrights to 2006

This commit was SVN r8701.
2006-01-16 03:01:12 +00:00
Brian Barrett
c96f870674 * Merge of wrapper compiler updates from the bwb-wrapper-fix branch (r8690 -
r8698), with changes below:

  - Split wrapper flags into those required for each of the three projects,
    and cleaned up some cruft (including the LIBMPI_EXTRA_*FLAGS) through-
    out the build system
  - Added opal_init_util and opal_finalize_util to allow init / cleanup
    of all the opal code that doesn't require the MCA system
  - Create standalone key=value file parser, based on the one that used
    to be in the mca param parser, so that it can be shared in multiple
    places
  - Add wrapper datafiles for opal, orte, and ompi wrappers, and add
    wrapper compiler with support for all the old features

This commit was SVN r8699.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r8690
  r8698
2006-01-16 01:48:03 +00:00
George Bosilca
5f37949b10 Correct few typos and make the "no fortran" a valid choice.
This commit was SVN r8689.
2006-01-14 00:20:13 +00:00
Jeff Squyres
74d759dc47 Patch submitted by Roland Dreier to look for a change in the OpenIB
API.

This commit was SVN r8687.
2006-01-13 23:20:49 +00:00
Brian Barrett
92aaaad611 * Fix issue when a type existed but we didn't have a corresponding C type -
the failure wasn't being properly propogated up from ompi_find_type and
  resulting in bad #define values in ompi_config.h
* Fix issue where we could emit illegal sh code if we were checking for a
  type with no corresponding C types listed.  Thanks to Ralf for tracking
  this one down.
* Fix a couple more messages to match all the others.

This commit was SVN r8685.
2006-01-13 14:51:20 +00:00
Brian Barrett
48f82db838 Convert all Fortran 77 tests to use config cache so that we have a way to
determine values like Fortran alignment (which can only be determined by
running a program) when cross-compiling.  By providing cache values, the
programs will not be run at all, and life will be good.  Also clean up
some macro interfaces so that they are a bit easier to use, at the cost
of horrid internals ;).

This commit was SVN r8684.
2006-01-13 04:08:40 +00:00
Andrew Friedley
c0bad339af - Use the GM BTL as a template instead, per Tim's suggestion
- Begin adding uDAPL-specific stuff
- Added config/ompi_check_udapl.m4 - hopefully I did this right

This commit was SVN r8681.
2006-01-12 04:05:02 +00:00
Brian Barrett
80c5e5c8ba * fix assembly issues for linux, which wants a notation to make the stack
non-executable.

  This should go to the v1.0 branch

This commit was SVN r8673.
2006-01-11 04:49:40 +00:00
Brian Barrett
9310fd6f85 When debugging code is turned on with --enable-debug, try to use error checking
mutexes instead of fast mutexes.  If an error occurs, a message will be
printed, and abort() will be called.

This commit was SVN r8671.
2006-01-11 04:34:29 +00:00
George Bosilca
670716c489 There is no need to do the checking for socklen_t twice.
This commit was SVN r8612.
2005-12-31 12:19:27 +00:00
Brian Barrett
f74e24df69 * don't declare functions being checked as extern char * - that's not a
function and causes problems with false negatives on some linux distros.
  Instead, use the test code used by AC_CHECK_FUNC.

This commit was SVN r8592.
2005-12-22 14:26:24 +00:00
Jeff Squyres
7497babb1f - Add an explicit example to the --enable-mca-no-build option because
I never remember the right format.  :-)
- Some capitolization consistency fixes.

This commit was SVN r8576.
2005-12-21 12:47:02 +00:00
Brian Barrett
f9018a148c per conversation with George, don't try to figure out all the assembly
information on Windows with the CL compiler.  We don't use it, and we
were running into trouble with the compiler on some tests

This commit was SVN r8558.
2005-12-20 01:34:27 +00:00
Brian Barrett
79396ea5a5 * Fix small issues when using an assembler directly, rather than through
a compiler
* Work around fact that ias (Intel Assembler) emits a banner at all times...

This commit was SVN r8555.
2005-12-20 00:49:59 +00:00
Brian Barrett
08799e4a48 * Make the format of the --with-BTL options the same for all the BTLs
* Make sure --without-BTL works for all BTLs
* Fix copy-n-paste error in aix timer configrue help string

This should go to the v1.0 branch

This commit was SVN r8554.
2005-12-20 00:47:36 +00:00
Brian Barrett
a5af07cd6b fixes suggested by Ralf for supporting both Libtool 1 and 2 in Open MPI...
This commit was SVN r8538.
2005-12-19 03:10:23 +00:00
George Bosilca
bb26d44166 Comment out the second check for socklen_t. We already check it once in the
main configure. Should be removed in the near future.

This commit was SVN r8536.
2005-12-17 22:12:45 +00:00
Brian Barrett
32e01a8e80 * one more thing that we need to ignore (given by libtool 2.0 with CL)
This commit was SVN r8503.
2005-12-15 05:20:15 +00:00
Brian Barrett
e574fd7fbe - update some svn ignores
- don't fail to configure if threads aren't found, since
  we don't have thread support on windows
- rather than setting the asm file name to none in asm-data,
  special case windows w/ CL in the ompi_config_asm macros.
  Otherwise, there were some warnings during make dist and
  configure that didn't need to be there.

This commit was SVN r8502.
2005-12-15 04:19:16 +00:00
Brian Barrett
e8cca1710f couple of changes to make Open MPI compile under Cygwin with gcc:
- add the right asm format
  - add checks for some constants / fields that cygwin
    doesn't have in the stacktrace code
  - fix for slightly more verbose libtool 2 betas that
    have multiple lines for link output

This commit was SVN r8501.
2005-12-15 00:51:28 +00:00
George Bosilca
29c75a4690 libtool 2.0 get confused if the source file is followed by -c (or any other
value that is not internally translated). In order to make all the version
of libtool happy, the simplest way is to have the source file at the end of
the command line.

This commit was SVN r8451.
2005-12-12 06:41:48 +00:00
Brian Barrett
73f4f407c1 Extend test for compiler vendor to include many, many more compilers, and
unify the C / C++ tests, as they are often the same defines to check...

This commit was SVN r8450.
2005-12-12 00:41:01 +00:00
George Bosilca
1602dd12ba Typo correction. GNU gcc define __GNUC__ not __GNU__.
This commit was SVN r8423.
2005-12-09 05:09:37 +00:00
George Bosilca
93cff86017 Include the vendor and nickname detection directly in the setup macros.
This commit was SVN r8422.
2005-12-09 04:19:53 +00:00
George Bosilca
66629c0974 Two scripts to detect the flavor and vendor of the used compiler. The flavor
is a short name usually the one that the compiler have. If we are using
wrappers around a compiler the flavor will be the real name of the compiler.
The vendor is a short name for the maker of the compiler. The GNU compilers
get gnu and the microsoft one get microsoft.

These 2 macros provide a simple way to check for specific brand of compilers
and to generate the correct code to test with the autoconf macros. They are
not yet completed, I add just some of the compilers/vendors but feel free to
add more if you need/want.

This commit was SVN r8417.
2005-12-08 17:40:32 +00:00
Brian Barrett
996fc4ca8e * allow both mx and gm to be disabled with --without-{gm,mx}
This commit was SVN r8411.
2005-12-08 04:54:42 +00:00
Brian Barrett
372f9b0f29 * it appears Solaris on Opteron identifies itself as i386-pc-solaris2.10, not
x86_64 as most opterons do.  So add test to see how many bytes a long is,
  and if it's 8 bytes, assume we're on an AMD64 instead of an IA32 for the
  purposes of assembly.

This commit was SVN r8384.
2005-12-06 13:31:05 +00:00
Brian Barrett
3a07de29f3 - add -lgen if it's needed to get dirname()
- since we now have three places where we need to add a -l<foo> if
  and only if it isn't already in something in LIBS that provides
  symbol bar...

This commit was SVN r8370.
2005-12-02 01:02:19 +00:00
Jeff Squyres
0fc36a016f Patch from David Daniel to add $LDFLAGS and $LIBS into the f90 tests
so that they're just like the f77 tests.

This commit was SVN r8348.
2005-12-01 13:19:32 +00:00
George Bosilca
906d19a73e A simpler version for the C function who is supposed to print the value of TRUE from Fortran. We support
only the fortran compilers who define the LOGICAL as being at most of the same size as an int.

This commit was SVN r8306.
2005-11-29 06:35:46 +00:00
Galen Shipman
ff1a820384 set the lib path correctly, build system doesn't like white space..
This commit was SVN r8291.
2005-11-28 21:08:39 +00:00
Galen Shipman
209bc9ca93 fix..
This commit was SVN r8288.
2005-11-28 20:44:53 +00:00
George Bosilca
c9c205302d Correct the TRUE detection code to be more Fortran friendly and not based on some compiler
features. Now it works with gfortran as well.

The problem was that the cast between LOGICAL and INTEGER is not a Fortran language feature. The easiest solution around this problem is to have a C function that print the value. We set the value in fortran and then call the C function to print it out.

This commit was SVN r8266.
2005-11-28 16:26:00 +00:00
Rainer Keller
bf0892bb32 - Implement correct Fortran Logical-handling in f77/f90 interface in
case of:
    sizeof(MPI_Flogical) != sizeof (int)
  and
    Fortran value of .TRUE. != 1
  as is often the case.
- Check in configure the value of .TRUE., the C-type coresponding to
  logical and check, that fortran compiler does not do something strange
  with arrays of logicals
- Convert all occurrences of logicals in the fortran wrappers, only
  in case it is needed.
  *Please note* Implementation of MPI_Cart_sub needed special treatment.
- Output these value in ompi_info -a
- Clean up the prototypes_mpi.h to just have a single definition and
  thereby deleting the necessity for prototypes_pmpi.h

- configured, compiled and tested with F90-program, which uses
  MPI_Cart_create and MPI_Cart_get:
  linux ia32, gcc (no testing, as no f90)
  linux ia32, gcc --disable-mpi-f77 --disable-mpi-f90 (had a bug there)
  linux ia32, icc-8.1
  linux opteron, gcc-3.3.5, pgcc, pathccx/pathf90 (tested just
pgi-compiler)
  linux em64t, gcc, icc-8.1 (tested just icc)

This commit was SVN r8254.
2005-11-24 16:52:35 +00:00
Brian Barrett
129451277e * add missing constant when using the MPI-2 onesided shell functions.
This should probably go to the branch

This commit was SVN r8222.
2005-11-21 23:43:48 +00:00
Brian Barrett
8faa1884f0 * The last of the build system optimizations. Combine the component and
component/base Makefile.am files, reducing the time configure spends
  stamping out Makefiles at the end
* Install base_impl.h file when devel-headers are being installed

This commit was SVN r8200.
2005-11-20 01:03:01 +00:00
Brian Barrett
e5525ad5f8 fix for issue found by Dries Kimpe -- if a user specifies two identical
options as part of the --with-wrapper-{*flags,libs} options to configure,
we'll eat one of them, which can have unintended issues.  For example,

  --with-wrapper-ldflags="-Wl,-rpath -Wl,pathA -Wl,-rpath -Wl,pathB"

will result in us removing the second -Wl,-rpath, which will result
in wrapper ldflags of -Wl,-rpath -Wl,pathA -Wl,pathB which doesn't
really do what the user intended.  We now always pass the user-
specified flags completely unmodified, bypassing the OMPI_UNIQ
routine

This commit was SVN r8193.
2005-11-18 20:55:38 +00:00
Brian Barrett
1066518f3b Fix output of configure --help for the --with-threads option to be posix
instead of pthread.  The code expects posix.

This commit was SVN r8130.
2005-11-12 03:10:52 +00:00
Brian Barrett
660d2f61b6 Don't add external declarations for the PMPI_W{TICK,TIME} functions
if profiling isn't enabled.  It appers that some compilers (g95)
will try to resolve the symbols if they are prototyped.

This commit was SVN r8110.
2005-11-11 00:12:40 +00:00
Jeff Squyres
bcd037315f Some Fortran compilers actually will return that a type exists even if
it doesn't support it -- the compiler will automatically convert the
unsupported type to a type that it *does* support.  For example, if
you try to use INTEGER*16 and the compiler doesn't support it, it may
well automatically convert it to INTEGER*8 for you (!).  So we have to
check the actual size of the type once we determine that the compiler
doesn't error if we try to use it (i.e,. the compiler *might* support
that type).  If the size doesn't match the expected size, then the
compiler doesn't really support it.

The F77 configure code actually handled this properly.  The F90 code
did not quite do it right.  This patch brings the F90 code up to the
same structure as the F77 code, albiet not m4-ized properly.  I also
added a comment to config/f77_check.m4 that explains *why* we do this
extra size check (because no explanation was given).

The impetus for this was that xlf* on OS X 10.3 was not recognizing
that INTEGER*16 was not supported, and mpi-f90-interfaces.h was being
assembled incorrectly.  This patch fixes this problem.

There is still one more problem, but waiting for some help from Craig
R on that (function pointers in F90 declarations).

This commit was SVN r8107.
2005-11-10 23:35:36 +00:00
Brian Barrett
5bf0a7bc62 * allow for the fact that svnversion might fail
This commit was SVN r8077.
2005-11-10 02:00:38 +00:00
Brian Barrett
bc8e6300fd Clean up the TM configure macro. Original bug was that it didn't add -lpbs to
the component's LIBS if the library was found in the default search paths.
However, it would also add -Is for default search paths and other nasty things,
so it seemed best to convert it to the OMPI_CHECK_PACKAGE macro so that it
behaved like all the other packages out there.

This commit was SVN r8007.
2005-11-07 13:21:46 +00:00
Jeff Squyres
42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00