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

534 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
2f4f49c7ba Check for the mx_register_unexp_callback availability (starting from MX 1.1.1).
This commit was SVN r10134.
2006-05-31 06:29:16 +00:00
Brian Barrett
7bbdad2821 * The (undocumented!) Autoconf variable $ac_configure_args needs
to be evaluated, to account for the quoting done.


Submitted by: Ralf Wildenhues
Reviewed by: Brian Barrett

This commit was SVN r10132.
2006-05-31 03:41:57 +00:00
Brian Barrett
f4a7e9be78 * Fix shell quoting to be more consistent with what AC does
Submitted by: Ralf Wildenhues
Reviewed by: Brian Barrett

This commit was SVN r10130.
2006-05-31 03:40:26 +00:00
Brian Barrett
7e1befaab8 * Fix M4 quoting so that AC 2.60 won't complain
Submitted by: Ralf Wildenhues
Reviewed by: Brian Barrett

This commit was SVN r10128.
2006-05-31 03:37:31 +00:00
Brian Barrett
0b09ba928c Fix for bug #17. Solaris provides stubs (who knows why, but they do) for
the pthreads library that don't do anything but are there when no special
options are given.  Both the GNU compiler and the Sun compiler could
sometimes ignore the -K* options, causing badness when building with
posix threads.  Don't try those options ;).

We still try -pthread and -pthreads because the compilers *do* error
when they see those options and some versions of the GNU compiler do
understand those flags (and do all the right things in that case).

This commit was SVN r10126.
2006-05-31 00:23:49 +00:00
Jeff Squyres
5f356edb64 Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
  4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
  current as of this writing, I think), and NAG 5.2, although some
  have limitations (e.g., NAG can't seem to handle the medium and
  large sizes)
- Building the F90 "small" module size is now the default, even for
  developers
- Split up mpif.h into multiple files because parts of it were toxic
  to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
  on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
  functionality was my main goal -- the XML can be updated later (if
  at all).

This commit was SVN r10118.
2006-05-30 14:37:41 +00:00
Rainer Keller
772bba620d - Allow --enable-mca-direct for VPATH builds.
This commit was SVN r10007.
2006-05-22 14:24:30 +00:00
George Bosilca
1fbccda986 -g3 is definitively not a standard gcc option, at least not on anything
else than a quite recent version. Using this option prevent gdb from accessing
the contents of some of the structures. The error message is:
Unexpected type (0) encountered for integer constant.

This commit was SVN r9994.
2006-05-19 22:09:29 +00:00
Jeff Squyres
8e26fd653d Torque changed the name of their library from libpbs to libtorque; this
commit updates our configure test to check for both names.

This commit was SVN r9976.
2006-05-18 21:03:38 +00:00
Jeff Squyres
4080646606 Fix some variable names that are generated via m4 macros.
Sorry for committing configure changes during the day, but this is
necessary for some testing via multiple people at different sites.

This commit was SVN r9926.
2006-05-15 19:33:06 +00:00
Jeff Squyres
0d092abb81 Clarify help string, per change to 1.0 branch.
This commit was SVN r9906.
2006-05-12 03:06:54 +00:00
Andrew Friedley
5ba264d854 -ldapl isn't needed on all uDAPL platforms, so don't use it unless it is needed.
This commit was SVN r9866.
2006-05-09 20:02:38 +00:00
Brian Barrett
52369307f8 Add a feature to the build system that Terry from Sun and I talked about
in San Jose.  Allow the configure option --disable-binaries to build OMPI,
but not build or install the support binaries (so basically, just build
the libraries).

This commit was SVN r9777.
2006-04-29 02:16:41 +00:00
Jeff Squyres
2a2b27bf57 Forgot to remove f90_get_alignment.m4 from Makefile.am.
This commit was SVN r9725.
2006-04-26 12:07:26 +00:00
Jeff Squyres
79a3678924 Fix typo
This commit was SVN r9723.
2006-04-26 11:52:25 +00:00
Brian Barrett
5bd1be7ac4 * clean up some configure --help output as reported on OMPI mailing list.
This should probably go to 1.1...

This commit was SVN r9722.
2006-04-26 02:07:19 +00:00
Jeff Squyres
c6a753f41b Finish the rest of r9698:
- Add a lengthy comment explaining why we don't get F90 data type
  alignments
- Remove config/f90_check.m4 and its entry in acinclude.m4

This commit was SVN r9707.

The following SVN revision numbers were found above:
  r9698 --> open-mpi/ompi@e57300da4c
2006-04-25 10:45:06 +00:00
Jeff Squyres
e57300da4c Don't bother to get the alignmnet of an f90 type -- the DDT engine
only uses the F77 alignments anyway.  Plus, it is currently unknown
how to reliably get the F90 alignments because compilers *may* reorder
things and/or give different alignments than the f77 tests.

This commit was SVN r9698.
2006-04-24 14:28:51 +00:00
Brian Barrett
2ad29df0a1 * Add option to disable the adding of -g to CFLAGS/CXXFLAGS when --enable-debug
is given.  Generally not useful, unless you're on a platform without a
  debugger...

This commit was SVN r9684.
2006-04-22 19:23:26 +00:00
Rainer Keller
990496bc80 - Small bugfix to get lib-directory checking correct
(prevented orte/mca/pls/tm from detecting libpbs).

This commit was SVN r9657.
2006-04-19 15:22:55 +00:00
Brian Barrett
6617d48e00 * fix small issue with cross-compiling - we don't need
to run the working test when cross-compiling, so just
  ignore it for now..

This commit was SVN r9653.
2006-04-18 18:22:00 +00:00
Brian Barrett
d5012bf485 Two patches from Ralf Wildenhues to improve configure:
- include stdlib.h for tests that call exit(), as AC no longer
    prototypes exit in 2.60
  - Fix a compile issue in our cross-compiling test for C/C++
    alignment checks, matching what AC did for 2.60.

This commit was SVN r9634.
2006-04-14 15:33:51 +00:00
Jeff Squyres
f8e634d6ca Bring over /tmp/f90-stuff branch to the trunk.
svn merge -r 9453:9609 https://svn.open-mpi.org/svn/ompi/tmp/f90-stuff .

Several improvements over the current F90 MPI bindings:

- The capability to make 4 sizes of the F90 bindings:
  - trivial: only the F90-specific MPI functions (sizeof and a few
    others)
  - small: (this is the default) all MPI functions that do not take
    choice buffers
  - medium: small + all MPI functions that take one choice buffer
    (e.g., MPI_SEND)
  - large: all MPI functions, but those that take 2 choice buffers
    (e.g., MPI_GATHER) only allow both buffers to be of the same type
- Remove all non-standard MPI types (LOGICAL*x, CHARACTER*x)
- Remove use of selected_*_kind() and only use MPI-defined types
  (INTEGER*x, etc.)
- Decrease complexity of the F90 configure and build system

This commit was SVN r9610.
2006-04-11 03:33:38 +00:00
Sushant Sharma
8d5289b2b8 Corrected Makefile.am files for pls and soh xcpu-components as per Brian's suggestion.
This commit was SVN r9519.
2006-04-03 17:14:47 +00:00
Sushant Sharma
46f84b1e8e Added xcpu component in pls and soh.
This commit was SVN r9491.
2006-03-31 02:19:52 +00:00
George Bosilca
99ba9bea10 Correct the CRAY define (here is a interesting webpage with all the compilers defines
http://predef.sourceforge.net/precomp.html).

This commit was SVN r9472.
2006-03-30 00:20:43 +00:00
Brian Barrett
ae85aae6e5 * add some debugging if conftestval the file doesn't exist
* Try fclose()ing the file to see if that helps with the errors reported
  with Absoft 8.2

This commit was SVN r9439.
2006-03-28 13:55:39 +00:00
Brian Barrett
06e61ea03b * have to use same case for creating a function name as using it in the
Fortran tests or the mixed case (*caugh* Absoft *cough*) compilers
  don't compile the tests too well...

This commit was SVN r9406.
2006-03-24 02:34:13 +00:00
George Bosilca
aef1358808 First import or peruse. As it look like SVN doesn't like to import simultaneously
2 directories having the same name I have to split the import in 2. I start with
the test and the configure.

This commit was SVN r9372.
2006-03-23 04:54:10 +00:00
Brian Barrett
9bd236e1f0 * need to expand out $prefix if it is NONE as well
This commit was SVN r9346.
2006-03-21 00:21:12 +00:00
Brian Barrett
db5bc19785 * work around bumm assembly result on linux ppc32, which was claiming
support for 64 bit opcodes

This commit was SVN r9284.
2006-03-15 03:33:46 +00:00
Brian Barrett
1f6e85af4c Let's try this again, this time with less suck.
* Don't do the .in -> .tmp -> header thing for the prefixes and versions.
  It causes some severe cleanup issues all to save 4 files from rebuilding
  when configure is run.
* Clean up some makefiles so it's clear what is being installed/disted

This commit was SVN r9260.
2006-03-12 17:56:58 +00:00
Brian Barrett
ea7b9cfc81 * Only enable SLURM support in ORTE if on a platform currently supported by
SLURM.  Currently, this includes AIX and Linux.  If the user wants to build
  SLURM on another platform, they can specify --with-slurm.
* Enable/disable the SLURM sds component using the same logic as the PLS and
  RDS components.

This commit was SVN r9259.
2006-03-12 05:32:35 +00:00
Brian Barrett
c42da09796 * Fix a small bug George noticed - if you change the prefix (or any of the
installation directories) in configure, the files that depend on this
  information are not properly rebuilt.  If you need this information,
  don't setup a -D in the Makefile.am - instead, include 
  opal/install_dirs.h.
* Use the : option in AC_CONFIG_FILES to avoid needing to expose that
  we are playing around with temporary files with our headers to avoid
  rebuilding
* Clean up the version file information a bit, and like the install 
  directory stuff, make sure that there is a dependency so that 
  ompi_info gets rebuilt properly when a version number changes.

This commit was SVN r9256.
2006-03-12 04:35:01 +00:00
Brian Barrett
710bca2df4 * properly enable threading support inside ptmalloc2=. Thanks to Tim for
figuring out that ptmalloc2 was borked.

This commit was SVN r9251.
2006-03-11 02:37:55 +00:00
Brian Barrett
b57a6b4a62 * PGI 6.1 kind of (but not completely) supports GCC inline assembly. Previous
versions didn't even make an attempt.  Disable the not-quite-right issues
  inline assembly support with PGI 6.1.

This commit was SVN r9240.
2006-03-10 02:11:41 +00:00
George Bosilca
c604c5da2f -g3 is a GNU gcc specific flag. We are using the gnu compiler only if
the vendor is gnu. Otherwise, if GCC is set for all the compilers who
impersonate gcc like icc.

This commit was SVN r9217.
2006-03-08 17:17:17 +00:00
Jeff Squyres
fc2d95d263 Also recognize -g1, -g2, and -g3 as debugging flags so that the
now-default GNU debug flags (-g3) don't accidentally cause the
configure system to add -O3 to the build flags (because it didn't
recognize that -g3 was a debugging flag).

This commit was SVN r9207.
2006-03-06 17:32:51 +00:00
Rainer Keller
42f4a6fe03 - use AC_C_BIGENDIAN instead of deprecate AC_WORDS_BIGENDIAN
- set the highest debugging levels for macro debug support on gcc/gdb

This commit was SVN r9197.
2006-03-04 13:59:14 +00:00
Brian Barrett
c2fded586a * Andrew F. pointed out I can't spell...
This commit was SVN r9186.
2006-03-01 03:13:22 +00:00
Brian Barrett
7fa1c0eeb2 * if the default compile mode is 64bit, config.guess will call a MIPS
machine mips64

This commit was SVN r9185.
2006-03-01 02:25:09 +00:00
Brian Barrett
ee73cbb25c * remove unused F90 range and precision tests
This commit was SVN r9162.
2006-02-27 05:19:13 +00:00
George Bosilca
426c587dcc Dont use exit(0) when we try to run a simple C++ program. Use return instead
to avoid having problems on Windows with the C++ mangling scheme.

This commit was SVN r9161.
2006-02-27 05:14:35 +00:00
George Bosilca
f4b853d038 Allow Windows absolute prefix which start with a letter followed by :
This commit was SVN r9143.
2006-02-25 21:23:14 +00:00
George Bosilca
454e133ae2 Move all the Microsoft related checks outside the configure.ac
This commit was SVN r9100.
2006-02-21 07:42:00 +00:00
George Bosilca
890e2ec06e Accept Windows friendly paths for --prefix.
This commit was SVN r9099.
2006-02-21 07:41:07 +00:00
Jeff Squyres
e7528cad6f Remove AC_FC_SRCEXT(f95) because a) we don't have any files in the
source tree that are named .f95, and b) it sets the future file
extension for Fortran AC tests to be .f95.  This is not a problem for
gfortran, but other compilers (e.g., ifort) don't like that.

This commit was SVN r9040.
2006-02-14 20:28:18 +00:00
Jeff Squyres
65161c1dfe Fix the fortran 90 checks in two ways:
- Make the F90 checks use the identical types to the F77 checks (e.g.,
  INTEGER*4, as opposed to potential selected_int_kind() equivalents)
- Comment out the F77 and F90 alignment check failure -- there is some
  confusion here; some vendors apparently told Craig R. yesterday that
  they change the alignments of types based on whether the instance is
  a standalone variable, in an array, or a member of a struct.  

More investigation is needed (and potentially clarification for MPI
users -- this could be quite problematic!), but this alignment test is
otherwise hosing the nightlies, so it needs to be taken out for the
moment.

This commit was SVN r9031.
2006-02-14 13:05:37 +00:00
Jeff Squyres
681d46ac56 Fix problem with the AC_DEFINE's for the F90 check. Must use m4
mutilations in AC_DEFINE or autoheader will not pick up the symbols
and add them to opal_config.h.in.

This commit was SVN r9026.
2006-02-14 05:22:49 +00:00
Brian Barrett
74860649bc * skip some F90 tests if we aren't compilng F90
* Make sure to invalidate the cache on a couple of tests when we don't
  want F77/F90

This commit was SVN r8994.
2006-02-12 16:59:56 +00:00
Jeff Squyres
bc47a24bee Bring the f90 configuration up to speed with the f77 configuration
changes.  The two Big Changes are elegance (much more re-use of code
rather than cut-n-pasting the same code over and over and over and...)
and enabling cross-compilation for F77 and F90 (because we actually
have to *run* some compiled F77 and F90 programs for some of the
tests, which obviously won't work in a cross-compilation environment
-- so enable the use of config.cache to load such values in
cross-compiling environments).

This commit was SVN r8991.
2006-02-12 15:11:36 +00:00
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
Brian Barrett
1c47b56163 * add ability to add compiler / linker flags to the MPI wrapper compilers
from configure (in addition to all the ones that the configure script
  finds)

This commit was SVN r7906.
2005-10-27 23:23:08 +00:00
Brian Barrett
65bcc283c0 * Change the --enable-{cxx,f77,f90} options to
--enable-mpi-{cxx,f77,f90} so that people aren't confused about what
  they are actually disabling.

  This should go to the 1.0 branch

This commit was SVN r7851.
2005-10-25 02:53:54 +00:00
Brian Barrett
76d1a808e9 disable GCC-style inline assembly when on AIX. The IBM compiler does a really,
really crappy job of trying to emulate the inline assembly mode of GCC (and will
completely rewite the assembly, which seems to be bad in my opinion).  GCC and
the AIX assembler don't see eye-to-eye on what GCC emits when doing inline
assembly.  That's two compilers and no actual working support.  So just punt and
fall back to XLC inline assembly or non-inlined assembly.

This commit was SVN r7800.
2005-10-18 19:04:35 +00:00
Brian Barrett
1302cb4072 The next in a long line of crazed build system changes from Brian. This was
originally suggested by Ralf Wildenhues, to try to speed autogen, configure,
and make (and possibly even make install).  Use automake's include directive
to drastically reduce the number of Makefile files (although the number of
Makefile.am files is the same - most are just included in a top-level
Makefile.am).  Also use an Automake SUBDIRs feature to eliminate the
dynamic-mca tree, which was no longer really needed.  This makes adding
a framework easier (since you don't have to remember the dynamic-mca
tree) and makes building faster (as make doesn't have to recurse through
the dynamic-mca tree)

This commit was SVN r7777.
2005-10-17 00:21:10 +00:00
Jeff Squyres
c760d51cc2 Fixes for INTEGER and int max values; original problem report from
Brooks Davis.  Now handle everything as hex, and we don't have to
worry about signed/unsigned implementations of integers in shell and
expr. 

This commit was SVN r7729.
2005-10-12 16:08:17 +00:00
Brian Barrett
6ee4116b22 * properly restore CPPFLAGS so that they don't accidently disappear down
the line

This commit was SVN r7718.
2005-10-12 03:59:48 +00:00
Brian Barrett
4df7d936bf make dist would create the VERSION file with incorrect timestamps if running in
a VPATH tree.  Fix that problem, as well as some potential shell escaping badness
if a version number or path ever had a space in it.

This commit was SVN r7586.
2005-10-02 21:14:50 +00:00
Jeff Squyres
e72e1f0050 Fix some incorrect fortran parameter values
This commit was SVN r7584.
2005-10-02 14:59:27 +00:00
Brian Barrett
57781484ef * check for shared receive queue support, and set OMPI_MCA_BTL_OPENIB_HAVE_SRQ
if we have said support

This commit was SVN r7575.
2005-10-01 18:44:31 +00:00
Brian Barrett
997644af31 * There are now two forms of ibv_create_cq, one with 3 params and one with 5.
Try to detect which form this version of Open IB uses, defaulting to the 5
  version if we can't figure it out (the new version has 5 params)
* Only add -lcm if it exists on the system - some versions of Open IB
  apparently don't need it.

This commit was SVN r7542.
2005-09-29 13:35:57 +00:00
Brian Barrett
80ac5c2efd * there are now two upcoming points where we want to release a version with
a random string of characters as part of the version number (the really
  soon to happen 1.0lanl release and the 1.1sc2005 release that we've
  talked about).  So rather than having alpha and beta fields that must
  be numeric values, have a general field that can be any alphanumeric
  value.

This commit was SVN r7511.
2005-09-27 02:06:05 +00:00
Jeff Squyres
fbd6db142b Remove some old references to --with-btl-mvapi (replaced with
--with-mvapi).

This commit was SVN r7495.
2005-09-23 13:18:41 +00:00
Jeff Squyres
4637ca6027 Use AC_FD_CC uniformly (one & was missing).
This commit was SVN r7407.
2005-09-16 12:28:53 +00:00
Brian Barrett
2787d993a9 * Add checks for fork/execve/setpgid for slurm components so that they
automagically don't build on platforms without such things
* Fix for mistaken use of cache variable in assembly setup
* one more cached test hits the books

This commit was SVN r7404.
2005-09-16 04:51:09 +00:00
Brian Barrett
cf04b2da3c * bunch of changes to make better use of config cache. Almost everything in the
C / C++ tests now use the caching scheme.  Only exception is C++ exception
  handling code, which is disabled by default, so I'm not too worried about making
  that configure faster :)

This commit was SVN r7403.
2005-09-16 02:49:31 +00:00
Brian Barrett
0bdbdb0cf8 * It seems that some versions of the Intel compiler don't properly handle
the way we use weak symbols (you have to use the actual symbol in the
  .o file or the weak symbol isn't generated).  It worked for our test
  case, but not for libmpi.  Make our test case look more like what we
  do in libmpi by generating a .o file with a weak symbol and attempting
  to use it from another object file.

This commit was SVN r7360.
2005-09-14 01:40:25 +00:00
George Bosilca
6a4f4acebf Typo.
This commit was SVN r7359.
2005-09-13 22:28:51 +00:00
Jeff Squyres
809a31518e Some changes:
- fix the first test
- make the #define's always have a value (0 or 1)
- prefix them with OMPI
- remove the extra "__"'s in the names, since they're now
  OMPI-specific #define names

This commit was SVN r7339.
2005-09-13 12:26:45 +00:00
George Bosilca
7a9a427c30 Check for __attribute__ to support advanced flags on the functions and structures.
They can be used to give additional knowledge to the compiler about the behaviour of a
function so it can optimize further. In the begining we just need it for the alias weak
a better way to create function aliases.

The problem was that the intel compiler version 8 to 9 support pragma weak but do not include
the function in the .o file if it's not used at least once in the same .c file. With the
alias weak this problem is solved as even intel support it correctly.

This commit was SVN r7330.
2005-09-12 22:49:09 +00:00
Jeff Squyres
67cde6c212 - Minor cleanups
- Add --enable-trace which turns on some internal tracing and dumps a
  file per process in the session directory tree.  Meant for internal
  developer tracing, *not* for tracing MPI applications in the
  traditional sense.

This commit was SVN r7229.
2005-09-08 09:44:50 +00:00
Brian Barrett
aee3316243 * just for George, don't try to get the SVN r number if we don't need it. This
should speed up autogen.sh on platforms with really slow svnversion searches,
  as we only need the base version for autogen, which means we don't need the
  r number.
* Since I can't type, add an error message if an invalid argument is given

This commit was SVN r7224.
2005-09-07 19:59:28 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
Brian Barrett
17f60894c5 * per conversation with Tim, registration macro should be on by default
This commit was SVN r7210.
2005-09-07 05:01:51 +00:00
Jeff Squyres
5702c8f29b Fix help messages and docs about --with arguments
This commit was SVN r7183.
2005-09-05 18:51:34 +00:00
Brian Barrett
7e9b777ead * there's no var_in variable for the component-specific variables, so don't
have on there.  Fixes static builds with GM.

This commit was SVN r7140.
2005-09-02 03:05:38 +00:00
Jeff Squyres
4c59058053 - Add some logic to configure to make a version of CFLAGS that doesn't
include any optimization flags
- Use these flags to always compile ompi/debuggers/* and orterun so
  that parallel debuggers (such as Totalview) can always see the
  debugging symbols (see comments in ompi/debuggers/Makefile.am and
  orte/tools/orterun/Makefile.am)
- Remove some obsolete LAM-named variables from configure.ac

This commit was SVN r7125.
2005-09-01 10:37:20 +00:00
George Bosilca
e49285fc14 Brian patch to remove -lmyriexpress from the mpicc flags.
This commit was SVN r7121.
2005-09-01 03:40:01 +00:00
George Bosilca
08f292f21a Now the PTL and BTL GM share a common base of configure macros.
This commit was SVN r7120.
2005-09-01 03:38:56 +00:00
Jeff Squyres
0fddc53603 If you're going to make a fix by unescaping something, then unescape
*everything*.  Oops.  :-(

This commit was SVN r7104.
2005-08-31 03:01:06 +00:00
Jeff Squyres
81c9e7a582 Fix nested quoting
This commit was SVN r7091.
2005-08-30 10:44:55 +00:00
Jeff Squyres
b98974d09c - Clarify the output when looking for compilers that impersonate gcc
- Setup OMPI_CC_ORIGINAL in preparation for AM subdir-objects (so that
  we can snarf libtool objects properly if $CC has been switched to
  the "compile" script)

This commit was SVN r7073.
2005-08-28 13:11:38 +00:00
Jeff Squyres
6057a17709 Fix typo in help message
This commit was SVN r7072.
2005-08-28 13:10:16 +00:00
Brian Barrett
77dafc7826 * Make Fortran 90 turned on by default (unless it's a developer build, in
which case, skip it, since it takes so bloody long to compile)
* Dsiable the XGrid PLS when compiling in 64 bit mode, as Tiger only
  ships with XGrid libraries for 32bit apps
* ompi_config.h and orte_config.h (and supporting headers) are now only
  installed if --with-devel-headers is enabled.  Since they are no
  longer needed for MPI applications, it doesn't make sense to install
  them if we are only installing mpi.h and mpif.h.
  Also, since we are no longer including ompi_config.h in mpi.h, there
  is no longer a need to do the dumb sed trick on install

This commit was SVN r7042.
2005-08-26 00:11:30 +00:00
Brian Barrett
7ed4b7a40b * do a slightly better job at syncing the search ordering between F77 and
F90 so that chances of us finding the same vendor's compilers are higher
  than might otherwise be...

This commit was SVN r7021.
2005-08-24 22:25:48 +00:00
Brian Barrett
5c82e522c3 * move check for -lsocket from libevent to top-level configure, and add
check for -lnsl, since both are needed for a bunch of functions like
  gethostbyname() on Solaris

This commit was SVN r7015.
2005-08-24 21:24:17 +00:00
Jeff Squyres
4eba48b430 Bunches of fixes for the f90 bindings
- fix the --with-f90-max-array-dim configure switch
- fix configure test to find the supported f90 linker switch to find
  fortran modules
- Unbelievably, some versions of sh (cough cough Solaris 9 cough
  cough) actually seem to internally perform a "cd" into a
  subdirectory when you run "./foo/bar", such that if you try to
  source a script in the top-level directory in the bar script (i.e.,
  ". some_script" in the bar script), it will try to run it in the
  "foo" subdirectory, rather than the top-level directory!  #$@#$%#$%
  So we have to pass in the pwd to the scripts so that they know where
  some_script is.
- Reworked much of ompi/mpi/f90/Makefile.am for lots of reasons.  See
  the internal comments (mostly having to do with dependency stuff --
  Libtool does not apparently support F90, so we can only build the
  F90 library statically.

This commit was SVN r6993.
2005-08-24 02:11:02 +00:00
Brian Barrett
a3f73429b2 * make AC_PROG_F77 take autoconf's list of compilers, so that we can also
add ifort in there

This commit was SVN r6982.
2005-08-23 14:27:59 +00:00
Jeff Squyres
83cb5db658 Add ifort as a valid compiler (and remove ifc)
This commit was SVN r6980.
2005-08-23 12:11:41 +00:00
Brian Barrett
5375146d53 * replaces all uses of == with = in test arguments
* make sure LIBS contains -lpmapi before checking for pm_cycles()
* reorder aix functions so that we don't use get_usecs() before we
  define it

This commit was SVN r6970.
2005-08-22 03:47:48 +00:00
Brian Barrett
9fa52317b6 * check what's in the VERSION file, not what svnversion returned when
deciding whether to hard code the r number when making a dist tarball

This commit was SVN r6968.
2005-08-22 00:00:59 +00:00
Brian Barrett
ba1f742f34 * fix bug in ompi_mca.m4 that would prevent components that were forced
not to build to not be added to the ALL_COMPONENTS list and therefore
  not distributed in a tarball
* add some of the contrib/ stuff to the dist tarball (the stuff to
  make binary packages and the "--with-platform" files)

This commit was SVN r6955.
2005-08-21 21:04:52 +00:00
Brian Barrett
1fe9356d37 * Clean up the --with-platform option to automagically set a whole bunch
of flags to configure.  Now don't need to specify the contrib/platform
  part of the path if you don't want to
* Add "optimized" platform setting that will undo all the performance-
  affecting things that a developer build sets up.

This commit was SVN r6946.
2005-08-20 20:43:59 +00:00
Brian Barrett
dfdb5dc12a * high resolution, low latency timers for a number of platforms, plus mods
to opal_progress() to use the timers instead of a tick count for deciding
  whether to call the event loop or not.  Currently supported platforms are:

     - solaris (x86 / sparc)
     - Linux (x86 / x86_64 / IA64)
     - Mac OS X (x86 / Power PC)

This commit was SVN r6922.
2005-08-18 05:34:22 +00:00
Brian Barrett
a32a64f0a6 * add the ability to only allow one component from a given framework
be compiled, as well as the ability for components to prioritize
  the order in which they should be compiled so that the "right"
  first one is selected.  Make autogen.sh do all the hard sorting
  work, so that the m4_defined lists of components are in the
  prioritized order.  From there, it's just forcing components
  to fail after the first one succeeds (if we are in the "only one
  compnent can build" mode).

This commit was SVN r6895.
2005-08-16 05:21:34 +00:00
Brian Barrett
c0b5129df9 * allow orte or opal trees to be built without building the ompi or ompi and
orte trees (respectively).  Next step towards splitting the projects.

This commit was SVN r6863.
2005-08-13 21:02:24 +00:00
Brian Barrett
8aca9ef966 * remove need to edit project/Makefile.am and project/{dynamic-,}mca/Makefile.am when adding a new component. Configure / autogen now do it for you.
* Add base to memory framework so that we can do something sane with
  ompi_info
* Updated ompi_info to print components for memory framework and
  show whether we have memory hooks active or not.

This commit was SVN r6861.
2005-08-13 20:19:24 +00:00
Brian Barrett
56e10a49da * Test for case where user is building 32 bit on Opteron. In such a case,
we should fall back to IA32 assembly instructions

This commit was SVN r6859.
2005-08-13 18:32:36 +00:00
Jeff Squyres
0f6011529a Update dist script for ompi/orte/opal split
This commit was SVN r6855.
2005-08-13 15:45:17 +00:00
Brian Barrett
1b830beddb * move over changes from the /tmp/bwb-memory-hooks/copy-1 into the trunk.
This includes updates to the malloc_hook method and making everything
  components.

This commit was SVN r6852.
2005-08-13 01:08:34 +00:00