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

536 Коммитов

Автор SHA1 Сообщение Дата
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
Brian Barrett
f707ba2dd3 * Add memory dispatching code for OPAL. This allows anyone to register
callbacks to be triggered when memory is about to leave the current
  process.  The system is designed to allow a variety of interfaces,
  hopefully including whole-sale replacement of the memory manager,
  ld preload tricks, and hooks into the system memory manager.  Since
  some of these may or may not be available at runtime and we won't know
  until runtime, there is a query funtion to look for availability of
  such a setup.
* Added ptmalloc2 memory manager replacement code.  Not turned on by
  default, can be enabled with --with-memory-manager=ptmalloc2.
  Only tested on Linux, not even compiled elsewhere.  Do not use
  on OS X, or you will never see your process again.
* Added AM_CONDITIONAL for threads test to support ptmalloc2's build
  system

This commit was SVN r6790.
2005-08-09 22:40:42 +00:00
Galen Shipman
ba82bc11bc bug fixes and configure check for topspin directory structure..
This commit was SVN r6767.
2005-08-08 19:10:36 +00:00
Brian Barrett
44ae604451 * Don't let -lsysfs propogate outside of the OpenIB components. Even if
OpenIB wasn't found, it was getting put in LIBS and causing issues on
  some platforms...

This commit was SVN r6718.
2005-08-02 20:25:42 +00:00
Rainer Keller
3aedbcb0b6 Aah, someone committed to a m4-file.
Take the chance to fix this typo...

This commit was SVN r6717.
2005-08-02 20:21:55 +00:00
Brian Barrett
e84a02d79c Allow the C and C++ compilers to support different methods of inline
assembly (including case where one supports inline assembly and the
other doesn't).

This commit was SVN r6714.
2005-08-02 19:51:57 +00:00
George Bosilca
c4f0c14407 Hopefully this time the macros are correct ... otherwise I'll became the public enemy #1 !!!
This commit was SVN r6665.
2005-07-28 19:52:37 +00:00
Brian Barrett
b0b6ddd078 * add --enable-heterogeneous (default: enabled) to enable heterogeneous
support in OMPI.  Currently only enables/disables the architecture
  sharing modex in ob1 pml.
* Add sds framework to ompi_info
* Figure out table ids to use for Portals BTL at configure time, since
  we should use 30 & 31 on Red Storm, but the reference implementation
  only supports 0-8.
* Some bug fixes in Portals UTCP sds

This commit was SVN r6650.
2005-07-28 16:16:13 +00:00
Brian Barrett
c02cfd6dd1 * add --with-platform=FILE argument to configure, which can be used to
load a set of arguments to build OMPI.  So you can do something like:

    ./configure --with-platform=redstorm

  and automagically have all 10,000 arguments to configure required
  for Red Storm magically set
* change all instances of sinclude to m4_include so that autogen
  will properly fail if an .m4 file isn't included properly

This commit was SVN r6648.
2005-07-28 15:48:46 +00:00
Jeff Squyres
dc0a64901d Fix typo
This commit was SVN r6638.
2005-07-28 00:41:54 +00:00
George Bosilca
6ee8c81819 Remove typo.
This commit was SVN r6632.
2005-07-27 23:36:31 +00:00
George Bosilca
2880925037 Check for MX library and output the corect error message. This function is now shared between
the MX BTL and MX PTL, so I decide to have short common options on the "configure --help".
--with-mx = for the base MX directory and
--with-mx-libdir = for the library path.

This commit was SVN r6631.
2005-07-27 23:25:21 +00:00
Brian Barrett
6aa464b67e More changes from Red Storm port
- only call sched_yield if it exists
  - don't fail out if modex doens't work in ob1
  - bunch of fixes for Portals BTL
  - add cnos rml component
  - add NULL gpr component (should only be used if replica AND proxy
    fail to load)  

This commit was SVN r6629.
2005-07-27 23:07:14 +00:00
George Bosilca
7d267e63a3 Add a OMPI_CHECK_MX M4 macro.
This commit was SVN r6627.
2005-07-27 22:34:01 +00:00
George Bosilca
cd306d9ba7 type.
This commit was SVN r6626.
2005-07-27 22:32:27 +00:00
Galen Shipman
f3843bee55 Updated openib btl and mpool to use configure.m4
removed ompi_ignore files from openib btl and mpool. 

This commit was SVN r6612.
2005-07-27 03:38:25 +00:00
Brian Barrett
c95bb59651 * fix dumb missing variable assignment bug
This commit was SVN r6610.
2005-07-26 22:19:12 +00:00
Brian Barrett
9a83910165 * Change Myrinet/gm btl and mpool to use configure.m4 instead of
configure.stub

This commit was SVN r6608.
2005-07-26 21:56:36 +00:00
Craig E Rasmussen
58d3c06310 Initial version.
This commit was SVN r6605.
2005-07-26 17:21:31 +00:00
Tim Prins
dcc81eb598 - fix a bug which made compiles fail when '--with-bproc' is passed
- various bugfixes for bproc components

This commit was SVN r6603.
2005-07-25 22:21:40 +00:00
Tim Prins
70587299f3 - respect configure options --without-bproc and --with-bproc=no
- check for a recent version of LANL bproc by looking for sys/bproc_common.h

This commit was SVN r6596.
2005-07-22 22:41:35 +00:00
Brian Barrett
14b89e0e50 Bunch more updates from operation Red Storm:
* Add ability to completely disable libltdl (the dlopen code to load
  dynamic shared objects) to configure: --disable-dlopen
* Added MCA param (component_disable_dlopen) to disable DSO loading
  at runtime
* Made the event library behave in some not-completely-erroneous way
  on platforms where it has absolutely no eventops support (ie, no
  select, poll, or epoll)
* Disabled orte_wait, opal_few, and opal_daemon_init code on
  platforms without fork, waitpid support.  All non-init functions
  will return OPMI_ERR_NOT_SUPPORTED
* Disable orteprobe tool when fork or pipe aren't supported

This commit was SVN r6490.
2005-07-14 18:05:30 +00:00
Galen Shipman
5ebfad2f7d Corrected with-btl-mvapi issue.. To build use --with-btl-mvapi=BLORG
This commit was SVN r6485.
2005-07-14 14:32:19 +00:00
Brian Barrett
68b91e85ed * add checks for the hton and ntoh functions, since they don't exist on
Red Storm.  Add stub functions to ompi_config_bottom.h when they are
  around
* Add protection for a bunch of #include <netinet/in.h>s
* Fix up the Portals BTL so that it compiles on Red Storm and has the
  right mojo for initialization on Red Storm
* Add some important comments to ompi_check_package and mvapi configures
* Add support for platforms without getpwuid() (aka, Red Storm). 

This commit was SVN r6478.
2005-07-14 04:11:59 +00:00
Galen Shipman
c54bddde5f change with-mvapi to with-btl-mvapi
This commit was SVN r6468.
2005-07-13 21:34:11 +00:00
Brian Barrett
4d580fa706 * disable TCP ptl and oob components if there is no TCP support (look at
sockaddr_in - seems to be a good indicator)
* disable util/if code if no inet devices (again, no sockaddr_in)
* add enable/disable flag to disable stacktrace pretty-print code
  (defaults to enabled).  Seems there's something funky going on with
  the preprocessor on Red Storm that was causing problems - this was
  the easiest fix
* clean up a bunch of the configure.m4 files to remove bogus comments,
   properly comment them, fix the dumb logic for happy/unhappy
* Create a macro for testing both header and library for a package, 
  since we seem to do this kind of test quite often.  Handles the
  -I and -L search paths properly (including stripping out /usr and
  /usr/local if not needed)
* Converted mvapi components to configure.m4, using the nice new
  ompi_check_package macro (above)

This commit was SVN r6454.
2005-07-13 04:16:03 +00:00
Brian Barrett
586918853c * Turn thread support on by default, but disable both mpi and progress
threads (basically, same as before, but we now link the right thread
  libraries). 
* Add disable-io-romio flag to disable compiling ROMIO
* Migrathe mvapi btl from configure.stub to configure.m4

This commit was SVN r6453.
2005-07-13 01:07:31 +00:00
Brian Barrett
e2fb3c4054 * fix mishandling of --with-bproc=yes and the like. Make sure to add -lbproc
to LIBS even if --with-bproc isn't given

This commit was SVN r6424.
2005-07-11 22:50:28 +00:00
Brian Barrett
6e4f33e48c * after careful consideration, there's really no reason to force config.m4
components to succeed with --enable-dist.  Instead, just add them to
  all_components and make dist will still work - we're going to stamp out
  the Makefiles no matter what
* Add missing header to ob1 pml for make dist
* Clean up the Portals BTL configure code

This commit was SVN r6413.
2005-07-10 01:09:31 +00:00
Brian Barrett
a991d883c1 * Rewrite ompi_mca.m4 to use m4_defined lists of projects (ompi, orte, etc.),
frameworks, and components without configure scripts instead of
  hard-coded shell variables (for projects and frameworks) and 
  shell variable building (for components).
* Add 3rd category of component configuration (in addition to configure
  scripts and no-configured components): configure.m4 components.  These
  components can only be built as part of OMPI (like no-configure), but
  can provide an m4 file that is run as part of the main configure
  script.  These macros can set whether the component should be built, 
  along with just about any other configuration wanted.  More care must
  be taken compared to configure components, as doing things like setting
  variables or calling AC_MSG_ERROR now affects the top-level configure
  script (so calling AC_MSG_ERROR if your component can't configure
  probably isn't what you want)
* Added support to autogen.sh for the configure.m4-style components,
  as well as building up the m4_define lists ompi_mca.m4 now expects
* Updated a number of macros to be more config.cache friendly (both
  so that config.cache can be used and so the test can be quickly
  run multiple times in the same configrue script):
    - ompi_config_asm
    - c_weak_symbols
    - c_get_alignment
* Added new macros to be shared when configuring components:
    - ompi_objc.m4 (this actually provides AC_PROG_OBJC - don't ask...)
    - ompi_check_xgrid
    - ompi_check_tm
    - ompi_check_bproc
* Updated a number of components to use configure.m4 instead of
  configure.stub
    - btl portals
    - io romio
    - tm ras and pls
    - bjs, lsf_bproc ras and bproc_seed pls
    - xgrid ras and pls
    - null iof (used by tm) 

This commit was SVN r6412.
2005-07-09 18:52:53 +00:00
Brian Barrett
79a1093fcc * add builddir/include to the list of -Is so that ompi_config.h can be
found when VPATH building.  Thanks to George for catching this

This commit was SVN r6402.
2005-07-08 21:05:18 +00:00
Brian Barrett
48cbb249ab * Fix error with the use of expr. On George's suggestion, don't use expr for
the comparison  -- instead, use test -lt

This commit was SVN r6356.
2005-07-06 13:18:44 +00:00
Jeff Squyres
ba99409628 Major simplifications to component versioning:
- After long discussions and ruminations on how we run components in
  LAM/MPI, made the decision that, by default, all components included
  in Open MPI will use the version number of their parent project
  (i.e., OMPI or ORTE).  They are certaint free to use a different
  number, but this simplification makes the common cases easy:
  - components are only released when the parent project is released
  - it is easy (trivial?) to distinguish which version component goes
    with with version of the parent project
- removed all autogen/configure code for templating the version .h
  file in components
- made all ORTE components use ORTE_*_VERSION for version numbers
- made all OMPI components use OMPI_*_VERSION for version numbers
- removed all VERSION files from components
- configure now displays OPAL, ORTE, and OMPI version numbers
- ditto for ompi_info
- right now, faking it -- OPAL and ORTE and OMPI will always have the
  same version number (i.e., they all come from the same top-level
  VERSION file).  But this paves the way for the Great Configure
  Reorganization, where, among other things, each project will have
  its own version number.

So all in all, we went from a boatload of version numbers to
[effectively] three.  That's pretty good.  :-)

This commit was SVN r6344.
2005-07-04 20:12:36 +00:00
Brian Barrett
b1f8e229f5 * enable f77_get_fortran_handle_max to be cross compiled
This commit was SVN r6343.
2005-07-04 20:00:54 +00:00
Brian Barrett
f654a65612 * patch to the C alignment check to allow it to cross compile
This commit was SVN r6341.
2005-07-04 17:34:24 +00:00
Brian Barrett
057919616e * fix problem were frameworks wouldn't be found if doing a VPATH build
This commit was SVN r6339.
2005-07-04 16:41:45 +00:00
Brian Barrett
bdd129b911 * want top_ompi_*, not top_*
This commit was SVN r6313.
2005-07-03 03:42:30 +00:00
Brian Barrett
8077da277b * move ompi_rb_tree from opal to ompi since it's only used in ompi, and should
have the ompi_free_list instead of the opal_free_list
* Change orte to use opal_free_list instead of ompi_free_list

This commit was SVN r6307.
2005-07-02 16:46:27 +00:00
Brian Barrett
a4468e60c2 * change src/ to opal/ in asm paths
This commit was SVN r6285.
2005-07-02 14:57:46 +00:00
Brian Barrett
0c16b5419e * first cut at autogen.sh / configure for new directory structure
* fix some broken makefile.ams

This commit was SVN r6277.
2005-07-02 14:29:45 +00:00
Galen Shipman
2e9bbda826 Intial checkin of bmi to btl renaming. This breaks the build but is necessary
so that I can next rename all the files under mca/btl using "svn mv" which is
not possible until after the initial "svn mv bmi btl" is checked in. 

This commit was SVN r6220.
2005-06-30 02:02:57 +00:00
Brian Barrett
7067f4753f A bunch of fixes from trying to get running on Solaris and Linux PPC64
* If we are on solaris, don't use the system qsort(), as it appears to be 
  broken in 64 bit mode on Solaris 8 (there are bugs about this in 
  SunSolve).  Instead, use ompi_qsort(), which is taken from FreeBSD.
  A #define in ompi_config_bottom.h makes this invisible to most of the
  OMPI source tree.
* Fix memory badness in ompi_progress_register where we were reallocing the 
  array to be number of elements long instead of number of elements * 
  sizeof(element).  Found while using bcheck to track down our problems in
  64 bit on big endian machines.
* The debugging output code in session_dir.c could pass NULL as a value for a %s,
  which will turn into "(null)" automagically on glibc, but causes segfaults for
  older libcs (like those on Solaris).  Check for this case in session_dir.c and
  don't pass NULL as a %s value into ompi_output().
* Fix missing header file in convertor.c

This commit was SVN r6186.
2005-06-26 23:11:37 +00:00
Brian Barrett
35375f0653 * Fix bug in symbol generation code for default.conf where we weren't prefixing
function names with the GSYM (like we should be)
* Add support for PPC64/Linux in atomics

This should go to the beta branch.

This commit was SVN r6163.
2005-06-24 16:16:17 +00:00
Jeff Squyres
fdef4765cf Brought over from the beta branch -- improvements to the dist system
to get the right version number.

This commit was SVN r6131.
2005-06-21 21:48:50 +00:00
Jeff Squyres
c6f812ec7f Changes from Craig Rasmussen:
I'm contributing patches for configure.ac and f90_check_type.m4.
The problem was that f90_check_type returned an exit code
and not all compilers actually do this.  The fix tries to compile the
type and fails if it can't.  The problem is that some compilers will
happily return a default kind if the particular kind is not supported.
So the real test is whether the size of the datatype is as expected.

This commit was SVN r6101.
2005-06-20 18:19:23 +00:00
Jeff Squyres
d78ecb98d8 - Make ompi_info show reasonable help messages
- Take Ben Allan's suggestion to have ompi_info show the absolute path
  name of the compilers that were used to compile OMPI

This commit was SVN r6075.
2005-06-17 01:06:36 +00:00
Jeff Squyres
19b4479a0a Patch for systems with broken Fortran compilers (e.g., OS X Tiger
[10.4] with gfortran 4.0) who need to be able to add flags to compile
simple Fortran executables that use libc routines.

Notably, for Tiger with gfortran 4.0 installed, you'll need to:

    ./configure F77=gfortran FC=gfortran LIBS=-lSystemStubs

This commit was SVN r5909.
2005-06-01 10:53:44 +00:00
Tim Woodall
37b43eaccf small checkin :-)
- remove any ptl dependancy from mpi/pml interface
- beginings of a new pml
- new Bit Mover Interface (BMI) framework

This commit was SVN r5834.
2005-05-23 22:06:50 +00:00
Jeff Squyres
131d49152f Need to prefix the svn version with "r" so that dist tarballs are made
correctly

This commit was SVN r5813.
2005-05-23 12:36:09 +00:00
Jeff Squyres
f28095e632 Bunches of fixes for Fortran support:
- Fully support REAL*N, INTEGER*N, and COMPLEX*N in the MPI_Op
  reduction operations.
- Update ddt to fully support these types as well, to include using
  the results of sizes and alignments determined by configure
- Discover the goodness of m4 and consolidate a LOT of configure code
  (i.e., remove a lot of essentially duplicated code and
  m4-subroutine-ize it).  The big kicker was figuring out how to
  parameterize AC_DEFINE_UNQUOTED, which you can do if you use m4
  properly.
- If we don't support a given INTEGER*N, REAL*N, or COMPLEX*N, don't
  error.  Just set the right flags so that we don't support them in
  the MPI layer.

This commit was SVN r5788.
2005-05-19 23:56:02 +00:00
Jeff Squyres
08082be721 Silly mistake (how on earth did it live this long?): adding -DNDEBUG
to CXXFLAGS should use $CXXFLAGS, not $CFLAGS.

This commit was SVN r5787.
2005-05-19 23:52:13 +00:00
Jeff Squyres
3bd7e72608 Fix some minor typos
This commit was SVN r5692.
2005-05-12 02:22:03 +00:00
Jeff Squyres
2dbcf1a1e5 Fix issue raised by Rainer: if we don't find a corresponding C type
for an optional fortran type, it's not an error.  Instead, just
disable support for that fortran optional type.

This commit was SVN r5680.
2005-05-10 23:57:37 +00:00
Rainer Keller
e06f0723a8 configure.ac:
- Check for icc-8.1 segfaulting with varargs.
  - Add check for size of REAL*4,8,16 types and purge,
    if smaller
  - Fix configure-output with regard to checking for c-types 
    for the REAL*-types.

This commit was SVN r5661.
2005-05-10 09:09:04 +00:00
Jeff Squyres
ac60eac8f3 Temporary information at ftp.gnu.org advises getting config.* scripts
directly from Savannah.

This commit was SVN r5654.
2005-05-09 18:29:03 +00:00
Brian Barrett
fc16d60236 * Don't use poll() on OS X. It's implemented on top of select in 10.3 (no
biggie), so we gain nothing there.  On 10.4, it's implemented directly,
  but doesn't support devices (which messes up pty support and IO
  forwarding).

This commit was SVN r5621.
2005-05-06 15:10:35 +00:00
Rainer Keller
164e8caa5e If the F77 datatype (like INTEGER*1) is supposed to be available, check
for the size. If it does not fit, purge from the list, i.e. reset all
values to zero.

Fixes pgf90 problem, which silently accepts INTEGER*16, but internally
using INTEGER...

This commit was SVN r5594.
2005-05-04 18:37:32 +00:00
Jeff Squyres
bcd4797389 Commit 4 of 4 for bringing the changes over from the hetero branch.
Merged in from:

svn merge -r5506:5553 https://svn.open-mpi.org/svn/ompi/tmp/hetero .

This commit was SVN r5552.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r5506
  r5553
2005-05-01 00:58:06 +00:00
Jeff Squyres
aa70022dc2 Commit 2 of 4 for bringing the changes over from the hetero branch.
Merged in from:

svn merge -r5448:5496 https://svn.open-mpi.org/svn/ompi/tmp/hetero .

This commit was SVN r5550.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r5448
  r5496
2005-05-01 00:53:00 +00:00
Jeff Squyres
462adee81a Commit 1 of 4 to bring in the hetero branch to the trunk. Merged in
from:

svn merge -r5440:5448 https://svn.open-mpi.org/svn/ompi/tmp/hetero .

This commit was SVN r5549.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r5440
  r5448
2005-05-01 00:47:35 +00:00
Jeff Squyres
fe2522f315 A bunch of changes to support MPI_INTEGER*x, MPI_REAL*x,
MPI_COMPLEX*x, and some optional C datatypes in MPI reduction
operations.  These types are not technically supported by the letter
of the MPI standard, but are implied by the spirit of it (and there
are definitely users that use them in real applications)

- Add checks in configure for back-end C types for MPI_INTEGER*x and
  MPI_REAL*x
- Create C data structs for MPI_COMPLEX*x
- Fixed typo for MPI_INTEGER8 in mpi.h
- Updated configure macros to create MPI_FORTRAN_INTEGER* defines, as
  opposed to MPI_FORTRAN_INT, which was causing [me] lots of confusion
  (between C "*_INT" names and Fortran "*_INT" names).  This caused
  some trivial updates in ddt, ompi_info, and the MPI layer to match.
- Update ompi_info to show whether we have each MPI_INTEGER*x,
  MPI_REAL*x, and MPI_COMPLEX*x
- Extended reduction operations for optional datatypes:
  - "C integer" now includes long long int, long long, and unsigned
    long long
  - "Fortran integer" now includes MPI_INTEGER*x
  - "Floating point" now includes MPI_REAL*x
  - "Complex" now includes MPI_COMPLEX*x

This commit was SVN r5511.
2005-04-27 10:23:06 +00:00
Jeff Squyres
6e7e0c03ea Don't use non-portable "-n" option to test
This commit was SVN r5510.
2005-04-27 10:14:45 +00:00
Brian Barrett
0964152893 clean up the OMPI_BUILDING #define. Rather than being defined to 1 if
we are part of the source tree and not defined otherwise, we are going
with an always defined if ompi_config.h is included policy.  If
ompi_config.h is included before mpi.h or before OMPI_BUILDING is set,
it will set OMPI_BUILDING to 1 and enable all the internal code that
is in ompi_config_bottom.h.  Otherwise, it will only include the
system configuration data (enough for defining the C and C++ interfaces
to MPI, but not perturbing the user environment).

This should fix the problems with bool and the like that the Eclipse
folks were seeing.  It also cleans up some build system hacks that
we had along the way.

Also, don't use int64_t as the default size of MPI_Offset, because it
requires us including stdint.h in mpi.h, which is something we really
shouldn't be doing.

And finally, fix a ROMIO Makefile that didn't set -DOMPI_BUILDING=1,
as ROMIO includes mpi.h, but not ompi_config.h

This commit was SVN r5430.
2005-04-19 03:51:20 +00:00
Prabhanjan Kambadur
ddead64bcf 1. Moving WRAPPER_*_FLAGS initialization to configure.ac instead of
having it in config/ompi_setup_cxx.m4
2. Adding --enable-coverage option. This will add teh flags -ftest-coverage
   and -fprofile-arcs to the flags. Also, one needs to compile with 
   debug and static only to enable code coverage
3. Adding the coverage flag options to WRAPPER_*_FLAGS so that mpicc and co.,
   will add these to teh executables when they are compiled

This commit was SVN r5416.
2005-04-18 16:38:27 +00:00
Brian Barrett
d474b2c3fc AIX sed passes unmatched lines through unchanged, so first find the
lines we want

This commit was SVN r5411.
2005-04-17 22:14:13 +00:00
Jeff Squyres
ab16fadb0f Be specific in error messages about f90 setup
This commit was SVN r5407.
2005-04-16 00:53:22 +00:00
Brian Barrett
e3587652b7 * Add support for using ptys for stdout when doing I/O forwarding. This is
enough to make use applications be line buffered instead of block buffered,
  which makes output come much faster :)

This commit was SVN r5400.
2005-04-15 21:18:20 +00:00
Jeff Squyres
87fce5c2a6 Bunches of things with respect to F90, mainly resulting from work on
Monday with Craig:
- split two f90 modules into two separate .f90 files so that
  dependencies can be satisfied properly in parallel builds (i.e.,
  mpi_kinds.f90 can be compiled and its f90 module can be generated
  before any others are compiled, because it is needed by all of the
  other f90 source files).
- rename mpi.i.h* to be mpi-f90-interfaces.h, just to be a little more
  clear and less name-confusing with mpi.h and mpif.h
- update the build process in src/mpi/f90, including printing out a
  warning that compiling mpi.f90 may take quite a while :-\
- update the wrapper compilers to add in the Right Things for
  compiling F90 MPI applications
- add a check in configure to find what flag the F90 compiler uses to
  identify where f90 module files live

This commit was SVN r5297.
2005-04-13 11:54:36 +00:00
Brian Barrett
309ff000a6 * add --enable-mca-static to specify components that should be statically
linked into libmpi
* add --enable-mca-direct to specify components that should be directly
  called (instead of going through component structs and the like).  The
  components and component frameworks must explicitly support this.
  Currently, only the TEG PML does so.
* Updated all the calls to the PML to use a macro so that they can either
  be direct called or called through function pointer interfaces (aka
  the component infrastructure)

This commit was SVN r5291.
2005-04-13 03:19:48 +00:00
Jeff Squyres
6f15d1071c Add --with-f90-max-array-dim configure option to specify how many
dimensions the f90 MPI bindings should support (they are strongly
typed, and the number of dimensions of choice arguments must be
specified -- it cannot be arbitrary).   The default is four.

Note that even though increasing this value has essentially a linear
effect on the code, the multiplier constant is fairly large (only a
small number of functions have 2 choice buffers, so the exponential
factor is relatively small).  Increasing this value increases the
amount of time f90 compilers will spend compiling src/mpi/f90/mpi.f90
(some compilers will crash if it is too big).

This commit was SVN r5268.
2005-04-12 10:17:52 +00:00
Brian Barrett
5b9dc9d302 * get the svn r number when vpath building
* look in the srcdir for the dist-related scripts

This commit was SVN r5218.
2005-04-07 21:39:03 +00:00
Jeff Squyres
398857aba0 Add missing file to make "make dist" work in tarballs
This commit was SVN r5200.
2005-04-07 03:28:46 +00:00
Brian Barrett
d737000a5e * fix to make platform detection work on Linux Sparc
This commit was SVN r5134.
2005-04-01 15:49:27 +00:00
Jeff Squyres
4e198561f6 Fix INCFLAGS for VPATH builds.
This commit was SVN r5083.
2005-03-29 02:50:18 +00:00
Jeff Squyres
b3a75f27f6 Fix some typos in processing configure options
This commit was SVN r5081.
2005-03-29 02:47:43 +00:00
Jeff Squyres
79f631b88a Fix a call to AC_REPLACE_FUNC that we previously missed
This commit was SVN r5071.
2005-03-28 20:51:42 +00:00
Brian Barrett
ff0941763c * make sure THREADS_HAVE_DIFFERENT_PIDS is always defined to something
This commit was SVN r5057.
2005-03-27 17:13:00 +00:00
Jeff Squyres
192367c92a Oops -- fix the m4 file as well. And other minor touch-ups.
This commit was SVN r5044.
2005-03-27 11:24:27 +00:00
Jeff Squyres
78d8a80bc9 - Some shells require the egrep clause to be in ''
- Fix missing "test"

This commit was SVN r5043.
2005-03-27 11:23:08 +00:00
Brian Barrett
a5ae33acea * disable threads by default (temporarily)
* fix dumb commit issue in gm

This commit was SVN r5042.
2005-03-26 20:27:17 +00:00
Brian Barrett
ed7f80dddf * fix dumb typo
This commit was SVN r5041.
2005-03-26 20:07:31 +00:00
Jeff Squyres
b8f88e8c1c Fix some bugs in the version number scheme, and make the proces a bit
more obvious (and documented)
- VERSION now has lots of comments in it
- separate out whether we want the SVN r number in the version and
  what the SVN r number is
- clearly describe the process for building the full version number
  string 
- make ompi info have a separate line item specifically for the SVN r
  number, regardless of what the version number is
- update "make dist" process to substitute in the SVN r version

This commit was SVN r5022.
2005-03-25 03:19:46 +00:00
Jeff Squyres
3f5541349a Add UC copyright
This commit was SVN r5009.
2005-03-24 12:43:37 +00:00
Brian Barrett
6822a519bb * results from initial merge of the tim branch into the trunk. Compiles and
ompi_info works, but that's all that has been tested.

This commit was SVN r4827.
2005-03-14 20:57:21 +00:00
Brian Barrett
b3ed4aca32 * yet another fix for my stupidity in shell scripting
This commit was SVN r4625.
2005-03-01 23:49:00 +00:00
Brian Barrett
545a91729a * Fix dumb test condition that was causing George pain
This commit was SVN r4624.
2005-03-01 23:31:00 +00:00
Brian Barrett
60a1ca77e9 * Updates to make MIPS actually work. Could clean up the assembly a bit :)
This commit was SVN r4469.
2005-02-18 23:16:04 +00:00
Brian Barrett
dc3165f1ea * fix dumb warning printing mistake
This commit was SVN r4466.
2005-02-18 20:26:46 +00:00
Brian Barrett
927c5be6c8 NOTE: You need to re-autogen after this commit. Sorry :(
* SPARC Assembly fixes:
  - Use SPARC assembly type only when not able to use the SPARC v9
    instruction set (instead of previous whenever sizeof(void*) == 4
  - Use SPARCV9_32 (aka sparc v8plus) and SPARCV9_64 (aka sparc v9) when
    possible.  Already were doing so for the 64bit, but on 32bit we
    were falling back to SPARC.
  - Implemented SPARCV9_32 atomic operations
  - Emit warning if user is going to get SPARC atomic, as that probably
    isn't what the user wants for best performance.
* Started shell of MIPS assembly.  Does not work, but wanted something
  so that everyone would only have to re-autogen once today....

This commit was SVN r4465.
2005-02-18 20:10:29 +00:00
Craig E Rasmussen
74af2a5fe4 Set default f90 MPI bindings to disabled.
This commit was SVN r4460.
2005-02-17 21:29:50 +00:00
Brian Barrett
0d82642b40 * Split thread support build conditionals into MPI threads and progress
threads (defaults to use MPI threads, disable progress threads).  This
  allows us to have MPI threaded support, but without progress threads
  and all that fun stuff.

This commit was SVN r4443.
2005-02-16 17:42:07 +00:00
Brian Barrett
a2caf839c0 * Initial try at making OMPI atomic operations work properly on Solaris
- SPARC32 has spinlocks and "pseudo atomic" math
  - SPARC64 has spinlocks, compare & set, atomic math (still in s/w)

This commit was SVN r4433.
2005-02-14 22:07:08 +00:00
Brian Barrett
7a7c598391 * properly quote error message
This commit was SVN r4432.
2005-02-14 22:04:18 +00:00
Brian Barrett
76054e0b31 * add a label to the assembly being tested for GCC inline assembly so that
the test barfs on AIX, since it has some strange non-mangling of the
  labels in the inline assembly that all the other platforms seem to be
  ok making right.  *sigh*

This commit was SVN r4365.
2005-02-10 00:38:44 +00:00
Jeff Squyres
e5ff6d7146 This patch looks for LIBMPI_* kinds of flags in the post_configure.sh
script in components and distributes them as appropriate throughout
the tree (previously, we only did WRAPPERS_* flags).  These flags are
*only* used when libmpi is being build statically (--disable-shared
--enable-static).

I also added another classification of flags -- LIBMPI_ALWAYS_* and
WRAPPERS_ALWAYS_* for flags that should always be added to the libmpi
/ wrapper linker lines, not just when compiling libmpi statically.

This commit was SVN r4322.
2005-02-08 05:06:15 +00:00
Rainer Keller
5e2f3b4af0 When configuring with CFLAGS="-Wall -Werror", the
test for the pthread-library fails, due to pthread_t th
not being initialized.
 
Fix remaining warnings (hopefully correctly casted).
 
Spelling buglet in help-output for mpirun

This commit was SVN r4272.
2005-02-02 18:28:17 +00:00
Craig E Rasmussen
dc78892061 Added initial versions of f90_get_precision.m4 and f90_get_range.m4
This commit was SVN r4260.
2005-02-02 00:33:24 +00:00
Brian Barrett
cd985bba51 * Fix some issues when there was a space in the asm format string
* Extend the generate-asm.pl script to allow for the AIX global
  function format

This commit was SVN r4256.
2005-01-31 04:16:54 +00:00
Brian Barrett
0931b33123 * fix typo that was confusing sh when gcc-like compilers were not used
This commit was SVN r4255.
2005-01-30 23:09:44 +00:00
Brian Barrett
5a9718e582 * fix for bug 1116. Some versions of the test program really don't like
== as the test condition, greatly prefering = instead.

This commit was SVN r4254.
2005-01-30 19:35:02 +00:00
Brian Barrett
0c48499661 * change OMPI_POWERPC_SUPPORT_64BIT to OMPI_ASM_SUPPORT_64BIT, since it
looks like we need to do the same thing for UltaSparc / MIPS machines
* The atomic_cmpset_64 bit code made some assumptions about calling
  convention that wouldn't be true if the function was inlined.  Fix
  those assumptions, so we should work fine whether GCC inlines
  the function or not.

This commit was SVN r4249.
2005-01-30 04:56:38 +00:00
Rainer Keller
5c5cd76df3 Perl tries to create the generated assembler-ouput
in directory src/asm/generated/, which for VPATH-builds
is at configure-time not yet created.
mkdir -p it...

This commit was SVN r4197.
2005-01-28 00:43:49 +00:00
Brian Barrett
9c1a277804 * Update build system to support non-GCC inline assembly, including detection
of assembler format
* Fix minor bugs in AMD64, PPC, and IA32 assembly for atomic operations
* Clean up the #defines to look for when examining level of atomic operation
  support

This commit was SVN r4183.
2005-01-27 01:39:55 +00:00
Jeff Squyres
9efcdd6149 Try harder not to find an F77 compiler in the F90 section.
This commit was SVN r4156.
2005-01-26 07:41:06 +00:00
Jeff Squyres
859c3566b1 Remove useless header file ompi.h (it was syntactic sugar for
including a few other OMPI header files, most of which usually weren't
needed). 

This commit was SVN r4149.
2005-01-26 05:07:18 +00:00
Jeff Squyres
7d9458b88c Remove an old test that looks like it was designed to protect the user
from themselves -- but doesn't look valid.  For example, it's legal to
have $FC and $F77 to both be ifort (intel fortran compiler).

This commit was SVN r4148.
2005-01-26 01:59:42 +00:00
Ralph Castain
cd00fed56b Bring the error manager over to the main branch so people can start to use it in their code. Please see mca/errmgr/errmgr.h for the documentation on this function - very little implemented at the moment. Only function so far is to output the error message, file, and line via the ompi_output function.
Note: in bringing this across, I have obeyed the mca-prefix-rule in defining functions and variables. However, I left the name of the component call as "orte_errmgr.xxx" so that any use of the code will directly "merge" with the new RTE branch without changes.

This commit was SVN r4099.
2005-01-21 17:49:14 +00:00
Jeff Squyres
46d7f9a7ed Ensure that compilers that pretend to be gcc don't actually get the
gcc-specific compiler flags (because they don't work -- @#$%@#$%!!!)

This commit was SVN r4092.
2005-01-21 13:53:48 +00:00
Brian Barrett
1fb96505a4 * There are a couple of platforms that do dead code elimination on linking,
which was resulting in the pthreads functions never getting linked in.
  Which would cause false positives on the threading tests.  Make sure
  that there is a call chain from main() -> pthread_create(), which should
  be enough to make the test happy.

This commit was SVN r3998.
2005-01-14 16:08:30 +00:00
Craig E Rasmussen
8f19c4af03 Removed placement of TestAlign type from module.
This commit was SVN r3971.
2005-01-12 20:20:36 +00:00
Craig E Rasmussen
45c3fcd508 Added F90 alignment tests (f90_get_alignment)
This commit was SVN r3967.
2005-01-12 18:27:24 +00:00
Craig E Rasmussen
74b4028b47 Initial version.
This commit was SVN r3965.
2005-01-12 18:22:22 +00:00
Craig E Rasmussen
019b769568 1. Added tests for Fortran 90 types and sizes.
2. Added creation of src/mpi/f90/fortran_sizes.h.

This commit was SVN r3925.
2005-01-07 21:21:46 +00:00
Craig E Rasmussen
a1bb424e92 Initial version.
This commit was SVN r3923.
2005-01-07 21:17:48 +00:00
Tim Woodall
fb203852d3 I/O forwarding framework
This commit was SVN r3865.
2004-12-21 22:16:09 +00:00
Jeff Squyres
32d85dd7eb Properly add the soh framework in all the places it needs to be. Left
the src/mca/soh/base/*.c files out of the default build because
they're uncompilable right now -- don't want to step on any of Ralph's
local changes.

This commit was SVN r3837.
2004-12-16 18:52:33 +00:00
Brian Barrett
6d969db21b * Code for bug 1036 - add special CFLAGS to enable the restrict keyword
for compilers that don't support it out of the box but can with
  the right flag

This commit was SVN r3834.
2004-12-16 16:34:16 +00:00
Brian Barrett
be7d989b0e * remove the code to disable the event signal handling code, since we really
need it for anything in the startup code to work

This commit was SVN r3803.
2004-12-14 03:10:48 +00:00
Jeff Squyres
3966e30902 Remove every part of MPI-2 one-sided functionality from the tree with
#if OMPI_WANT_MPI2_ONE_SIDED and some automake conditionals.  Also had
to add some AC_SUBSTs to eliminate part of mpif.h (otherwise the
"external" statements would have made undefined symbols).

All the MPI-2 one-sided functionality (including the skeleton
top-level MPI API functions that only invoke an MPI exception) can be
re-enabled with --enable-mpi2-one-sided.

This commit was SVN r3802.
2004-12-14 02:35:03 +00:00
Jeff Squyres
ce3d8f3812 Part 2 of the .ompi_unignore patch
This commit was SVN r3760.
2004-12-09 12:49:54 +00:00
Jeff Squyres
1adf5cb3a0 Remove type punning warnings; tell gcc that it cannot assume that
strict anti-aliasing can occur

This commit was SVN r3702.
2004-12-05 21:33:46 +00:00
Jeff Squyres
616269a9be Add HLRS copyright
This commit was SVN r3665.
2004-11-28 20:09:25 +00:00
Jeff Squyres
e9ed717748 First cut at copyrights: IU, UTK, and some OSU. LANL and HLRS still
pending.

This commit was SVN r3655.
2004-11-22 01:38:40 +00:00
Jeff Squyres
aa11f9be06 - Fix broken $HEADER$ lines
- Add $HEADER$ lines to files that didn't have them
- Add placeholder LICENSE file

This commit was SVN r3654.
2004-11-22 00:37:56 +00:00
Jeff Squyres
8fe05f223e Remove redundant warnings from C++ compiler flags (C++ already
requires these things)

This commit was SVN r3426.
2004-10-29 02:50:07 +00:00
Jeff Squyres
1c4aafba31 Replace hard-coded OMPI_FORTRAN_HANDLE_MAX with a real configure test
to determine min(INT_MAX, max fortran INTEGER value)

This commit was SVN r3305.
2004-10-23 21:08:12 +00:00
Jeff Squyres
721fda8ecb Changes to finally make it possible to develop components outside of
the Open MPI tree.  This fixes bug 1015.
- Eliminate some confusion/inconsistencies through the tree; we only
  use MCA_<type>_<name>_VERSION now, not ..._FULL_VERSION
- coll demo component is ready
- ROMIO io component had a VERSION file but wasn't using it, so now
  it's using it properly
- Updated autogen.sh and mca_make_configure.pl to generate version
  header templates upon demand

This commit was SVN r3267.
2004-10-21 16:27:17 +00:00
Jeff Squyres
5b83ad2a9a Fix typo
This commit was SVN r3264.
2004-10-21 13:59:12 +00:00
Jeff Squyres
e3fd257698 Add new paramter for configure.params: PARAM_WANT_COMPILE_EXTERNAL.
If set to 1, the relevant .m4 files will be copied to the component
directory, allowing "make dist" to fully bundle up everything needed
to build the component (thereby allowing the distribution tarball to
be built outside the Open MPI tree).

This commit was SVN r3258.
2004-10-21 01:47:18 +00:00
Jeff Squyres
d600401f77 Add -Wsign-compare in C -- the Windows CL compiler caught a whole
bunch of these.  GCC can, too, but doesn't by default in C (even with
-Wall).

This commit was SVN r3190.
2004-10-16 19:51:04 +00:00
Jeff Squyres
7a2bc8ec4f A few fixes to the templated configure script for components
This commit was SVN r3063.
2004-10-12 14:21:35 +00:00
Jeff Squyres
0021b2e7ce Fix typos in the default help message.
No need to re-run autogen.sh -- this will be picked up the next time
you naturally run autogen.sh.

This commit was SVN r3020.
2004-10-09 23:29:11 +00:00
Jeff Squyres
95e5fa016d Oops -- typo in Makefile.am.
This commit was SVN r2945.
2004-10-06 03:48:06 +00:00
Jeff Squyres
1a076a5a17 Oops -- remove debugging output. #$%@#$%
This commit was SVN r2935.
2004-10-05 19:34:34 +00:00
Jeff Squyres
df98ca0010 Add some checks for optional fortran datatypes, required by the ddt
engine

This commit was SVN r2934.
2004-10-05 19:31:18 +00:00
Brian Barrett
2660d42f90 * fix typo that broke things in the no signals in the event library case.
This commit was SVN r2749.
2004-09-17 17:27:08 +00:00
Brian Barrett
857fd5740f * Test enabling signal handling in the event library. Because this might
have some nasty side effect we don't know about, make it a configure
  option for now.  Also add a harmless signal handler to the pcm open
  (since pcm_open will have a signal handler eventually for SIGCHLD, I
  think).  Use --enable-event-signals / --disable-event-signals to 
  control behavior.

This commit was SVN r2748.
2004-09-17 17:04:05 +00:00
Jeff Squyres
31bacaee5a Fix a minor problem with one of the configure command line options,
and add more description to its help message

This commit was SVN r2728.
2004-09-16 19:42:52 +00:00
Brian Barrett
0716403174 * make sure to strip off quotes from the lines in post_configure.sh so that
they don't cause escaping issues when executing the last eval.

This commit was SVN r2716.
2004-09-16 13:45:40 +00:00
Jeff Squyres
bd32b4ef4d Oops! Had redirections listed backwards, which made some error
messages appear on stdout

This commit was SVN r2652.
2004-09-14 10:44:40 +00:00
Jeff Squyres
388ac0dd4e Since everyone has to recompile almost everything because of changes
to the docs in src/utl/output.h from the last commit, might as well do
this one.  No real rush to update to this, but you'll need to
re-autogen.sh, etc.

Fixes an old, small bug that caused the static-components.h files to
always be regenerated, even if they didn't change.  This caused
several files to be unnecessarily recompiled if you ran the following:

./configure
make
./configure
make

Granted, this is a small error, but a) we have it Right in other
places, b) AC does the Right things for AC_CONFIG_HEADER, so we should
do the Right things too.

This commit was SVN r2638.
2004-09-13 20:29:21 +00:00
Jeff Squyres
0ed4c8f663 A break from writing: fix the bug that Brian hacked around for me.
Ensure that OMPI_F77_* are always defined, even if a) a f77 compiler
is not found, or b) the user disables the f77 MPI bindings.

This commit was SVN r2618.
2004-09-11 19:13:43 +00:00
Jeff Squyres
161bab95f0 Simplify / clarify some of the logic for configure options; make
--enable-picky *not* be the default for users

This commit was SVN r2356.
2004-08-28 10:38:40 +00:00
Tim Woodall
38ad4dcf1f added svc directory
This commit was SVN r2343.
2004-08-28 00:09:14 +00:00
Jeff Squyres
0e12409387 Oops -- this really was not necessary!
This commit was SVN r2324.
2004-08-27 15:00:20 +00:00
Jeff Squyres
15bb4154e7 Fix static compiles for "common" libraries -- requires a little extra
mojo in common/*/Makefile.am files.  Also don't traverse into
src/mca/common and don't snarf the common convenience library if we're
not building staticly (remember: there is no "base" in common).

This commit was SVN r2323.
2004-08-27 14:55:41 +00:00
Jeff Squyres
7d2626698f Make sub-configure scripts parallel to the top-level configure script:
call AC_GNU_SOURCE for the reasons cited in the comment.

This commit was SVN r2256.
2004-08-23 06:45:48 +00:00
Brian Barrett
7f3f72f1c7 * split the PCM into pcm and pcmclient to better match to the multi-pcm case
* add env pcmclient, which builds client data out of environment variables
* improved rsh infrastructure a little bit - almost able to get to calling
  fork()
* Removed instance information for llm - it should be burried in the pcm,
  not exposed


*** YOU MUST RUN AUTOGEN / CONFIGURE / etc AFTER UPDATING ***

This commit was SVN r2191.
2004-08-17 22:24:17 +00:00
Jeff Squyres
2271910f22 ":" was a poor choice for a field delimeter for the version number
because "svnversion" may emit a version number with ":" in it (duh!).
This fixes the problem where, depending on the status of your svn
checkout, you could get a string in a MAJOR version number instead of
an integer (i.e., "1234M" instead of "10").  This was caused by
extraneous ":" in the output, causing autogen.sh to grab the wrong
field.

This commit was SVN r1991.
2004-08-09 22:37:17 +00:00
Jeff Squyres
f870500088 Speed up the build process by removing some redundant convenience
libraries

This commit was SVN r1949.
2004-08-07 04:20:28 +00:00
Jeff Squyres
2060091238 - Creation of the common code repository for cross-component /
horizontal integration
- Move the mpool_sm_mmap.[ch] files to a new sm common code area, and
  rename to common_sm_mmap.[ch]
- update sm ptl and mpool to refer to the sm common code area for the
  mmap code

This commit was SVN r1930.
2004-08-06 19:35:57 +00:00
Jeff Squyres
a721849e84 While waiting for a lengthy compile, I noticed a bunch of old remnants
from the "LAM/MPI" -> "Open MPI" name change that didn't convert
properly.  So this commit fixes all instances of "OMPI/MPI" to "Open
MPI".

This commit was SVN r1924.
2004-08-06 14:30:18 +00:00
Brian Barrett
dadb047103 * Add LLM (the rte resource allocator) framework
* Add hostfile component for the LLM (reads hostfiles, returns array of
  node identifiers

NOTES: 
  - This will require the full autogen / configure / make.
  - You now need flex to build Open MPI from Subversion.  The versions
    available on most Linux boxen and OS X is more than new enough.  You
    do *not* need flex to build from a nightly or release tarball.

This commit was SVN r1890.
2004-08-05 14:01:45 +00:00
Jeff Squyres
e21450c133 Add in some missing files.
This commit was SVN r1864.
2004-08-04 11:20:12 +00:00
Jeff Squyres
c6cd297755 Oops -- grab the newly-renamed *components* listing file, not the old
*modules* listing file.

This commit was SVN r1835.
2004-08-02 11:04:12 +00:00
Jeff Squyres
eb8cba98af - massive change for module<-->component name fixes throughout the
code base.
  - many (most) mca type names have "component" or "module" in them,
    as relevant, just to further distinguish the difference between
    component data/actions and module data/actions.  All developers
    are encouraged to perpetuate this convention when you create
    types that are specific to a framework, component, or module
  - did very little to entire framework (just the basics to make it
    compile) because it's just about to be almost entirely replaced
  - ditto for io / romio
  - did not work on elan or ib components; have to commit and then
    convert those on a different machine with the right libraries and
    headers
- renamed a bunch of *_module.c files to *_component.c and *module*c
  to *component*c (a few still remain, e.g., ptl/ib, ptl/elan, etc.)
- modified autogen/configure/build process to match new filenames
  (e.g., output static-components.h instead of static-modules.h)
- removed DOS-style cr/lf stuff in ns/ns.h
- added newline to end of file src/util/numtostr.h
- removed some redundant error checking in the top-level topo
  functions
- added a few {} here and there where people "forgot" to put them in
  for 1 line blocks ;-)
- removed a bunch of MPI_* types from mca header files (replaced with
  corresponding ompi_* types)
- all the ptl components had version numbers in their structs; removed
- converted a few more elements in the MCA base to use the OBJ
  interface -- removed some old manual reference counting kruft

This commit was SVN r1830.
2004-08-02 00:24:22 +00:00
Brian Barrett
000644007f * C++ MPI bindings. MPI:: only
This commit was SVN r1712.
2004-07-14 14:11:03 +00:00
Jeff Squyres
3cf2933c14 Fix for some stupid Linux distros (e.g., RH9) that pretend to have
epoll_ctl, but really don't (and incorrectly don't advertise that they
only stub out epoll_ctl [and friends]).

This commit was SVN r1709.
2004-07-14 12:16:54 +00:00
Jeff Squyres
da19f74e72 Also ignore -R
This commit was SVN r1608.
2004-07-09 02:44:27 +00:00
Jeff Squyres
5803b79dcd Properly propagate extra wrapper/libmpi flags up from component
configure scripts.  Only propagate wrapper flags when compiling the
component statically in libmpi.

This commit was SVN r1591.
2004-07-08 13:08:44 +00:00
Jeff Squyres
85985d221b Minor buglets that cause older versions of AM to barf
This commit was SVN r1579.
2004-07-07 21:35:26 +00:00
Jeff Squyres
cb175dd7ff Remove extra debugging output
This commit was SVN r1574.
2004-07-07 18:34:19 +00:00
Jeff Squyres
bb343044d1 - Ensure to do the version number consistently
- Fix the stuff to substitute new config.guess / config.sub around the
  distribution tree

This commit was SVN r1570.
2004-07-07 14:24:57 +00:00
Jeff Squyres
8149265189 - Updated versioning system; "svn" number is now a string (vs. an int)
- Updated autogen.sh and friends to be more flexible and allow
  components to be configured and built outside of the Open MPI tree
- Removed $(LIBOMPI_LA) from all component Makefile.am's -- it's
  unnecessary 

This commit was SVN r1566.
2004-07-07 12:45:36 +00:00
Jeff Squyres
f59a3e91d5 Correct a filename in a comment.
This commit was SVN r1564.
2004-07-07 12:42:23 +00:00
Denis Dimick
d499c81d27 svn=2 will now place the svn version number in the tarball
-This line, and those below, will be ignored--

M    config/ompi_get_version.sh
M    VERSION

This commit was SVN r1550.
2004-07-06 23:03:33 +00:00
Tim Woodall
8cfc45bbee restored Jeffs changes
This commit was SVN r1529.
2004-07-01 16:25:44 +00:00
Tim Woodall
165d4f8841 merge of oob/rte changes from rte branch
This commit was SVN r1527.
2004-07-01 14:49:54 +00:00
Jeff Squyres
5175280beb - Somehow had the default for static libraries; doh!
- fixed case to ensure that --disable-shared also automatically
  disables building DSO components

This commit was SVN r1524.
2004-06-30 22:45:33 +00:00
Jeff Squyres
97bed7c0d4 Building MCA components as DSOs is now the default. Use
--disable-mca-dso to build MCA components statically as part of
libmpi, or --enable-mca-dso=LIST to only build some components as DSOs
(see ./configure --help for more details).

This commit was SVN r1521.
2004-06-30 22:11:32 +00:00
Jeff Squyres
11da941d0c No longer necessary to check for so many different variants
This commit was SVN r1508.
2004-06-29 21:35:46 +00:00
Jeff Squyres
a5a712b31f Lots of changes in this commit, mostly having to do with the first
real commit of the collectives.  MPI_SCAN and MPI_EXSCAN are still not
implemented, but lots of other things are in the critical path and
holding up other people, so it's ok to commit without them:

- better checks for sizes in configure, and add defaults for fortran
  sizes if we don't have a fortran compiler
- fix some logic that was accidentally broken for size checks for the
  file type offset_t
- add some C equivalent types for fortran's complex and double complex
  (for use in internal reduction/op functions)
- additionals and slight reorganization of ompi_mpi_init()
  ompi_mpi_finalize()
- fully implement all top-level MPI collective calls, including all
  param checking for both intra- and inter-communicators (woof)
- change the communicator_t type for stuff that we need in coll, and
  update all references throughout the code base to match
- all kinds of updates to the coll framework base
- next cut of the basic coll module -- has all intracommunicator
  collectives implemented except scan and exscan (see note above).
  All intercommunicator functions return ERR_NOT_IMPLEMENTED.
- MPI_Op is a fixed implementation -- not component-ized yet.  So
  there are generic C loops for all implementations.

This commit was SVN r1491.
2004-06-29 00:02:25 +00:00
Jeff Squyres
0bfe5bcb07 Had the order of two arguments switched, which dramatically changed
the expected outcome.  :-)

This commit was SVN r1473.
2004-06-25 13:17:19 +00:00
Tim Woodall
84dd3084b0 backed out changed to OMPI_THREAD_LOCK
This commit was SVN r1469.
2004-06-24 21:09:55 +00:00
Tim Woodall
9b830472fd changed THREAD_LOCK/THREAD_UNLOCK to OMPI_THREAD_LOCK/OMPI_THREAD_UNLOCK
to prevent conflicts w/ external libraries/headers

This commit was SVN r1467.
2004-06-24 20:51:46 +00:00
Jeff Squyres
1b542d409b Remove all remnants of the component framework "registry".
Registry is dead; long live gpr!

This commit was SVN r1359.
2004-06-17 13:53:10 +00:00
Jeff Squyres
2a4c1215c0 Ensure to remove the sym link before making it
This commit was SVN r1349.
2004-06-17 02:34:26 +00:00
Jeff Squyres
42eb0963ce Make both "./ompi_get_version.sh ..." and "./ompi_get_version.sh
... -svn" return the same subversion revision number, regardless of
the situation.

This commit was SVN r1346.
2004-06-17 00:43:54 +00:00
Jeff Squyres
43daabc851 Ensure we all common and gpr component frameworks
This commit was SVN r1321.
2004-06-16 17:07:09 +00:00
Jeff Squyres
59befefa30 Enable compiling MCA components as dynamic modules
This commit was SVN r1292.
2004-06-15 23:56:18 +00:00
Jeff Squyres
3fc37a863e Change default for users to not have developer-picky compiler options.
This commit was SVN r1276.
2004-06-15 19:36:36 +00:00
Tim Woodall
abba2b038c - removed src/mem directory
- moved mem/free_list.h to class/ompi_free_list.h
- moved mem/malloc.h to util/malloc.h
- added src/mca/mpool component type

This commit was SVN r1274.
2004-06-15 19:07:45 +00:00
Tim Woodall
e17da43528 added allocator mca component type
This commit was SVN r1264.
2004-06-15 16:57:18 +00:00
Jeff Squyres
27874ad53b Fix up some more directory flags from results of other directory
re-organizations, and add CXXCPPFLAGS (pretty much equivalent to
CPPFLAGS).

This commit was SVN r1260.
2004-06-15 01:23:05 +00:00
Jeff Squyres
42419f9a7c Fixes left over from one of the previous great directory
re-organizations.  :-)

This commit was SVN r1254.
2004-06-14 23:19:02 +00:00
Tim Prins
8f7b128941 first checkin of the memory allocation framework. It should work fine
except the align and realloc functions are not yet allocated.

This commit was SVN r1251.
2004-06-14 21:05:53 +00:00
David Daniel
1b04577727 renaming directories
This commit was SVN r1193.
2004-06-07 15:45:09 +00:00
David Daniel
2f96ba71fe renaming files
This commit was SVN r1192.
2004-06-07 15:40:19 +00:00
David Daniel
563ac2a338 First pass of lam -> ompi conversion
This commit was SVN r1191.
2004-06-07 15:33:53 +00:00
Jeff Squyres
c39ba9ea6e Add -finline-functions if we're gcc and it works
This commit was SVN r1135.
2004-05-18 14:14:12 +00:00
Jeff Squyres
c951247181 Fix a few typos
This commit was SVN r1133.
2004-05-17 17:56:21 +00:00
Jeff Squyres
fc6b964284 -Werror-implicit-function-delcaration isn't necessary for C++.
This commit was SVN r1080.
2004-04-22 16:50:24 +00:00
Brian Barrett
1e051564fc * Made f90 module building default again
* clean up the output for --enable-debug and --enable-picky (for C++)

This commit was SVN r1004.
2004-03-28 20:39:15 +00:00
Brian Barrett
6282f1a8e6 switch from F77/FC to LAM_F77/LAM_F90 so that we don't have to assign "none"
into either F77 or F90, which caused badness in the libtool test world.

This commit was SVN r999.
2004-03-28 10:52:58 +00:00
Brian Barrett
39264b4856 clean up some fortran output
This commit was SVN r998.
2004-03-28 10:30:36 +00:00
Brian Barrett
61557f0156 Fix some of the Fortran issues by unifying all the various on/off
flags to LAM_WANT_F77_BINDINGS and LAM_WANT_F90_BINDINGS.  Also
changed the compiler flag for the Fortran 90/95/whatever compiler to
FCFLAGS to match what AC was already doing.

This commit was SVN r996.
2004-03-28 10:02:38 +00:00
Jeff Squyres
ebb13bc42f Arrgh! I *swear* it worked before I committed -- really!
(fix silly typo)

This commit was SVN r994.
2004-03-27 16:14:12 +00:00
Jeff Squyres
af828278b4 Nah; it's a better idea to leave developer builds marked as
"{version}svn" instead of assigning a potentially meaningless SVN r
number (because the developer's copy may not be entirely consistent
with that r number)

This commit was SVN r993.
2004-03-27 16:11:23 +00:00
Jeff Squyres
6ad01adbb9 Add more to the "make dist" process. ftp.gnu.org still does not have
new config.guess/config.sub files (!), but a) the code is smart enough
to know this, and b) when they become available again, the Right
Things will happen.

Also, I left the example code in there how to add man pages to the
relevant Makefile's on the thought that we'll need it when we
eventually get around to making man pages (assumedly through
doxygen).

This commit was SVN r985.
2004-03-26 21:34:01 +00:00