2004-01-07 22:33:37 +03:00
|
|
|
/*
|
2004-11-22 04:38:40 +03:00
|
|
|
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
|
|
* All rights reserved.
|
|
|
|
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
|
|
* All rights reserved.
|
2004-11-28 23:09:25 +03:00
|
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
* University of Stuttgart. All rights reserved.
|
2005-03-24 15:43:37 +03:00
|
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
* All rights reserved.
|
2004-11-22 04:38:40 +03:00
|
|
|
* $COPYRIGHT$
|
|
|
|
*
|
|
|
|
* Additional copyrights may follow
|
|
|
|
*
|
2004-01-07 22:33:37 +03:00
|
|
|
* $HEADER$
|
|
|
|
*
|
2004-06-07 19:33:53 +04:00
|
|
|
* This file is included at the bottom of ompi_config.h, and is
|
2004-01-07 22:33:37 +03:00
|
|
|
* therefore a) after all the #define's that were output from
|
2004-08-06 18:30:18 +04:00
|
|
|
* configure, and b) included in most/all files in Open MPI.
|
2004-01-07 22:33:37 +03:00
|
|
|
*
|
2004-06-07 19:33:53 +04:00
|
|
|
* Since this file is *only* ever included by ompi_config.h, and
|
|
|
|
* ompi_config.h already has #ifndef/#endif protection, there is no
|
2004-01-07 22:33:37 +03:00
|
|
|
* need to #ifndef/#endif protection here.
|
|
|
|
*/
|
|
|
|
|
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 07:51:20 +04:00
|
|
|
#ifndef OMPI_CONFIG_H
|
|
|
|
#error "ompi_config_bottom.h should only be included from ompi_config.h"
|
2004-11-02 16:22:08 +03:00
|
|
|
#endif
|
|
|
|
|
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 07:51:20 +04:00
|
|
|
/*
|
2005-04-20 05:30:06 +04:00
|
|
|
* OMPI_BUILDING and OMPI_BUILDING_WIN_DSO define how ompi_config.h
|
|
|
|
* handles configuring all of Open MPI's "compatibility" code. Both
|
|
|
|
* constants will always be defined by the end of ompi_config.h.
|
|
|
|
*
|
|
|
|
* OMPI_BUILDING affects how much compatibility code is included by
|
|
|
|
* ompi_config.h. It will always be 1 or 0. The user can set the
|
|
|
|
* value before including either mpi.h or ompi_config.h and it will be
|
|
|
|
* respected. If ompi_config.h is included before mpi.h, it will
|
|
|
|
* default to 1. If mpi.h is included before ompi_config.h, it will
|
|
|
|
* default to 0.
|
|
|
|
*
|
|
|
|
* If OMPI_BUILDING is 1, ompi_config.h will:
|
|
|
|
* - everything that happens with OMPI_BUILDING set to 0
|
|
|
|
* - include a bunch of header files (stdint.h, stdtypes.h, etc.)
|
|
|
|
* - potentially override malloc, free, etc. for memory debugging
|
|
|
|
* - provide C bool type
|
|
|
|
* - set ompi_building code to import all OMPI interfaces (windows)
|
|
|
|
*
|
|
|
|
* If OMPI_BUILDING is 0, ompi_config.h will:
|
|
|
|
* - set configuration #defines
|
|
|
|
* - define the fortran complex types
|
|
|
|
* - set the ompi_building code to export all the interfaces
|
|
|
|
* (unless OMPI_BUILDING_WIN_DSO is set to 1) (windows)
|
|
|
|
*
|
|
|
|
* If OMPI_BUILDING_WIN_DSO is 1, ompi_config.h will:
|
|
|
|
* - configure the OMPI_DECLSPEC defines to assume we are building a
|
|
|
|
* dynamic shared object for a component on Windows. This will set
|
|
|
|
* all the import/export flags appropriately.
|
|
|
|
*
|
|
|
|
* If OMPI_BUILDING_WIN_DSO is 0 (or unset), ompi_config.h will:
|
|
|
|
* - configure the OMPI_DECLSPEC defines to assume we are not building
|
|
|
|
* a DSO component for Windows .
|
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 07:51:20 +04:00
|
|
|
*/
|
|
|
|
#ifndef OMPI_BUILDING
|
|
|
|
#define OMPI_BUILDING 1
|
2004-11-02 18:14:04 +03:00
|
|
|
#endif
|
2004-10-22 20:06:05 +04:00
|
|
|
|
2005-04-20 05:30:06 +04:00
|
|
|
#ifndef OMPI_BUILDING_WIN_DSO
|
|
|
|
#define OMPI_BUILDING_WIN_DSO 0
|
|
|
|
#endif
|
|
|
|
|
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 07:51:20 +04:00
|
|
|
/***********************************************************************
|
|
|
|
*
|
|
|
|
* code that should be in ompi_config_bottom.h regardless of build
|
|
|
|
* status
|
|
|
|
*
|
|
|
|
**********************************************************************/
|
2004-10-22 20:06:05 +04:00
|
|
|
|
2005-05-20 03:56:02 +04:00
|
|
|
/* MPI_Fint is the same as ompi_fortran_INTEGER_t */
|
|
|
|
#define MPI_Fint ompi_fortran_integer_t
|
|
|
|
|
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 07:51:20 +04:00
|
|
|
/* Do we have thread support? */
|
|
|
|
#define OMPI_HAVE_THREAD_SUPPORT (OMPI_ENABLE_MPI_THREADS || OMPI_ENABLE_PROGRESS_THREADS)
|
|
|
|
|
2005-05-20 03:56:02 +04:00
|
|
|
#if OMPI_HAVE_FORTRAN_REAL && OMPI_HAVE_FORTRAN_COMPLEX
|
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 07:51:20 +04:00
|
|
|
/* * C type for Fortran COMPLEX */
|
|
|
|
typedef struct {
|
|
|
|
ompi_fortran_real_t real;
|
|
|
|
ompi_fortran_real_t imag;
|
|
|
|
} ompi_fortran_complex_t;
|
2005-05-20 03:56:02 +04:00
|
|
|
#endif
|
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 07:51:20 +04:00
|
|
|
|
2005-05-20 03:56:02 +04:00
|
|
|
#if OMPI_HAVE_FORTRAN_REAL4 && OMPI_HAVE_FORTRAN_COMPLEX8
|
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 14:23:06 +04:00
|
|
|
/* * C type for Fortran COMPLEX*8 */
|
|
|
|
typedef struct {
|
|
|
|
ompi_fortran_real4_t real;
|
|
|
|
ompi_fortran_real4_t imag;
|
|
|
|
} ompi_fortran_complex8_t;
|
|
|
|
#endif
|
|
|
|
|
2005-05-20 03:56:02 +04:00
|
|
|
#if OMPI_HAVE_FORTRAN_REAL8 && OMPI_HAVE_FORTRAN_COMPLEX16
|
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 14:23:06 +04:00
|
|
|
/* * C type for Fortran COMPLEX*16 */
|
|
|
|
typedef struct {
|
|
|
|
ompi_fortran_real8_t real;
|
|
|
|
ompi_fortran_real8_t imag;
|
|
|
|
} ompi_fortran_complex16_t;
|
|
|
|
#endif
|
|
|
|
|
2005-05-20 03:56:02 +04:00
|
|
|
#if OMPI_HAVE_FORTRAN_REAL16 && OMPI_HAVE_FORTRAN_COMPLEX32
|
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 14:23:06 +04:00
|
|
|
/* * C type for Fortran COMPLEX*32 */
|
|
|
|
typedef struct {
|
|
|
|
ompi_fortran_real16_t real;
|
|
|
|
ompi_fortran_real16_t imag;
|
|
|
|
} ompi_fortran_complex32_t;
|
|
|
|
#endif
|
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 07:51:20 +04:00
|
|
|
|
2005-05-20 03:56:02 +04:00
|
|
|
#if OMPI_HAVE_FORTRAN_DOUBLE_PRECISION
|
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 07:51:20 +04:00
|
|
|
/* * C type for Fortran DOUBLE COMPLEX */
|
|
|
|
typedef struct {
|
2005-05-20 03:56:02 +04:00
|
|
|
ompi_fortran_double_precision_t real;
|
|
|
|
ompi_fortran_double_precision_t imag;
|
|
|
|
} ompi_fortran_double_complex_t;
|
|
|
|
#endif
|
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 07:51:20 +04:00
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
*
|
|
|
|
* Windows library interface declaration code
|
|
|
|
*
|
|
|
|
**********************************************************************/
|
|
|
|
|
|
|
|
#if defined(WIN32)
|
2005-04-19 20:01:42 +04:00
|
|
|
# if OMPI_BUILDING
|
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 07:51:20 +04:00
|
|
|
# include "win32/win_compat.h"
|
2005-04-20 05:30:06 +04:00
|
|
|
# endif
|
|
|
|
# if OMPI_BUILDING_WIN_DSO
|
|
|
|
/* building a component - need to import libmpi and export our
|
|
|
|
struct */
|
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 07:51:20 +04:00
|
|
|
# define OMPI_COMP_EXPORT __declspec(dllexport)
|
2005-04-20 05:30:06 +04:00
|
|
|
# define OMPI_DECLSPEC __declspec(dllimport)
|
|
|
|
# elif OMPI_BUILDING
|
|
|
|
/* building libmpi (or something in libmpi) - need to export libmpi
|
|
|
|
interface */
|
|
|
|
# define OMPI_COMP_EXPORT
|
2005-04-19 20:01:42 +04:00
|
|
|
# define OMPI_DECLSPEC __declspec(dllexport)
|
|
|
|
# else
|
2005-04-20 05:30:06 +04:00
|
|
|
/* building something using libmpi - export the libmpi interface */
|
2005-04-19 20:01:42 +04:00
|
|
|
# define OMPI_COMP_EXPORT
|
|
|
|
# define OMPI_DECLSPEC __declspec(dllimport)
|
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 07:51:20 +04:00
|
|
|
# endif
|
|
|
|
#else
|
2005-04-20 05:30:06 +04:00
|
|
|
/* On Unix - get rid of the defines */
|
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 07:51:20 +04:00
|
|
|
# define OMPI_COMP_EXPORT
|
|
|
|
# define OMPI_DECLSPEC
|
2004-10-22 20:06:05 +04:00
|
|
|
#endif
|
|
|
|
|
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 07:51:20 +04:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
*
|
|
|
|
* Code that is only for when building Open MPI or utilities that are
|
|
|
|
* using the internals of Open MPI. It should not be included when
|
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-05 00:12:36 +04:00
|
|
|
* building MPI applications
|
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 07:51:20 +04:00
|
|
|
*
|
|
|
|
**********************************************************************/
|
2005-04-19 20:01:42 +04:00
|
|
|
#if OMPI_BUILDING
|
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 07:51:20 +04:00
|
|
|
|
2004-10-22 20:06:05 +04:00
|
|
|
/*
|
2004-10-23 00:30:59 +04:00
|
|
|
* If we're in C, we may need to bring in the bool type and true/false
|
|
|
|
* constants. OMPI_NEED_C_BOOL will be true if the compiler either
|
|
|
|
* needs <stdbool.h> or doesn't define the bool type at all.
|
2004-01-14 10:06:57 +03:00
|
|
|
*/
|
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 07:51:20 +04:00
|
|
|
#if !defined(__cplusplus)
|
2004-10-23 00:30:59 +04:00
|
|
|
# if OMPI_NEED_C_BOOL
|
|
|
|
# if OMPI_USE_STDBOOL_H
|
|
|
|
/* If we're using <stdbool.h>, there is an implicit
|
|
|
|
assumption that the C++ bool is the same size and has
|
|
|
|
the same alignment. */
|
|
|
|
# include <stdbool.h>
|
|
|
|
# elif defined(WIN32)
|
|
|
|
# define bool BOOL
|
|
|
|
# define false FALSE
|
|
|
|
# define true TRUE
|
|
|
|
# else
|
|
|
|
/* We need to create a bool type and ensure that it's the
|
|
|
|
same size / alignment as the C++ bool size /
|
|
|
|
alignment */
|
|
|
|
# define false 0
|
|
|
|
# define true 1
|
|
|
|
# if SIZEOF_BOOL == SIZEOF_CHAR && OMPI_ALIGNMENT_CXX_BOOL == OMPI_ALIGNMENT_CHAR
|
2004-11-24 13:48:31 +03:00
|
|
|
typedef char bool;
|
2004-10-23 00:30:59 +04:00
|
|
|
# elif SIZEOF_BOOL == SIZEOF_SHORT && OMPI_ALIGNMENT_CXX_BOOL == OMPI_ALIGNMENT_SHORT
|
2004-11-24 13:48:31 +03:00
|
|
|
typedef short bool;
|
2004-10-23 00:30:59 +04:00
|
|
|
# elif SIZEOF_BOOL == SIZEOF_INT && OMPI_ALIGNMENT_CXX_BOOL == OMPI_ALIGNMENT_INT
|
2004-11-24 13:48:31 +03:00
|
|
|
typedef int bool;
|
2004-10-23 00:30:59 +04:00
|
|
|
# elif SIZEOF_BOOL == SIZEOF_LONG && OMPI_ALIGNMENT_CXX_BOOL == OMPI_ALIGNMENT_LONG
|
2004-11-24 13:48:31 +03:00
|
|
|
typedef long bool;
|
2004-10-23 00:30:59 +04:00
|
|
|
# elif defined(SIZEOF_LONG_LONG) && defined(OMPI_ALIGNMENT_LONG) && SIZEOF_BOOL == SIZEOF_LONG && OMPI_ALIGNMENT_CXX_BOOL == OMPI_ALIGNMENT_LONG
|
2004-11-24 13:48:31 +03:00
|
|
|
typedef long long bool;
|
2004-10-23 00:30:59 +04:00
|
|
|
# else
|
|
|
|
# error Cannot find a C type that corresponds to the size and alignment of C++ bool!
|
|
|
|
# endif
|
|
|
|
# endif
|
|
|
|
# endif
|
2004-01-07 22:33:37 +03:00
|
|
|
#endif
|
2004-01-09 21:40:26 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Maximum size of a filename path.
|
|
|
|
*/
|
2004-01-14 10:06:57 +03:00
|
|
|
#include <limits.h>
|
2004-01-09 21:40:26 +03:00
|
|
|
#if defined(PATH_MAX)
|
2004-06-07 19:33:53 +04:00
|
|
|
#define OMPI_PATH_MAX (PATH_MAX + 1)
|
2004-01-09 21:40:26 +03:00
|
|
|
#elif defined(_POSIX_PATH_MAX)
|
2004-06-07 19:33:53 +04:00
|
|
|
#define OMPI_PATH_MAX (_POSIX_PATH_MAX + 1)
|
2004-01-09 21:40:26 +03:00
|
|
|
#else
|
2004-06-07 19:33:53 +04:00
|
|
|
#define OMPI_PATH_MAX 256
|
2004-01-09 21:40:26 +03:00
|
|
|
#endif
|
2004-01-14 10:06:57 +03:00
|
|
|
|
2005-09-06 20:10:05 +04:00
|
|
|
/*
|
|
|
|
* Set the compile-time path-separator on this system
|
|
|
|
*/
|
|
|
|
#ifdef WIN32
|
|
|
|
#define OMPI_PATH_SEP "\\"
|
|
|
|
#else
|
|
|
|
#define OMPI_PATH_SEP "/"
|
|
|
|
#endif
|
|
|
|
|
2004-01-17 07:10:01 +03:00
|
|
|
/*
|
|
|
|
* Do we have <stdint.h>?
|
|
|
|
*/
|
2004-08-16 03:54:30 +04:00
|
|
|
#ifdef HAVE_STDINT_H
|
2004-10-18 20:08:35 +04:00
|
|
|
#if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS)
|
|
|
|
/* When using a C++ compiler, the max / min value #defines for std
|
|
|
|
types are only included if __STDC_LIMIT_MACROS is set before
|
|
|
|
including stdint.h */
|
|
|
|
#define __STDC_LIMIT_MACROS
|
|
|
|
#endif
|
2004-01-17 07:10:01 +03:00
|
|
|
#include <stdint.h>
|
2004-03-17 22:21:56 +03:00
|
|
|
#else
|
2004-06-07 19:33:53 +04:00
|
|
|
#include "ompi_stdint.h"
|
2004-01-17 07:10:01 +03:00
|
|
|
#endif
|
2004-02-10 03:07:09 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Do we want memory debugging?
|
2004-07-14 19:13:32 +04:00
|
|
|
*
|
|
|
|
* A few scenarios:
|
|
|
|
*
|
|
|
|
* 1. In the OMPI C library: we want these defines in all cases
|
|
|
|
* 2. In the OMPI C++ bindings: we do not want them
|
|
|
|
* 3. In the OMPI C++ executables: we do want them
|
|
|
|
*
|
|
|
|
* So for 1, everyone must include <ompi_config.h> first. For 2, the
|
|
|
|
* C++ bindings will never include <ompi_config.h> -- they will only
|
|
|
|
* include <mpi.h>, which includes <ompi_config.h>, but after
|
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 07:51:20 +04:00
|
|
|
* setting OMPI_BUILDING to 0 For 3, it's the same as 1 -- just include
|
2004-07-14 19:13:32 +04:00
|
|
|
* <ompi_config.h> first.
|
2005-08-10 02:40:42 +04:00
|
|
|
*
|
|
|
|
* Give code that needs to include ompi_config.h but really can't have
|
|
|
|
* this stuff enabled (like the memory manager code) a way to turn us
|
|
|
|
* off
|
2004-02-10 03:07:09 +03:00
|
|
|
*/
|
2005-08-10 02:40:42 +04:00
|
|
|
#if OMPI_ENABLE_MEM_DEBUG && !defined(OMPI_DISABLE_ENABLE_MEM_DEBUG)
|
2004-02-10 03:07:09 +03:00
|
|
|
|
2005-07-04 05:36:20 +04:00
|
|
|
/* It is safe to include opal/util/malloc.h here because a) it will only
|
2004-06-07 19:33:53 +04:00
|
|
|
happen when we are building OMPI and therefore have a full OMPI
|
2004-02-10 03:07:09 +03:00
|
|
|
source tree [including headers] available, and b) we guaranteed to
|
2005-07-04 05:36:20 +04:00
|
|
|
*not* to include anything else via opal/util/malloc.h, so we won't
|
2004-02-10 03:07:09 +03:00
|
|
|
have Cascading Includes Of Death. */
|
2005-07-04 05:36:20 +04:00
|
|
|
# include "opal/util/malloc.h"
|
2004-11-27 15:43:19 +03:00
|
|
|
# if defined(malloc)
|
|
|
|
# undef malloc
|
|
|
|
# endif
|
2005-07-04 05:36:20 +04:00
|
|
|
# define malloc(size) opal_malloc((size), __FILE__, __LINE__)
|
2004-11-27 15:43:19 +03:00
|
|
|
# if defined(calloc)
|
|
|
|
# undef calloc
|
|
|
|
# endif
|
2005-07-04 05:36:20 +04:00
|
|
|
# define calloc(nmembers, size) opal_calloc((nmembers), (size), __FILE__, __LINE__)
|
2004-11-27 15:43:19 +03:00
|
|
|
# if defined(realloc)
|
|
|
|
# undef realloc
|
|
|
|
# endif
|
2005-07-04 05:36:20 +04:00
|
|
|
# define realloc(ptr, size) opal_realloc((ptr), (size), __FILE__, __LINE__)
|
2004-11-27 15:43:19 +03:00
|
|
|
# if defined(free)
|
|
|
|
# undef free
|
|
|
|
# endif
|
2005-07-04 05:36:20 +04:00
|
|
|
# define free(ptr) opal_free((ptr), __FILE__, __LINE__)
|
2004-11-27 15:43:19 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
* If we're mem debugging, make the OMPI_DEBUG_ZERO resolve to memset
|
|
|
|
*/
|
|
|
|
# include <string.h>
|
2005-03-22 03:31:17 +03:00
|
|
|
# define OMPI_DEBUG_ZERO(obj) memset(&(obj), 0, sizeof(obj))
|
2004-11-27 15:43:19 +03:00
|
|
|
#else
|
|
|
|
# define OMPI_DEBUG_ZERO(obj)
|
2004-02-10 03:07:09 +03:00
|
|
|
#endif
|
2004-02-13 08:39:46 +03:00
|
|
|
|
|
|
|
|
2005-03-29 06:48:50 +04:00
|
|
|
|
2004-08-11 02:41:17 +04:00
|
|
|
/*
|
2005-03-29 06:48:50 +04:00
|
|
|
* printf functions for portability (only when building Open MPI)
|
2004-08-11 02:41:17 +04:00
|
|
|
*/
|
2004-08-19 23:27:15 +04:00
|
|
|
#if !defined(HAVE_VASPRINTF) || !defined(HAVE_VSNPRINTF)
|
|
|
|
#include <stdarg.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#endif
|
|
|
|
|
2005-02-16 18:38:37 +03:00
|
|
|
#if !defined(HAVE_ASPRINTF) || !defined(HAVE_SNPRINTF) || !defined(HAVE_VASPRINTF) || !defined(HAVE_VSNPRINTF)
|
2005-07-04 06:16:57 +04:00
|
|
|
#include "opal/util/printf.h"
|
2005-02-16 18:38:37 +03:00
|
|
|
#endif
|
|
|
|
|
2004-08-11 02:41:17 +04:00
|
|
|
#ifndef HAVE_ASPRINTF
|
2005-07-04 06:16:57 +04:00
|
|
|
# define asprintf opal_asprintf
|
2004-08-11 02:41:17 +04:00
|
|
|
#endif
|
2004-08-19 23:27:15 +04:00
|
|
|
|
2004-08-11 02:41:17 +04:00
|
|
|
#ifndef HAVE_SNPRINTF
|
2005-07-04 06:16:57 +04:00
|
|
|
# define snprintf opal_snprintf
|
2004-08-11 02:41:17 +04:00
|
|
|
#endif
|
2004-08-19 23:27:15 +04:00
|
|
|
|
2004-08-11 02:41:17 +04:00
|
|
|
#ifndef HAVE_VASPRINTF
|
2005-07-04 06:16:57 +04:00
|
|
|
# define vasprintf opal_vasprintf
|
2004-08-11 02:41:17 +04:00
|
|
|
#endif
|
2004-08-19 23:27:15 +04:00
|
|
|
|
2004-08-11 02:41:17 +04:00
|
|
|
#ifndef HAVE_VSNPRINTF
|
2005-07-04 06:16:57 +04:00
|
|
|
# define vsnprintf opal_vsnprintf
|
2004-08-11 02:41:17 +04:00
|
|
|
#endif
|
2005-03-29 06:48:50 +04:00
|
|
|
|
2005-07-14 08:11:59 +04:00
|
|
|
/*
|
|
|
|
* Some platforms (Solaris) have a broken qsort implementation. Work
|
|
|
|
* around by using our own.
|
|
|
|
*/
|
2005-06-27 03:11:37 +04:00
|
|
|
#if OMPI_HAVE_BROKEN_QSORT
|
2005-07-04 06:16:57 +04:00
|
|
|
#ifdef qsort
|
|
|
|
#undef qsort
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "opal/util/qsort.h"
|
|
|
|
#define qsort opal_qsort
|
2005-06-27 03:11:37 +04:00
|
|
|
#endif
|
|
|
|
|
2005-07-14 08:11:59 +04:00
|
|
|
/*
|
|
|
|
* On some homogenous big-iron machines (Sandia's Red Storm), there
|
|
|
|
* are no htonl and friends. If that's the case, provide stubs. I
|
|
|
|
* would hope we never find a platform that doesn't have these macros
|
|
|
|
* and would want to talk to the outside world...
|
|
|
|
*/
|
|
|
|
#ifndef HAVE_HTONL
|
|
|
|
static inline uint32_t htonl(uint32_t hostvar) { return hostvar; }
|
|
|
|
#endif
|
|
|
|
#ifndef HAVE_NTOHL
|
|
|
|
static inline uint32_t ntohl(uint32_t netvar) { return netvar; }
|
|
|
|
#endif
|
|
|
|
#ifndef HAVE_HTONS
|
|
|
|
static inline uint16_t htons(uint16_t hostvar) { return hostvar; }
|
|
|
|
#endif
|
|
|
|
#ifndef HAVE_NTOHS
|
|
|
|
static inline uint16_t ntohs(uint16_t netvar) { return netvar; }
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2005-03-29 00:25:39 +04:00
|
|
|
/*
|
|
|
|
* Define __func__-preprocessor directive if the compiler does not
|
|
|
|
* already define it. Define it to __FILE__ so that we at least have
|
|
|
|
* a clue where the developer is trying to indicate where the error is
|
|
|
|
* coming from (assuming that __func__ is typically used for
|
|
|
|
* printf-style debugging).
|
|
|
|
*/
|
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 07:51:20 +04:00
|
|
|
#if defined(HAVE_DECL___FUNC__) && !HAVE_DECL___FUNC__
|
2004-10-29 23:14:11 +04:00
|
|
|
#define __func__ __FILE__
|
|
|
|
#endif
|
|
|
|
|
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 07:51:20 +04:00
|
|
|
#endif /* OMPI_BUILDING */
|