diff --git a/COPYRIGHT b/COPYRIGHT deleted file mode 100644 index 52fbd7a..0000000 --- a/COPYRIGHT +++ /dev/null @@ -1,50 +0,0 @@ -COPYRIGHT - -The following code is copyright 2008 Aaron J. Bedra. This code is taken from -the original mpi_ruby library and gives full credit and compliance to the -copyright that follows. - -DISCLAIMER - -No warranty express or implied, or assumes any legal liability or responsibility -for the accuracy, completeness, or usefulness of any information, apparatus, -product, or process disclosed, or represents that its use would not infringe -privately owned rights. - - - -==============================ORIGINAL LICENCE=============================== -COPYRIGHT - -The following is a notice of limited availability of the code, and disclaimer -which must be included in the prologue of the code and in all source listings -of the code. - -Copyright Notice - + 2001 University of Chicago - -Permission is hereby granted to use, reproduce, prepare derivative works, and -to redistribute to others. This software was authored by: - -Argonne National Laboratory Group -E. Ong: (630) 252-5941; e-mail: onge@mcs.anl.gov -Mathematics and Computer Science Division -Argonne National Laboratory, Argonne IL 60439 - -GOVERNMENT LICENSE - -Portions of this material resulted from work developed under a U.S. -Government Contract and are subject to the following license: the Government -is granted for itself and others acting on its behalf a paid-up, nonexclusive, -irrevocable worldwide license in this computer software to reproduce, prepare -derivative works, and perform publicly and display publicly. - -DISCLAIMER - -This computer code material was prepared, in part, as an account of work -sponsored by an agency of the United States Government. Neither the United -States, nor the University of Chicago, nor any of their employees, makes any -warranty express or implied, or assumes any legal liability or responsibility -for the accuracy, completeness, or usefulness of any information, apparatus, -product, or process disclosed, or represents that its use would not infringe -privately owned rights. diff --git a/INSTALL b/INSTALL deleted file mode 100644 index b42a17a..0000000 --- a/INSTALL +++ /dev/null @@ -1,182 +0,0 @@ -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - -See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the host type. - - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Operation Controls -================== - - `configure' recognizes the following options to control how it -operates. - -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - -`--help' - Print a summary of the options to `configure', and exit. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index b815918..0000000 --- a/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = COPYRIGHT -SUBDIRS = src docs examples diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 18d3828..0000000 --- a/Makefile.in +++ /dev/null @@ -1,428 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = COPYRIGHT -SUBDIRS = src docs examples -EXEEXT = -OBJEXT = o -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = README ./stamp-h.in ChangeLog INSTALL Makefile.am \ - Makefile.in TODO aclocal.m4 config.guess config.h.in config.sub \ - configure configure.in depcomp install-sh missing mkinstalldirs -DIST_SUBDIRS = $(SUBDIRS) -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$@ $(SHELL) ./config.status - -$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) - -$(ACLOCAL_M4): configure.in - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -config.h: stamp-h - @if test ! -f $@; then \ - rm -f stamp-h; \ - $(MAKE) stamp-h; \ - else :; fi -stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h stamp-hT - @echo timestamp > stamp-hT 2> /dev/null - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=config.h \ - $(SHELL) ./config.status - @mv stamp-hT stamp-h -$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/./stamp-h.in; \ - $(MAKE) $(srcdir)/./stamp-h.in; \ - else :; fi -$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) - @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT - @echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null - cd $(top_srcdir) && $(AUTOHEADER) - @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in - -distclean-hdr: - -rm -f config.h -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $$here - -distclean-tags: - -rm -f TAGS ID - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = . -# Avoid unsightly `./'. -distdir = $(PACKAGE)-$(VERSION) - -GZIP_ENV = --best - -distdir: $(DISTFILES) - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) - mkdir $(distdir) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) - -dist-bzip2: distdir - $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) - -dist-tarZ: distdir - $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - chmod a-w $(distdir) - dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ - && cd $(distdir)/=build \ - && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && test `find $$dc_install_base -type f -print | wc -l` -le 1 \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && $(MAKE) $(AM_MAKEFLAGS) distclean \ - && rm -f $(distdir).tar.gz \ - && (test `find . -type f -print | wc -l` -eq 0 \ - || (echo "Error: files left after distclean" 1>&2; \ - exit 1) ) - -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) - @echo "$(distdir).tar.gz is ready for distribution" | \ - sed 'h;s/./=/g;p;x;p;x' -check-am: all-am -check: check-recursive -all-am: Makefile config.h -installdirs: installdirs-recursive -installdirs-am: - -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -dist-all: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 - $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) -distclean: distclean-recursive - -rm -f config.status config.cache config.log -distclean-am: clean-am distclean-generic distclean-hdr distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) all all-am check check-am clean \ - clean-generic clean-recursive dist dist-all dist-bzip2 \ - dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-generic distclean-hdr distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/README b/README deleted file mode 100644 index acf66e1..0000000 --- a/README +++ /dev/null @@ -1,160 +0,0 @@ -MPI Ruby -======== - -MPI Ruby is a Ruby binding of MPI. The primary goal in making this -binding was to make the power of MPI available to Ruby users in a way -that fits into the language's object oriented model. In order to do this, -the buffer and datatype management necessary in the C, C++, and Fortran -bindings have been removed. What this means is that MPI Ruby allows -you to treat objects as messages. - -MPI Ruby also aims to be a complete binding to MPI in that it offers -access to nearly all functionality of MPI. While there is not a -one-to-one correspondence to functions and constants in the Ruby and -C/C++/Fortran bindings, all of the communication and topology features -are available. There are fewer methods in the Ruby binding than there -are functions in the C/C++/Fortran bindings, but this is mainly due -to the fact that the programmer no longer needs to deal with buffers -and datatypes. - -Prerequesites -============= - -To build MPI Ruby, you need a version of MPI installed and a version -of Ruby installed, of course. You also need to have the Ruby shared -library, libruby.so, and the Ruby header files. If these are not on -your system and you have built Ruby from source, you need to rebuild -Ruby with the --enable-shared option passed to Ruby's configure script. -If you installed Ruby from an RPM or other package, you may need to -install the 'developer package' of Ruby. - -Building MPI Ruby -================= - -The usual should suffice: - - ./configure [standard options] - make - -If you want to install MPI Ruby, use this: - - make install - -There are three non-standard options that configure can accept as well: - - --with-mpi-path= - - This option lets you specify the installation directory of your MPI - implementation. - - --with-ruby-prefix= - - This option lets you specify where Ruby is installed. - - --with-max-ops= - - By default, the user is only allowed to create 25 MPI operations. If - you would like to allow more or less, set it with this option. - -Using MPI Ruby -============== - -When MPI Ruby is built, an executable called 'mpi_ruby' is created. -This is an MPI program with a Ruby interpreter built in. It preloads a -Ruby module named 'MPI' to which all the MPI methods belong. In order to -run an MPI program written in Ruby with mpirun, you would use this syntax: - - mpirun -np 5 mpi_ruby my-mpi-prog.rb - -In this example, we're running the MPI program in the Ruby source file -'my-mpi-prog.rb' with 5 processes. You can also use any extended syntax -in this line that is supported by your MPI distribution. - -A Quick Look at a Ruby MPI Program -================================== - -The first thing to note about MPI programs that you will write in Ruby is that -it is no longer necessary to call MPI_Init or MPI_Finalize. Because of the -MPI runtime environment, these calls are already made for you in mpi_ruby. - -Let's take a look at a program where all the processes simply identify their -ranks: - -ranks.rb --------- -puts "Hello, I am #{MPI::Comm::WORLD.rank()} of #{MPI::Comm::WORLD.size()}" --------- - -And to run this program, we might use this command line: - - mpirun -np 5 mpi_ruby ranks.rb - -And we might get this output: - - Hello, I am 2 of 5 - Hello, I am 0 of 5 - Hello, I am 1 of 5 - Hello, I am 4 of 5 - Hello, I am 3 of 5 - -Now let's look at the program text. Notice the calls -MPI::Comm::WORLD.rank() and MPI::Comm::WORLD.size(). In both cases, -we're referencing the constant communicator WORLD in the Comm class of -the MPI module. This communicator corresponds to the MPI_COMM_WORLD -communicator in C. On this communicator, we've invoked the rank() and -size() methods that get the process' rank in the communicator and the -size of the communicator, respectively. - -Let's look at an example with point-to-point communication: - -basic.rb --------- -myrank = MPI::Comm::WORLD.rank() -csize = MPI::Comm::WORLD.size() - -if myrank % 2 == 0 then - if myrank + 1 != csize then - hello = "Hello, I'm #{myrank}, you must be #{myrank+1}" - MPI::Comm::WORLD.send(hello, myrank + 1, 0) - end -else - msg, status = MPI::Comm::WORLD.recv(myrank - 1, 0) - puts "I'm #{myrank} and this message came from #{status.source} with tag #{status.tag}: '#{msg}'" -end --------- - -Again, the invocation may look like this: - - % mpirun -np 6 mpi_ruby basic.rb - I'm 1 and this message came from 0 with tag 0: 'Hello, I'm 0, you must be 1' - I'm 3 and this message came from 2 with tag 0: 'Hello, I'm 2, you must be 3' - I'm 5 and this message came from 4 with tag 0: 'Hello, I'm 4, you must be 5' - -In this example, all of the processes with an even rank send a message -to the next process (unless there are an odd number of processes, in -which case the last process does nothing) and the odd ranked processes -receive a message from the previous process. - -The two calls in this example that do the communication are send() -and recv() in the MPI::Comm::WORLD communicator. In the send call, -the first argument is the object to send, the second argument is the -destination process, and the third argument is the message tag with which -to send the object. If you're familiar with the C, C++, or Fortran MPI -bindings, you may notice that there is no datatype or size information -passed to send(). This is because MPI Ruby is able to treat all Ruby -objects as messages, so you needn't worry about buffers and types. - -On the receiver side, the first argument to recv() is the rank of the -source process and the second argument is the message tag. recv() returns -an array of two values: the message object and the communication status. -In this example, we take advantage of Ruby's multiple assignment syntax -to store these values in msg and status. In the line after the recv() -call, note the use of the accessors status.source and status.tag. -These offer more information about the communication that just took place. - -These examples should get you started and when you're ready to go further, -look at the documentation to get the syntax and semantics of more MPI -calls. - - - diff --git a/TODO b/TODO deleted file mode 100644 index e69de29..0000000 diff --git a/VERSION b/VERSION deleted file mode 100644 index eadcafc..0000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -VERSION=0.4 diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index b32c761..0000000 --- a/aclocal.m4 +++ /dev/null @@ -1,506 +0,0 @@ -# aclocal.m4 generated automatically by aclocal 1.4g - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000 -# Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# Like AC_CONFIG_HEADER, but automatically create stamp file. - -# serial 3 - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. We must strip everything past the first ":", -# and everything past the last "/". - -AC_PREREQ([2.12]) - -AC_DEFUN([AM_CONFIG_HEADER], -[AC_CONFIG_HEADER([$1]) - AC_OUTPUT_COMMANDS( - ifelse(patsubst([$1], [[^ ]], []), - [], - [test -z "$CONFIG_HEADERS" || echo timestamp >dnl - patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]), - [am_indx=1 - for am_file in $1; do - case " $CONFIG_HEADERS " in - *" $am_file "*) - echo timestamp > `echo $am_file | sed 's%:.*%%;s%[^/]*$%%'`stamp-h$am_indx - ;; - esac - am_indx=\`expr \$am_indx + 1\` - done]) -]) - -# Do all the work for Automake. This macro actually does too much -- -# some checks are only needed if your package does certain things. -# But this isn't really a big deal. - -# serial 5 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# We require 2.13 because we rely on SHELL being computed by configure. -AC_PREREQ([2.13]) - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED. -# The purpose of this macro is to provide the user with a means to -# check macros which are provided without letting her know how the -# information is coded. -# If this macro is not defined by Autoconf, define it here. -ifdef([AC_PROVIDE_IFELSE], - [], - [define([AC_PROVIDE_IFELSE], - [ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) -# ---------------------------------------------- -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AC_PROG_INSTALL])dnl -# test to see if srcdir already configured -if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) -fi - -# Define the identity of the package. -PACKAGE=$1 -AC_SUBST(PACKAGE)dnl -VERSION=$2 -AC_SUBST(VERSION)dnl -ifelse([$3],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) - -# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow -# the ones we care about. -ifdef([m4_pattern_allow], - [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_MISSING_PROG(AMTAR, tar) -AM_MISSING_INSTALL_SH -AM_PROG_INSTALL_STRIP -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl -AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_PROVIDE_IFELSE([AC_PROG_][CC], - [AM_DEPENDENCIES(CC)], - [define([AC_PROG_][CC], - defn([AC_PROG_][CC])[AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_][CXX], - [AM_DEPENDENCIES(CXX)], - [define([AC_PROG_][CXX], - defn([AC_PROG_][CXX])[AM_DEPENDENCIES(CXX)])])dnl -]) - -# -# Check to make sure that the build environment is sane. -# - -# serial 3 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - - -# serial 2 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_INSTALL_SH -# --------------------- -# Like AM_MISSING_PROG, but only looks for install-sh. -AC_DEFUN([AM_MISSING_INSTALL_SH], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -if test -z "$install_sh"; then - for install_sh in "$ac_aux_dir/install-sh" \ - "$ac_aux_dir/install.sh" \ - "${am_missing_run}${ac_auxdir}/install-sh"; - do - test -f "$install_sh" && break - done - # FIXME: an evil hack: we remove the SHELL invocation from - # install_sh because automake adds it back in. Sigh. - install_sh=`echo $install_sh | sed -e 's/\${SHELL}//'` -fi -AC_SUBST(install_sh)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[test x"${MISSING+set}" = xset || - MISSING="\${SHELL} `CDPATH=:; cd $ac_aux_dir && pwd`/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - am_backtick='`' - AC_MSG_WARN([${am_backtick}missing' script is too old or missing]) -fi -]) - -# AM_AUX_DIR_EXPAND - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to ${srcdir}/foo. In other projects, it is set to `.'. -# Of course, Automake must honor this variable whenever it call a tool -# from the auxiliary directory. The problem is that $srcdir (hence -# $ac_aux_dir) can be either an absolute path or a path relative to -# $top_srcdir or absolute, this depends on how configure is run. This -# is pretty anoying since it makes $ac_aux_dir quite unusable in -# subdirectories: on the top source directory, any form will work -# fine, but in subdirectories relative pat needs to be adapted. -# - calling $top_srcidr/$ac_aux_dir/missing would success if $srcdir is -# relative, but fail if $srcdir is absolute -# - conversly, calling $ax_aux_dir/missing would fail if $srcdir is -# absolute, and success on relative paths. -# -# Consequently, we define and use $am_aux_dir, the "always absolute" -# version of $ac_aux_dir. - -AC_DEFUN([AM_AUX_DIR_EXPAND], [ -# expand $ac_aux_dir to an absolute path -am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` -]) - -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_MISSING_INSTALL_SH])dnl -_am_dirpart="`echo $install_sh | sed -e 's,//*[[^/]]*$,,'`" -INSTALL_STRIP_PROGRAM="\${SHELL} \`CDPATH=: && cd $_am_dirpart && pwd\`/install-sh -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# serial 3 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - -# AM_DEPENDENCIES(NAME) -# --------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX" or "OBJC". -# We try a few techniques and use that to set a single cache variable. -AC_DEFUN([AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -am_compiler_list= -ifelse([$1], CC, - [AC_REQUIRE([AC_PROG_][CC])dnl -AC_REQUIRE([AC_PROG_][CPP]) -depcc="$CC" -depcpp="$CPP"], - [$1], CXX, [AC_REQUIRE([AC_PROG_][CXX])dnl -AC_REQUIRE([AC_PROG_][CXXCPP]) -depcc="$CXX" -depcpp="$CXXCPP"], - [$1], OBJC, [am_compiler_list='gcc3 gcc' -depcc="$OBJC" -depcpp=""], - [$1], GCJ, [am_compiler_list='gcc3 gcc' -depcc="$GCJ" -depcpp=""], - [AC_REQUIRE([AC_PROG_][$1])dnl -depcc="$$1" -depcpp=""]) - -AC_REQUIRE([AM_MAKE_INCLUDE]) -AC_REQUIRE([AM_DEP_TRACK]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir confdir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" confdir - cd confdir - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list="`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`" - fi - for depmode in $am_compiler_list; do - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - - case "$depmode" in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode="$depmode" \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1; then - am_cv_$1_dependencies_compiler_type="$depmode" - break - fi - done - - cd .. - rm -rf confdir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" -AC_SUBST([$1DEPMODE]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[if test -d .deps || mkdir .deps 2> /dev/null || test -d .deps; then - DEPDIR=.deps - # We redirect because .deps might already exist and be populated. - # In this situation we don't want to see an error. - rmdir .deps > /dev/null 2>&1 -else - DEPDIR=_deps -fi -AC_SUBST(DEPDIR) -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking Speeds up one-time builds - --enable-dependency-tracking Do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -pushdef([subst], defn([AC_SUBST])) -subst(AMDEPBACKSLASH) -popdef([subst]) -]) - -# Generate code to set up dependency tracking. -# This macro should only be invoked once -- use via AC_REQUIRE. -# Usage: -# AM_OUTPUT_DEPENDENCY_COMMANDS - -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[ -AC_OUTPUT_COMMANDS([ -test x"$AMDEP_TRUE" != x"" || -for mf in $CONFIG_FILES; do - case "$mf" in - Makefile) dirpart=.;; - */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; - *) continue;; - esac - grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. - DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` - test -z "$DEPDIR" && continue - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n -e '/^U = / s///p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # We invoke sed twice because it is the simplest approach to - # changing $(DEPDIR) to its actual value in the expansion. - for file in `sed -n -e ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`echo "$file" | sed -e 's|/[^/]*$||'` - $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done -], [AMDEP_TRUE="$AMDEP_TRUE" -ac_aux_dir="$ac_aux_dir"])]) - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -doit: - @echo done -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -_am_include='#' -_am_quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then - _am_include=include - _am_quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$_am_include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - _am_include=.include - _am_quote='"' - _am_result=BSD - fi -fi -AC_SUBST(_am_include) -AC_SUBST(_am_quote) -AC_MSG_RESULT($_am_result) -rm -f confinc confmf -]) - -# serial 3 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -# -# FIXME: Once using 2.50, use this: -# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_DEFUN([AM_CONDITIONAL], -[ifelse([$1], [TRUE], - [errprint(__file__:__line__: [$0: invalid condition: $1 -])dnl -m4exit(1)])dnl -ifelse([$1], [FALSE], - [errprint(__file__:__line__: [$0: invalid condition: $1 -])dnl -m4exit(1)])dnl -AC_SUBST([$1_TRUE]) -AC_SUBST([$1_FALSE]) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi]) - diff --git a/config.guess b/config.guess deleted file mode 100755 index ba66165..0000000 --- a/config.guess +++ /dev/null @@ -1,1371 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. - -timestamp='2001-04-20' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Written by Per Bothner . -# Please send patches to . -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - - -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int dummy(){}" > $dummy.c - for c in cc gcc c89 ; do - ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 - if test $? = 0 ; then - CC_FOR_BUILD="$c"; break - fi - done - rm -f $dummy.c $dummy.o $dummy.rel - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 8/24/94.) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # Netbsd (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # Determine the machine/vendor (is the vendor relevant). - case "${UNAME_MACHINE}" in - amiga) machine=m68k-unknown ;; - arm32) machine=arm-unknown ;; - atari*) machine=m68k-atari ;; - sun3*) machine=m68k-sun ;; - mac68k) machine=m68k-apple ;; - macppc) machine=powerpc-apple ;; - hp3[0-9][05]) machine=m68k-hp ;; - ibmrt|romp-ibm) machine=romp-ibm ;; - *) machine=${UNAME_MACHINE}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE}" in - i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit 0 ;; - alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - esac - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit 0 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit 0 ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit 0;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; - arc64:OpenBSD:*:*) - echo mips64el-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hkmips:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit 0 ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit 0;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit 0 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit 0 ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit 0 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; - atari*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit 0 ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit 0 ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit 0 ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit 0 ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit 0 ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit 0 ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit 0 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit 0 ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit 0 ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit 0 ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit 0 ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit 0 ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo rs6000-ibm-aix3.2.5 - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit 0 ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit 0 ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit 0 ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit 0 ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit 0 ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit 0 ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit 0 ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - case "${HPUX_REV}" in - 11.[0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - esac ;; - esac - fi ;; - esac - if [ "${HP_ARCH}" = "" ]; then - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy - fi ;; - esac - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; - 3050*:HI-UX:*:*) - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo unknown-hitachi-hiuxwe2 - exit 0 ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit 0 ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit 0 ;; - *9??*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit 0 ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit 0 ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit 0 ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit 0 ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit 0 ;; - hppa*:OpenBSD:*:*) - echo hppa-unknown-openbsd - exit 0 ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit 0 ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit 0 ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit 0 ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} - exit 0 ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ - exit 0 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - exit 0 ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix - exit 0 ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit 0 ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - *:GNU:*:*) - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux - exit 0 ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) - cat >$dummy.c < /* for printf() prototype */ -int main (int argc, char *argv[]) { -#else -int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __MIPSEB__ - printf ("%s-unknown-linux-gnu\n", argv[1]); -#endif -#ifdef __MIPSEL__ - printf ("%sel-unknown-linux-gnu\n", argv[1]); -#endif - return 0; -} -EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - ;; - ppc:Linux:*:*) - # Determine Lib Version - cat >$dummy.c < -#if defined(__GLIBC__) -extern char __libc_version[]; -extern char __libc_release[]; -#endif -main(argc, argv) - int argc; - char *argv[]; -{ -#if defined(__GLIBC__) - printf("%s %s\n", __libc_version, __libc_release); -#else - printf("unknown\n"); -#endif - return 0; -} -EOF - LIBC="" - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null - if test "$?" = 0 ; then - ./$dummy | grep 1\.99 > /dev/null - if test "$?" = 0 ; then LIBC="libc1" ; fi - fi - rm -f $dummy.c $dummy - echo powerpc-unknown-linux-gnu${LIBC} - exit 0 ;; - alpha:Linux:*:*) - cat <$dummy.s - .data - \$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - .text - .globl main - .align 4 - .ent main - main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - LIBC="" - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) UNAME_MACHINE="alpha" ;; - 1-0) UNAME_MACHINE="alphaev5" ;; - 1-1) UNAME_MACHINE="alphaev56" ;; - 1-101) UNAME_MACHINE="alphapca56" ;; - 2-303) UNAME_MACHINE="alphaev6" ;; - 2-307) UNAME_MACHINE="alphaev67" ;; - esac - objdump --private-headers $dummy | \ - grep ld.so.1 > /dev/null - if test "$?" = 0 ; then - LIBC="libc1" - fi - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit 0 ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit 0 ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - ld_supported_emulations=`cd /; ld --help 2>&1 \ - | sed -ne '/supported emulations:/!d - s/[ ][ ]*/ /g - s/.*supported emulations: *// - s/ .*// - p'` - case "$ld_supported_emulations" in - i*86linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 - ;; - elf_i*86) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - i*86coff) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 - ;; - esac - # Either a pre-BFD a.out linker (linux-gnuoldld) - # or one that does not give us useful --help. - # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. - # If ld does not provide *any* "supported emulations:" - # that means it is gnuoldld. - test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 - case "${UNAME_MACHINE}" in - i*86) - VENDOR=pc; - ;; - *) - VENDOR=unknown; - ;; - esac - # Determine whether the default compiler is a.out or elf - cat >$dummy.c < -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); -# else - printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); -#endif - return 0; -} -EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; -# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions -# are messed up and put the nodename in both sysname and nodename. - i*86:DYNIX/ptx:4*:*) - echo i386-sequent-sysv4 - exit 0 ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit 0 ;; - i*86:*:5:7*) - # Fixed at (any) Pentium or better - UNAME_MACHINE=i586 - if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then - echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} - fi - exit 0 ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit 0 ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit 0 ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit 0 ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit 0 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit 0 ;; - PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit 0 ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit 0 ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit 0 ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit 0 ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit 0 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit 0 ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit 0 ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit 0 ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} - exit 0 ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - if test "${UNAME_MACHINE}" = "x86pc"; then - UNAME_MACHINE=pc - fi - echo `uname -p`-${UNAME_MACHINE}-nto-qnx - exit 0 ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit 0 ;; - NSR-[KW]:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit 0 ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit 0 ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit 0 ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit 0 ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit 0 ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit 0 ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit 0 ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit 0 ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 -rm -f $dummy.c $dummy - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit 0 ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - c34*) - echo c34-convex-bsd - exit 0 ;; - c38*) - echo c38-convex-bsd - exit 0 ;; - c4*) - echo c4-convex-bsd - exit 0 ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config.h.in b/config.h.in deleted file mode 100644 index 519020a..0000000 --- a/config.h.in +++ /dev/null @@ -1,19 +0,0 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if your system has a working `malloc' function. */ -#undef HAVE_MALLOC - -/* Define if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Name of package */ -#undef PACKAGE - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Version number of package */ -#undef VERSION diff --git a/config.sub b/config.sub deleted file mode 100755 index 93a3a14..0000000 --- a/config.sub +++ /dev/null @@ -1,1362 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. - -timestamp='2001-05-11' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit 0;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \ - | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \ - | pyramid | mn10200 | mn10300 | tron | a29k \ - | 580 | i960 | h8300 \ - | x86 | ppcbe | mipsbe | mipsle | shbe | shle \ - | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ - | hppa64 \ - | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ - | alphaev6[78] \ - | we32k | ns16k | clipper | i370 | sh | sh[34] \ - | powerpc | powerpcle \ - | 1750a | dsp16xx | pdp10 | pdp11 \ - | mips16 | mips64 | mipsel | mips64el \ - | mips64orion | mips64orionel | mipstx39 | mipstx39el \ - | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ - | mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \ - | sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \ - | v850 | c4x \ - | thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \ - | pj | pjl | h8500 | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - # FIXME: clean up the formatting here. - vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ - | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \ - | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \ - | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ - | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ - | xmp-* | ymp-* \ - | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \ - | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ - | hppa2.0n-* | hppa64-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ - | alphaev6[78]-* \ - | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ - | clipper-* | orion-* \ - | sparclite-* | pdp10-* | pdp11-* | sh-* | sh[34]-* | sh[34]eb-* \ - | powerpc-* | powerpcle-* | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \ - | mips16-* | mips64-* | mipsel-* \ - | mips64el-* | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ - | mipstx39-* | mipstx39el-* | mcore-* \ - | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \ - | [cjt]90-* \ - | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ - | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \ - | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | ymp) - basic_machine=ymp-cray - os=-unicos - ;; - cray2) - basic_machine=cray2-cray - os=-unicos - ;; - [cjt]90) - basic_machine=${basic_machine}-cray - os=-unicos - ;; - crds | unos) - basic_machine=m68k-crds - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mipsel*-linux*) - basic_machine=mipsel-unknown - os=-linux-gnu - ;; - mips*-linux*) - basic_machine=mips-unknown - os=-linux-gnu - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon) - basic_machine=i686-pc - ;; - pentiumii | pentium2) - basic_machine=i686-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sparclite-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=t3e-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xmp) - basic_machine=xmp-cray - os=-unicos - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - mips) - if [ x$os = x-linux-gnu ]; then - basic_machine=mips-unknown - else - basic_machine=mips-mips - fi - ;; - romp) - basic_machine=romp-ibm - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh3 | sh4) - basic_machine=sh-unknown - ;; - sparc | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - c4x*) - basic_machine=c4x-none - os=-coff - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto*) - os=-nto-qnx - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -vxsim* | -vxworks*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/configure b/configure deleted file mode 100755 index bcc0c4a..0000000 --- a/configure +++ /dev/null @@ -1,3752 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by Autoconf 2.50. -# -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# -ac_default_prefix=/usr/local -cross_compiling=no -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - -# Avoid depending upon Character Ranges. -ac_cr_az='abcdefghijklmnopqrstuvwxyz' -ac_cr_AZ='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -ac_cr_09='0123456789' -ac_cr_alnum=$ac_cr_az$ac_cr_AZ$ac_cr_09 - -# Sed expression to map a string onto a valid sh and CPP variable names. -ac_tr_sh="sed y%*+%pp%;s%[^_$ac_cr_alnum]%_%g" -ac_tr_cpp="sed y%*$ac_cr_az%P$ac_cr_AZ%;s%[^_$ac_cr_alnum]%_%g" - -ac_unique_file="src/main.c" - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_prev= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_option in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$ac_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$ac_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "enable_$ac_feature='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$ac_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$ac_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$ac_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$ac_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir \ - exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - NONE ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: should be removed in autoconf 3.0. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat < Prefix where Ruby is installed - --with-max-ops= The maximum number of MPI operations allowed - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -EOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue - cd $ac_subdir - # A "../" for each directory in /$ac_subdir. - ac_dots=`echo $ac_subdir | - sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` - - case $srcdir in - .) # No --srcdir option. We are building in place. - ac_sub_srcdir=$srcdir ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_sub_srcdir=$srcdir/$ac_subdir ;; - *) # Relative path. - ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; - esac - - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_sub_srcdir/configure.gnu; then - echo - $SHELL $ac_sub_srcdir/configure.gnu --help=recursive - elif test -f $ac_sub_srcdir/configure; then - echo - $SHELL $ac_sub_srcdir/configure --help=recursive - elif test -f $ac_sub_srcdir/configure.ac || - test -f $ac_sub_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 - fi - cd $ac_popdir - done -fi - -test -n "$ac_init_help" && exit 0 -if $ac_init_version; then - cat <<\EOF - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -EOF - exit 0 -fi -exec 5>config.log -cat >&5 </dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -PATH = $PATH - -_ASUNAME -} >&5 - -cat >&5 <\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - ac_sep=" " ;; - *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" - ac_sep=" " ;; - esac - # Get rid of the leading space. -done - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - echo >&5 - echo "## ----------------- ##" >&5 - echo "## Cache variables. ##" >&5 - echo "## ----------------- ##" >&5 - echo >&5 - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$ac_cr_alnum]*_cv_[_$ac_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$ac_cr_alnum]*_cv_[_$ac_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} >&5 - sed "/^$/d" confdefs.h >conftest.log - if test -s conftest.log; then - echo >&5 - echo "## ------------ ##" >&5 - echo "## confdefs.h. ##" >&5 - echo "## ------------ ##" >&5 - echo >&5 - cat conftest.log >&5 - fi - (echo; echo) >&5 - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" >&5 - echo "$as_me: exit $exit_status" >&5 - rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_status=$?; ac_signal='$ac_signal'; { (exit $ac_status); exit $ac_status; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:830: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - cat "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:841: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi -else - { echo "$as_me:849: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_suggest_removing_cache=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:865: WARNING: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: WARNING: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_suggest_removing_cache=: ;; - ,set) - { echo "$as_me:869: WARNING: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: WARNING: \`$ac_var' was not set in the previous run" >&2;} - ac_suggest_removing_cache=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:875: WARNING: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: WARNING: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:877: WARNING: former value: $ac_old_val" >&5 -echo "$as_me: WARNING: former value: $ac_old_val" >&2;} - { echo "$as_me:879: WARNING: current value: $ac_new_val" >&5 -echo "$as_me: WARNING: current value: $ac_new_val" >&2;} - ac_suggest_removing_cache=: - fi;; - esac -done -if $ac_suggest_removing_cache; then - { echo "$as_me:886: WARNING: changes in the environment can compromise the build" >&5 -echo "$as_me: WARNING: changes in the environment can compromise the build" >&2;} - { echo "$as_me:888: WARNING: consider removing $cache_file and starting over" >&5 -echo "$as_me: WARNING: consider removing $cache_file and starting over" >&2;} -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac -echo "#! $SHELL" >conftest.sh -echo "exit 0" >>conftest.sh -chmod +x conftest.sh -if { (echo "$as_me:907: PATH=\".;.\"; conftest.sh") >&5 - (PATH=".;."; conftest.sh) 2>&5 - ac_status=$? - echo "$as_me:910: \$? = $ac_status" >&5 - (exit $ac_status); }; then - ac_path_separator=';' -else - ac_path_separator=: -fi -PATH_SEPARATOR="$ac_path_separator" -rm -f conftest.sh - -ac_config_headers="$ac_config_headers config.h" - - ac_config_commands="$ac_config_commands default-1" - -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:940: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:950: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:954: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:963: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:967: error: $ac_config_sub $ac_cv_build_alias failed." >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:972: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -echo "$as_me:979: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:988: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:993: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -echo "$as_me:1000: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 -if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:1009: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:1014: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 -target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:1039: checking for a BSD compatible install" >&5 -echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_IFS=$IFS; IFS=$ac_path_separator - for ac_dir in $PATH; do - IFS=$ac_save_IFS - # Account for people who put trailing slashes in PATH elements. - case $ac_dir/ in - / | ./ | .// | /cC/* \ - | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ - | /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if $as_executable_p "$ac_dir/$ac_prog"; then - if test $ac_prog = install && - grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:1088: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -echo "$as_me:1099: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { echo "$as_me:1123: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:1136: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -echo "$as_me:1142: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -if test "$program_transform_name" = s,x,x,; then - program_transform_name= -else - # Double any \ or $. echo might interpret backslashes. - cat <<\EOF >conftest.sed -s,\\,\\\\,g; s,\$,$$,g -EOF - program_transform_name=`echo $program_transform_name | sed -f conftest.sed` - rm -f conftest.sed -fi -test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},;$program_transform_name" - -# sed with no file args requires a program. -test -z "$program_transform_name" && program_transform_name="s,x,x," - -test x"${MISSING+set}" = xset || - MISSING="\${SHELL} `CDPATH=:; cd $ac_aux_dir && pwd`/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - am_backtick='`' - { echo "$as_me:1171: WARNING: ${am_backtick}missing' script is too old or missing" >&5 -echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;} -fi - -for ac_prog in mawk gawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:1179: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_AWK="$ac_prog" -echo "$as_me:1194: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - echo "$as_me:1202: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 -else - echo "$as_me:1205: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$AWK" && break -done - -echo "$as_me:1212: checking whether ${MAKE-make} sets \${MAKE}" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:1232: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:1236: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval="$enable_dependency_tracking" - -fi; -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - -if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - -if test -d .deps || mkdir .deps 2> /dev/null || test -d .deps; then - DEPDIR=.deps - # We redirect because .deps might already exist and be populated. - # In this situation we don't want to see an error. - rmdir .deps > /dev/null 2>&1 -else - DEPDIR=_deps -fi - -# test to see if srcdir already configured -if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:1271: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } -fi - -# Define the identity of the package. -PACKAGE=mpi_ruby -VERSION=0.3 - -cat >>confdefs.h <>confdefs.h <&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MPICC_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MPICC_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_MPICC_PATH="$MPICC_PATH" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy=""$MPI_BIN_DIR"" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_MPICC_PATH="$ac_dir/$ac_word" - echo "$as_me:1350: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_MPICC_PATH" && ac_cv_path_MPICC_PATH=""no"" - ;; -esac -fi -MPICC_PATH=$ac_cv_path_MPICC_PATH - -if test -n "$MPICC_PATH"; then - echo "$as_me:1362: result: $MPICC_PATH" >&5 -echo "${ECHO_T}$MPICC_PATH" >&6 -else - echo "$as_me:1365: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -else - # Extract the first word of "mpicc", so it can be a program name with args. -set dummy mpicc; ac_word=$2 -echo "$as_me:1372: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MPICC_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MPICC_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_MPICC_PATH="$MPICC_PATH" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_MPICC_PATH="$ac_dir/$ac_word" - echo "$as_me:1389: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_MPICC_PATH" && ac_cv_path_MPICC_PATH=""no"" - ;; -esac -fi -MPICC_PATH=$ac_cv_path_MPICC_PATH - -if test -n "$MPICC_PATH"; then - echo "$as_me:1401: result: $MPICC_PATH" >&5 -echo "${ECHO_T}$MPICC_PATH" >&6 -else - echo "$as_me:1404: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test "$MPICC_PATH" = "no"; then - { { echo "$as_me:1410: error: mpicc is necessary to build mpi_ruby" >&5 -echo "$as_me: error: mpicc is necessary to build mpi_ruby" >&2;} - { (exit 1); exit 1; }; } -fi -CC="$MPICC_PATH" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:1423: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1438: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1446: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1449: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:1458: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:1473: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1481: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1484: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:1497: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:1512: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1520: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1523: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1532: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:1547: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1555: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1558: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1571: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue -fi -ac_cv_prog_CC="cc" -echo "$as_me:1591: found $ac_dir/$ac_word" >&5 -break -done - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" ${1+"$@"} - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1613: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1616: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:1627: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:1642: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1650: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1653: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:1666: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:1681: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1689: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1692: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - -test -z "$CC" && { { echo "$as_me:1704: error: no acceptable cc found in \$PATH" >&5 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - -cat >conftest.$ac_ext <<_ACEOF -#line 1709 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compiler, and finding out an intuition -# of exeext. -echo "$as_me:1725: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:1728: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:1731: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `ls a.exe conftest.exe a.* conftest conftest.* 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1748: error: C compiler cannot create executables" >&5 -echo "$as_me: error: C compiler cannot create executables" >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:1754: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1759: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:1765: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1768: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:1775: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:1783: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe conftest$ac_cv_exeext -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1790: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:1792: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:1795: checking for executable suffix" >&5 -echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:1797: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:1800: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:1816: error: cannot compute EXEEXT: cannot compile and link" >&5 -echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:1822: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:1828: checking for object suffix" >&5 -echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1834 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:1846: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1849: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1861: error: cannot compute OBJEXT: cannot compile" >&5 -echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -echo "$as_me:1868: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:1872: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1878 "configure" -#include "confdefs.h" - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1893: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1896: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1899: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1902: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:1914: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:1920: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1926 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1938: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1941: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1944: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1947: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:1957: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1984: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1987: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1990: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1993: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line 2005 "configure" -#include "confdefs.h" -#include -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2018: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2021: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2024: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2027: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 2037 "configure" -#include "confdefs.h" -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2049: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2052: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2055: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2058: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -echo '#ifdef __cplusplus' >>confdefs.h -echo $ac_declaration >>confdefs.h -echo '#endif' >>confdefs.h - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_config_commands="$ac_config_commands default-2" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:2089: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - # break 2 since there is a loop in there. - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2111 "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:2116: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2122: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2145 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:2149: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2155: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break 2 -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:2192: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2202 "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:2207: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2213: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2236 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:2240: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2246: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:2274: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -am_make=${MAKE-make} -cat > confinc << 'END' -doit: - @echo done -END -# If we don't find an include directive, just comment out the code. -echo "$as_me:2291: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -_am_include='#' -_am_quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then - _am_include=include - _am_quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$_am_include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - _am_include=.include - _am_quote='"' - _am_result=BSD - fi -fi - -echo "$as_me:2318: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6 -rm -f confinc confmf - -am_compiler_list= - -depcc="$CC" -depcpp="$CPP" - -echo "$as_me:2327: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir confdir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" confdir - cd confdir - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list="`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`" - fi - for depmode in $am_compiler_list; do - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - - case "$depmode" in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode="$depmode" \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1; then - am_cv_CC_dependencies_compiler_type="$depmode" - break - fi - done - - cd .. - rm -rf confdir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -echo "$as_me:2387: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" - -# -------------- Check Ruby -------------- - -# Check whether --with-ruby-prefix or --without-ruby-prefix was given. -if test "${with_ruby_prefix+set}" = set; then - withval="$with_ruby_prefix" - ruby_prefix="$withval" -else - ruby_prefix="" -fi; - -if test "$ruby_prefix"; then - PATH="$ruby_prefix/bin:$PATH" -fi -for ac_prog in ruby -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2408: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_RUBY+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $RUBY in - [\\/]* | ?:[\\/]*) - ac_cv_path_RUBY="$RUBY" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_RUBY="$ac_dir/$ac_word" - echo "$as_me:2425: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -RUBY=$ac_cv_path_RUBY - -if test -n "$RUBY"; then - echo "$as_me:2436: result: $RUBY" >&5 -echo "${ECHO_T}$RUBY" >&6 -else - echo "$as_me:2439: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$RUBY" && break -done - -if test -z "$RUBY"; then - { { echo "$as_me:2447: error: ruby is necessary to build mpi_ruby" >&5 -echo "$as_me: error: ruby is necessary to build mpi_ruby" >&2;} - { (exit 1); exit 1; }; } -fi - -echo "$as_me:2452: checking that ruby works..." >&5 -echo $ECHO_N "checking that ruby works...... $ECHO_C" >&6 -"$RUBY" -e 'true' 2> /dev/null -if test "$?" = "0"; then - echo "$as_me:2456: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:2459: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:2461: error: ruby does not appear to work correctly. Check your installation" >&5 -echo "$as_me: error: ruby does not appear to work correctly. Check your installation" >&2;} - { (exit 1); exit 1; }; } -fi - -echo "$as_me:2466: checking ruby version >= 1.6.4" >&5 -echo $ECHO_N "checking ruby version >= 1.6.4... $ECHO_C" >&6 -RUBY_VERSION=`$RUBY -e 'puts VERSION'` -# [ = '[' and ] = ']' in autoconf. This stinks. -RUBY_MAJOR=`$RUBY -e 'puts VERSION.split(".")[0]'` -if test "$RUBY_MAJOR" -lt "1"; then - OLD_RUBY_VERSION="yes" -fi -RUBY_MINOR=`$RUBY -e 'puts VERSION.split(".")[1]'` -if test "$RUBY_MINOR" -lt "6"; then - OLD_RUBY_VERSION="yes" -fi -RUBY_MICRO=`$RUBY -e 'puts VERSION.split(".")[2]'` -if test "$RUBY_MICRO" -lt "4"; then - OLD_RUBY_VERSION="yes" -fi -if test "$OLD_RUBY_VERSION"; then - echo "$as_me:2483: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:2485: error: You have Ruby version \"$RUBY_VERSION\", but version 1.6.4 is required. Please upgrade." >&5 -echo "$as_me: error: You have Ruby version \"$RUBY_VERSION\", but version 1.6.4 is required. Please upgrade." >&2;} - { (exit 1); exit 1; }; } -fi -echo "$as_me:2489: result: yes - $RUBY_VERSION" >&5 -echo "${ECHO_T}yes - $RUBY_VERSION" >&6 - -echo "$as_me:2492: checking for Ruby Config module" >&5 -echo $ECHO_N "checking for Ruby Config module... $ECHO_C" >&6 -"$RUBY" -e 'require "rbconfig"' 2>/dev/null -if test ! "$?" = "0"; then - echo "$as_me:2496: result: no" >&5 -echo "${ECHO_T}no" >&6 - { echo "$as_me:2498: WARNING: Could not find Config Ruby module. Assuming CFLAGS and LIBS for Ruby are in standard path..." >&5 -echo "$as_me: WARNING: Could not find Config Ruby module. Assuming CFLAGS and LIBS for Ruby are in standard path..." >&2;} - RUBY_CFLAGS="" - RUBY_LIBS="-lruby" -else - echo "$as_me:2503: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:2505: checking ruby CFLAGS" >&5 -echo $ECHO_N "checking ruby CFLAGS... $ECHO_C" >&6 - RB_ARCH_DIR=`$RUBY -e 'require "rbconfig"; puts Config::CONFIG["archdir"]'` - RB_INCLUDE_DIR=`$RUBY -e 'require "rbconfig"; puts Config::CONFIG["includedir"]'` - RUBY_CFLAGS="-I$RB_ARCH_DIR -I$RB_INCLUDE_DIR" - echo "$as_me:2510: result: $RUBY_CFLAGS" >&5 -echo "${ECHO_T}$RUBY_CFLAGS" >&6 - echo "$as_me:2512: checking ruby LIBS" >&5 -echo $ECHO_N "checking ruby LIBS... $ECHO_C" >&6 - RB_LIB_DIR=`$RUBY -e 'require "rbconfig"; puts Config::CONFIG["libdir"]'` - RUBY_LIBS="-lruby -L$RB_LIB_DIR" - echo "$as_me:2516: result: $RUBY_LIBS" >&5 -echo "${ECHO_T}$RUBY_LIBS" >&6 -fi - -# Check whether --with-max-ops or --without-max-ops was given. -if test "${with_max_ops+set}" = set; then - withval="$with_max_ops" - MAX_OPS="$withval" -else - MAX_OPS="25" -fi; - -# Checks for header files. - -echo "$as_me:2530: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2536 "configure" -#include "confdefs.h" -#include -#include -#include -#include - -_ACEOF -if { (eval echo "$as_me:2544: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2550: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_stdc=no -fi -rm -f conftest.err conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 2572 "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 2590 "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line 2611 "configure" -#include "confdefs.h" -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:2637: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:2640: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:2642: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2645: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_stdc=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_ext -fi -fi -fi -echo "$as_me:2658: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -# Checks for library functions. - -for ac_header in stdlib.h -do -ac_ac_Header=`echo "ac_cv_header_$ac_header" | $ac_tr_sh` -echo "$as_me:2673: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$ac_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2679 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:2683: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2689: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$ac_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$ac_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:2708: result: `eval echo '${'$ac_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$ac_ac_Header'}'`" >&6 -if test `eval echo '${'$ac_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for working malloc... $ECHO_C" >&6 -if test "${ac_cv_func_malloc_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_malloc_works=no -else - cat >conftest.$ac_ext <<_ACEOF -#line 2727 "configure" -#include "confdefs.h" -#if STDC_HEADERS || HAVE_STDLIB_H -# include -#else -char *malloc (); -#endif - -int -main () -{ -exit (malloc (0) ? 0 : 1); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:2744: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:2747: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:2749: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2752: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_malloc_works=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_malloc_works=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_ext -fi -fi -echo "$as_me:2764: result: $ac_cv_func_malloc_works" >&5 -echo "${ECHO_T}$ac_cv_func_malloc_works" >&6 -if test $ac_cv_func_malloc_works = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_MALLOC 1 -EOF - -fi - -echo "$as_me:2774: checking return type of signal handlers" >&5 -echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 -if test "${ac_cv_type_signal+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2780 "configure" -#include "confdefs.h" -#include -#include -#ifdef signal -# undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif - -int -main () -{ -int i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2802: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2805: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2808: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2811: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_signal=void -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_signal=int -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:2821: result: $ac_cv_type_signal" >&5 -echo "${ECHO_T}$ac_cv_type_signal" >&6 - -cat >>confdefs.h <confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overriden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$ac_cr_alnum]*_cv_[_$ac_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$ac_cr_alnum]*_cv_[_$ac_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if cmp -s $cache_file confcache; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - -DEFS=-DHAVE_CONFIG_H - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:2908: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -SHELL=\${CONFIG_SHELL-$SHELL} -ac_cs_invocation="\$0 \$@" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -exec 6>&1 - -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\EOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." -EOF - -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift - ;; - -*);; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_need_defaults=false;; - esac - - case $1 in - # Handling of the options. -EOF -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:3084: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" - ac_need_defaults=false;; - - # Handling of arguments. - 'Makefile' ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - 'src/Makefile' ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - 'docs/Makefile' ) CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; - 'docs/html/Makefile' ) CONFIG_FILES="$CONFIG_FILES docs/html/Makefile" ;; - 'docs/man/Makefile' ) CONFIG_FILES="$CONFIG_FILES docs/man/Makefile" ;; - 'docs/man/man1/Makefile' ) CONFIG_FILES="$CONFIG_FILES docs/man/man1/Makefile" ;; - 'docs/man/man3/Makefile' ) CONFIG_FILES="$CONFIG_FILES docs/man/man3/Makefile" ;; - 'docs/rd/Makefile' ) CONFIG_FILES="$CONFIG_FILES docs/rd/Makefile" ;; - 'examples/Makefile' ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; - 'default-1' ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - 'default-2' ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-2" ;; - 'config.h' ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - - # This is an error. - -*) { { echo "$as_me:3117: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - *) { { echo "$as_me:3122: error: invalid argument: $1" >&5 -echo "$as_me: error: invalid argument: $1" >&2;} - { (exit 1); exit 1; }; };; - esac - shift -done - -exec 5>>config.log -cat >&5 << _ACEOF - -## ----------------------- ## -## Running config.status. ## -## ----------------------- ## - -This file was extended by $as_me 2.50, executed with - > $ac_cs_invocation -on `(hostname || uname -n) 2>/dev/null | sed 1q` - -_ACEOF -EOF - -cat >>$CONFIG_STATUS <<\EOF -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit $?); exit $?; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} -{ - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=$TMPDIR/cs$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 - { (exit 1); exit 1; } -} - -EOF - -cat >>$CONFIG_STATUS < `echo $am_file | sed 's%:.*%%;s%[^/]*$%%'`stamp-h$am_indx - ;; - esac - am_indx=\`expr \$am_indx + 1\` - done -AMDEP_TRUE="$AMDEP_TRUE" -ac_aux_dir="$ac_aux_dir" - -EOF - -cat >>$CONFIG_STATUS <\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@DEFS@,$DEFS,;t t -s,@LIBS@,$LIBS,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@PACKAGE@,$PACKAGE,;t t -s,@VERSION@,$VERSION,;t t -s,@ACLOCAL@,$ACLOCAL,;t t -s,@AUTOCONF@,$AUTOCONF,;t t -s,@AUTOMAKE@,$AUTOMAKE,;t t -s,@AUTOHEADER@,$AUTOHEADER,;t t -s,@MAKEINFO@,$MAKEINFO,;t t -s,@AMTAR@,$AMTAR,;t t -s,@install_sh@,$install_sh,;t t -s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t -s,@AWK@,$AWK,;t t -s,@SET_MAKE@,$SET_MAKE,;t t -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t -s,@DEPDIR@,$DEPDIR,;t t -s,@MPICC_PATH@,$MPICC_PATH,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@CPP@,$CPP,;t t -s,@_am_include@,$_am_include,;t t -s,@_am_quote@,$_am_quote,;t t -s,@CCDEPMODE@,$CCDEPMODE,;t t -s,@RUBY@,$RUBY,;t t -s,@RB_ARCH_DIR@,$RB_ARCH_DIR,;t t -s,@RB_INCLUDE_DIR@,$RB_INCLUDE_DIR,;t t -s,@RB_LIB_DIR@,$RB_LIB_DIR,;t t -s,@RUBY_CFLAGS@,$RUBY_CFLAGS,;t t -s,@RUBY_LIBS@,$RUBY_LIBS,;t t -s,@MAX_OPS@,$MAX_OPS,;t t -CEOF - -EOF - - cat >>$CONFIG_STATUS <<\EOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -EOF -cat >>$CONFIG_STATUS <<\EOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` - else - ac_dir_suffix= ac_dots= - fi - - case $srcdir in - .) ac_srcdir=. - if test -z "$ac_dots"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_dots$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_dots$srcdir ;; - esac - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_dots$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:3400: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - configure_input="Generated automatically from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:3418: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:3431: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -EOF -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done -EOF -cat >>$CONFIG_STATUS <<\EOF - -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - test x"$ac_file" != x- && { echo "$as_me:3492: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:3503: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:3516: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -EOF - -# Transform confdefs.h into two sed scripts, `conftest.defines' and -# `conftest.undefs', that substitutes the proper values into -# config.h.in to produce config.h. The first handles `#define' -# templates, and the second `#undef' templates. -# And first: Protect against being on the right side of a sed subst in -# config.status. Protect against being in an unquoted here document -# in config.status. -rm -f conftest.defines conftest.undefs -# Using a here document instead of a string reduces the quoting nightmare. -# Putting comments in sed scripts is not portable. -# -# `end' is used to avoid that the second main sed command (meant for -# 0-ary CPP macros) applies to n-ary macro definitions. -# See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\EOF -s/[\\&,]/\\&/g -s,[\\$`],\\&,g -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp -t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -: end -EOF -# If some macros were called several times there might be several times -# the same #defines, which is useless. Nevertheless, we may not want to -# sort them, since we want the *last* AC-DEFINE to be honored. -uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines -sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs -rm -f confdef2sed.sed - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >>conftest.undefs <<\EOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -EOF - -# Break up conftest.defines because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS -echo ' :' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.defines >/dev/null -do - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/defines.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines -echo ' fi # egrep' >>$CONFIG_STATUS -echo >>$CONFIG_STATUS - -# Break up conftest.undefs because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #undef templates' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.undefs >/dev/null -do - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/undefs.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail - rm -f conftest.undefs - mv conftest.tail conftest.undefs -done -rm -f conftest.undefs - -cat >>$CONFIG_STATUS <<\EOF - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - if test x"$ac_file" = x-; then - echo "/* Generated automatically by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:3633: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - fi - rm -f $ac_file - mv $tmp/config.h $ac_file - fi - else - cat $tmp/config.h - rm -f $tmp/config.h - fi -done -EOF -cat >>$CONFIG_STATUS <<\EOF - -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - - case $ac_dest in - default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; - default-2 ) -test x"$AMDEP_TRUE" != x"" || -for mf in $CONFIG_FILES; do - case "$mf" in - Makefile) dirpart=.;; - */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; - *) continue;; - esac - grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. - DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` - test -z "$DEPDIR" && continue - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n -e '/^U = / s///p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # We invoke sed twice because it is the simplest approach to - # changing $(DEPDIR) to its actual value in the expansion. - for file in `sed -n -e ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`echo "$file" | sed -e 's|/[^/]*$||'` - $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - esac -done -EOF - -cat >>$CONFIG_STATUS <<\EOF - -{ (exit 0); exit 0; } -EOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - exec 5>/dev/null - $SHELL $CONFIG_STATUS || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - diff --git a/configure.in b/configure.in deleted file mode 100644 index 6d6a41f..0000000 --- a/configure.in +++ /dev/null @@ -1,113 +0,0 @@ -AC_INIT([src/main.c]) - -AM_CONFIG_HEADER(config.h) -AC_CANONICAL_SYSTEM -AM_INIT_AUTOMAKE(mpi_ruby, 0.3) - -# Checks for programs. -AC_ARG_WITH(mpi-path, - [ --with-mpi-path=mpi-path Specify where to find MPI], - MPI_BIN_DIR="$withval/bin") -if test "$MPI_BIN_DIR"; then - AC_PATH_PROG(MPICC_PATH, mpicc, "no", "$MPI_BIN_DIR") -else - AC_PATH_PROG(MPICC_PATH, mpicc, "no") -fi -if test "$MPICC_PATH" = "no"; then - AC_MSG_ERROR([mpicc is necessary to build mpi_ruby]) -fi -CC="$MPICC_PATH" -AC_PROG_CC - -# -------------- Check Ruby -------------- -AC_ARG_WITH(ruby-prefix, - [ --with-ruby-prefix= Prefix where Ruby is installed], - ruby_prefix="$withval", - ruby_prefix="") - -if test "$ruby_prefix"; then - PATH="$ruby_prefix/bin:$PATH" -fi -AC_PATH_PROGS(RUBY, [ruby]) -if test -z "$RUBY"; then - AC_MSG_ERROR([ruby is necessary to build mpi_ruby]) -fi - -AC_MSG_CHECKING(that ruby works...) -"$RUBY" -e 'true' 2> /dev/null -if test "$?" = "0"; then - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) - AC_MSG_ERROR([ruby does not appear to work correctly. Check your installation]) -fi - -AC_MSG_CHECKING(ruby version >= 1.6.4) -RUBY_VERSION=`$RUBY -e 'puts VERSION'` -# @<:@ = '[' and @:>@ = ']' in autoconf. This stinks. -RUBY_MAJOR=`$RUBY -e 'puts VERSION.split(".")@<:@0@:>@'` -if test "$RUBY_MAJOR" -lt "1"; then - OLD_RUBY_VERSION="yes" -fi -RUBY_MINOR=`$RUBY -e 'puts VERSION.split(".")@<:@1@:>@'` -if test "$RUBY_MINOR" -lt "6"; then - OLD_RUBY_VERSION="yes" -fi -RUBY_MICRO=`$RUBY -e 'puts VERSION.split(".")@<:@2@:>@'` -if test "$RUBY_MICRO" -lt "4"; then - OLD_RUBY_VERSION="yes" -fi -if test "$OLD_RUBY_VERSION"; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([You have Ruby version "$RUBY_VERSION", but version 1.6.4 is required. Please upgrade.]) -fi -AC_MSG_RESULT(yes - $RUBY_VERSION) - -AC_MSG_CHECKING(for Ruby Config module) -"$RUBY" -e 'require "rbconfig"' 2>/dev/null -if test ! "$?" = "0"; then - AC_MSG_RESULT(no) - AC_MSG_WARN(Could not find Config Ruby module. Assuming CFLAGS and LIBS for Ruby are in standard path...) - RUBY_CFLAGS="" - RUBY_LIBS="-lruby" -else - AC_MSG_RESULT(yes) - AC_MSG_CHECKING(ruby CFLAGS) - RB_ARCH_DIR=`$RUBY -e 'require "rbconfig"; puts Config::CONFIG@<:@"archdir"@:>@'` - RB_INCLUDE_DIR=`$RUBY -e 'require "rbconfig"; puts Config::CONFIG@<:@"includedir"@:>@'` - RUBY_CFLAGS="-I$RB_ARCH_DIR -I$RB_INCLUDE_DIR" - AC_MSG_RESULT($RUBY_CFLAGS) - AC_MSG_CHECKING(ruby LIBS) - RB_LIB_DIR=`$RUBY -e 'require "rbconfig"; puts Config::CONFIG@<:@"libdir"@:>@'` - RUBY_LIBS="-lruby -L$RB_LIB_DIR" - AC_MSG_RESULT($RUBY_LIBS) -fi -AC_SUBST(RB_ARCH_DIR) -AC_SUBST(RB_INCLUDE_DIR) -AC_SUBST(RB_LIB_DIR) -AC_SUBST(RUBY_CFLAGS) -AC_SUBST(RUBY_LIBS) - -AC_ARG_WITH(max-ops, - [ --with-max-ops= The maximum number of MPI operations allowed], - MAX_OPS="$withval", - MAX_OPS="25") -AC_SUBST(MAX_OPS) - - -# Checks for header files. -AC_HEADER_STDC - -# Checks for library functions. -AC_FUNC_MALLOC -AC_TYPE_SIGNAL - -AC_OUTPUT([Makefile - src/Makefile - docs/Makefile - docs/html/Makefile - docs/man/Makefile - docs/man/man1/Makefile - docs/man/man3/Makefile - docs/rd/Makefile - examples/Makefile]) diff --git a/depcomp b/depcomp deleted file mode 100755 index 02458b8..0000000 --- a/depcomp +++ /dev/null @@ -1,397 +0,0 @@ -#! /bin/sh - -# depcomp - compile a program generating dependencies as side-effects -# Copyright 1999, 2000 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# Originally written by Alexandre Oliva . - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi -# `libtool' can also be set to `yes' or `no'. - -depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! - "$@" -MT "$object" -MF "$tmpdepfile" -MD -MP - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. This file always lives in the current directory. - # Also, the AIX compiler puts `$object:' at the start of each line; - # $object doesn't have directory information. - stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - outname="$stripped.o" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 AIX compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # Subdirectories are respected. - - tmpdepfile="$object.d" - if test "$libtool" = yes; then - "$@" -Wc,-MD - else - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a space and a tab in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - test -z "$dashmflag" && dashmflag=-M - ( IFS=" " - case " $* " in - *" --mode=compile "*) # this is libtool, let us make it quiet - for arg - do # cycle over the arguments - case "$arg" in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - # X makedepend - ( - shift - cleared=no - for arg in "$@"; do - case $cleared in no) - set ""; shift - cleared=yes - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift;; - -*) - ;; - *) - set fnord "$@" "$arg"; shift;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tail +3 "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 diff --git a/docs/MPI b/docs/MPI deleted file mode 100644 index fd26c2c..0000000 --- a/docs/MPI +++ /dev/null @@ -1,139 +0,0 @@ -Function Status --------- ------ ---------Point to Point----------------- -MPI_Send Implemented -MPI_Recv Implemented -MPI_Get_count Never -MPI_Bsend Implemented -MPI_Ssend Implemented -MPI_Rsend Implemented -MPI_Buffer_attach Implemented (buffer_for) -MPI_Buffer_detach Implemented (unbuffer) -MPI_Isend Implemented -MPI_Ibsend Implemented -MPI_Issend Implemented -MPI_Irsend Implemented -MPI_Irecv Implemented -MPI_Wait Implemented -MPI_Test Implemented -MPI_Request_free Never -MPI_Waitany Implemented -MPI_Testany Implemented -MPI_Waitall Implemented -MPI_Testall Implemented -MPI_Waitsome Implemented -MPI_Testsome Implemented -MPI_Iprobe Implemented -MPI_Probe Implemented -MPI_Cancel Implemented -MPI_Test_cancelled Implemented -MPI_Send_init Implemented -MPI_Bsend_init Implemented -MPI_Ssend_init Implemented -MPI_Rsend_init Implemented -MPI_Recv_init Implemented -MPI_Start Implemented -MPI_Startall Implemented -MPI_Sendrecv Implemented -MPI_Sendrecv_replace Never -MPI_Type_contiguous Never -MPI_Type_vector Never -MPI_Type_hvector Never -MPI_Type_indexed Never -MPI_Type_hindexed Never -MPI_Type_struct Never -MPI_Address Never -MPI_Type_extent Never -MPI_Type_size Never -MPI_Type_lb Never -MPI_Type_ub Never -MPI_Type_commit Never -MPI_Type_free Never -MPI_Get_elements Never -MPI_Pack Never -MPI_Unpack Never -MPI_Pack_size Never - -----------Collective------------------- -MPI_Barrier Implemented -MPI_Bcast Implemented -MPI_Gather Implemented -MPI_Gatherv Implemented -MPI_Scatter Implemented -MPI_Scatterv Implemented -MPI_Allgather Implemented -MPI_Allgatherv Implemented -MPI_Alltoall Implemented -MPI_Alltoallv Implemented -MPI_Reduce Implemented -MPI_Op_create Implemented -MPI_Op_free Never -MPI_Allreduce Implemented -MPI_Reduce_scatter Implemented -MPI_Scan Implemented - ----Groups, Contexts, and Communicators---- -MPI_Group_size Implemented -MPI_Group_rank Implemented -MPI_Group_translate_ranks Implemented -MPI_Group_compare Implemented -MPI_Comm_group Implemented -MPI_Group_union Implemented -MPI_Group_intersection Implemented -MPI_Group_difference Implemented -MPI_Group_incl Implemented -MPI_Group_excl Implemented -MPI_Group_range_incl Implemented -MPI_Group_range_excl Implemented -MPI_Group_free Never (GC) -MPI_Comm_size Implemented -MPI_Comm_rank Implemented -MPI_Comm_compare Implemented -MPI_Comm_dup Implemented -MPI_Comm_create Implemented -MPI_Comm_split implemented -MPI_Comm_free Never (GC) -MPI_Comm_test_inter Implemented -MPI_Comm_remote_size Implemented -MPI_Comm_remote_group Implemented -MPI_Intercomm_create Implemented -MPI_Intercomm_merge Implemented -MPI_Keyval_create Implemented -MPI_Keyval_free Implemented -MPI_Attr_put Implemented -MPI_Attr_get Implemented -MPI_Attr_delete Implemented ---------------Topologies------------------- -MPI_Cart_create Implemented -MPI_Dims_create Implemented -MPI_Graph_create Implemented -MPI_Topo_test Implemented -MPI_Graphdims_get Implemented -MPI_Graph_get Implemented -MPI_Cartdim_get Implemented -MPI_Cart_get Implemented -MPI_Cart_rank Implemented -MPI_Cart_coords Implemented -MPI_Graph_neighbors_count Implemented -MPI_Graph_neighbors Implemented -MPI_Cart_shift Implemented -MPI_Cart_sub Implemented -MPI_Cart_map Implemented -MPI_Graph_map Implemented --------------Environmental------------------ -MPI_Get_processor_name Implemented -MPI_Errhandler_create ??? -MPI_Errhandler_set ??? -MPI_Errhandler_get ??? -MPI_Errhandler_free ??? -MPI_Error_string ??? -MPI_Error_class ??? -MPI_Wtime Implemented -MPI_Wtick Implemented -MPI_Init Never -MPI_Finalize Never -MPI_Initialized Implemented -MPI_Abort Implemented ------------Profiling------------------------ -MPI_Pcontrol ??? - diff --git a/docs/Makefile.am b/docs/Makefile.am deleted file mode 100644 index d1b4502..0000000 --- a/docs/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = MPI -SUBDIRS = html man rd diff --git a/docs/Makefile.in b/docs/Makefile.in deleted file mode 100644 index e6d93d8..0000000 --- a/docs/Makefile.in +++ /dev/null @@ -1,322 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = MPI -SUBDIRS = html man rd -EXEEXT = -OBJEXT = o -subdir = docs -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $$here - -distclean-tags: - -rm -f TAGS ID - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: - -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) all all-am check check-am clean \ - clean-generic clean-recursive distclean distclean-generic \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive tags tags-recursive uninstall \ - uninstall-am uninstall-info-am uninstall-info-recursive \ - uninstall-recursive - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/html/Makefile.am b/docs/html/Makefile.am deleted file mode 100644 index 2560e01..0000000 --- a/docs/html/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = index.html mpi.html mpi_comm.html mpi_exception.html mpi_group.html mpi_keyval.html mpi_op.html mpi_request.html mpi_status.html diff --git a/docs/html/Makefile.in b/docs/html/Makefile.in deleted file mode 100644 index ab37917..0000000 --- a/docs/html/Makefile.in +++ /dev/null @@ -1,204 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = index.html mpi.html mpi_comm.html mpi_exception.html mpi_group.html mpi_keyval.html mpi_op.html mpi_request.html mpi_status.html -EXEEXT = -OBJEXT = o -subdir = docs/html -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/html/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/html/index.html b/docs/html/index.html deleted file mode 100644 index 185e4f7..0000000 --- a/docs/html/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - -MPI Ruby - Documentation - - -

MPI Ruby Documentation

-

The mpi_ruby Interpreter

- -

MPI Ruby Module

- - - diff --git a/docs/html/mpi.html b/docs/html/mpi.html deleted file mode 100644 index 486ad34..0000000 --- a/docs/html/mpi.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -mpi.rd - - -

MPI

-

Description

-

The module containing all MPI classes and constants

-

Methods

-

Informational Methods

-
-
MPI.wtime()
-
-

Returns a double precision floating-point number that is the time in seconds -since some arbitrary point of time in the past. The point is guaranteed -not to change during the lifetime of the process.

-

C equivalent: MPI_Wtime()

-
MPI.wtick()
-
-

Returns a double precision floating-point number that is the time in seconds -between successive ticks of the clock.

-

C equivalent: MPI_Wtick()

-
MPI.initialized?()
-
-

Returns true if MPI has been initialized. (Note that because of the -runtime system of MPI Ruby, this will always return true.)

-

C equivalent: MPI_Initialized()

-
MPI.processor_name()
-
-

Returns the processor name of the current processor.

-

C equivalent: MPI_Get_processor_name()

-
MPI.dims_create(nnodes, dims)
-
-

Returns an array containing cartesian dimensions suitable for use with -MPI::Comm#cart_create(). nnodes is an integer specifying the total -number of processes. The array dims should have length equal to -the desired number of dimensions and should contain integers. If an entry -i in dims is positive, the i-th entry in the returned -array will be precisely dims[i]. If dims[i] is 0, the -corresponding entry in the returned array will be determined by the -method. A negative entry in dims is incorrect.

-

C equivalent: MPI_Dims_create()

-
-

Constants

-

MPI::UNDEFINED

-
An opaque value that is used by various methods to specify that a value is
-undefined.
- - - diff --git a/docs/html/mpi_comm.html b/docs/html/mpi_comm.html deleted file mode 100644 index 1f7ad1b..0000000 --- a/docs/html/mpi_comm.html +++ /dev/null @@ -1,443 +0,0 @@ - - - - -mpi_comm.rd - - -

MPI::Comm

-

Description

-

A wrapper class around MPI communicators

-

Methods

-

Constructors

-
-
MPI::Comm#dup()
-
-

Duplicates the communicator and returns a new communicator.

-

C equivalent: MPI_Comm_dup()

-
MPI::Comm.create(grp)
-
-

Creates a new communicator from the grp (of type MPI::Group).

-

C equivalent: MPI_Comm_create()

-
MPI::Comm#split(color, key)
-
-

Splits the receiver into new communicators indicated by color. -key is used to determine ordering in the new communicators.

-

C equivalent: MPI_Comm_split()

-
MPI::Comm#intercomm_create(local_leader, peer, remote_leader, tag)
-
-

Creates a new intercommunicator using the receiver and peer.

-

C equivalent: MPI_Intercomm_create()

-
MPI::Comm#intercomm_merge(high)
-
-

Creates a new intracommunicator from the two communicators of the receiver. -high is used to determine the ranking in the new communicator.

-

C equivalent: MPI_Intercomm_merge()

-
-

Topology Constructors

-
-
MPI::Comm#cart_create(dims, periods, reorder)
-
-

Creates a new communicator to which cartesian topology information is -attached. dims is an array specifying the number of processes in -each dimension. periods is an array of logical values specifying -whether the grid is periodic or not in each dimension. reorder is -a logical value indicating whether the processes may be reordered in the -new topology.

-

C equivalent: MPI_Cart_create()

-
MPI::Comm#graph_create(index, edges, reorder)
-
-

Creates a new communicator to which graph topology information is -attached. index is an array in which the i-th entry is the -the total number of neighbors of the first i nodes. edges -is a flattened array of the edge lists for nodes 0, 1, ...index.length -reorder is a logical value indicating whether the processes may -be reordered in the new topology.

-

C equivalent: MPI_Graph_create()

-
-

Attributes

-
-
MPI::Comm#attr_put(keyval, obj)
-
-

Sets the attribute associated with MPI::Keyval keyval and the -receiver communicator to obj. Returns true.

-

C equivalent: MPI_Attr_put()

-
MPI::Comm#attr_get(keyval)
-
-

Returns the object attribute associated with MPI::Keyval keyval and -the receiver communicator if one exists and nil otherwise.

-

C equivalent: MPI_Attr_get()

-
MPI::Comm#attr_delete(keyval)
-
-

Deletes the object attribute associated with MPI::Keyval keyval and -the receiver communicator if one exists. Returns true.

-

C equivalent: MPI_Attr_delete()

-
-

Informational Methods

-
-
MPI::Comm#size()
-
-

Returns the size of the communicator.

-

C equivalent: MPI_Comm_size()

-
MPI::Comm#rank()
-
-

Returns the rank of the current process within the communicator.

-

C equivalent: MPI_Comm_rank()

-
MPI::Comm#group()
-
-

Returns a handle to the group of the receiver communicator.

-

C equivalent: MPI_Comm_group()

-
MPI::Comm#inter?()
-
-

Returns true if the receiver is an intercommunicator.

-

C equivalent: MPI_Comm_test_inter()

-
MPI::Comm#remote_size()
-
-

Returns the size of the remote communicator of the intercommunicator.

-

C equivalent: MPI_Comm_remote_size()

-
MPI::Comm#remote_group()
-
-

Returns the remote group communicator of the intercommunicator.

-

C equivalent: MPI_Comm_remote_group()

-
-

Topology Specific Information Methods

-
-
MPI::Comm#topo_test()
-
-

Returns MPI::Comm.GRAPH if the topology associated with the receiver -communicator is a graph, MPI::Comm.CART if the topology is cartesian, and -MPI::UNDEFINED if there is no associated topology.

-

C equivalent: MPI_Topo_test()

-
MPI::Comm#graphdims()
-
-

Returns an array of two elements: the first being an integer describing the -number of nodes and the second being an integer describing the number of -edges in the graph topology.

-

C equivalent: MPI_Graphdims_get()

-
MPI::Comm#graphdims_get()
-
-

An alias for MPI::Comm#graphdims().

-

C equivalent: MPI_Graphdims_get()

-
MPI::Comm#graph()
-
-

Returns an array of two elements containing the arrays index and -edges as given to the MPI::Comm#graph_create() method, respectively.

-

C equivalent: MPI_Graph_get()

-
MPI::Comm#graph_get()
-
-

An alias for MPI::Comm#graph()

-

C equivalent: MPI_Graph_get()

-
MPI::Comm#cartdim()
-
-

Returns the number of dimensions in the cartesian topology attached to the -receiver.

-

C equivalent: MPI_Cartdim_get()

-
MPI::Comm#cartdim_get()
-
-

An alias for MPI::Comm#cartdim().

-

C equivalent: MPI_Cartdim_get()

-
MPI::Comm#cart()
-
-

Returns an array of 3 elements containing a dims array, periods -array, and coords array as given to cart_create().

-

C equivalent: MPI_Cart_get()

-
MPI::Comm#cart_get()
-
-

An alias for MPI::Comm#cart()

-

C equivalent: MPI_Cart_get()

-
MPI::Comm#cart_rank(coords)
-
-

Returns the rank of the process at the coordinates given in the array -coords.

-

C equivalent: MPI_Cart_rank()

-
MPI::Comm#cart_coords(rank)
-
-

Returns an array of the coordinates of the process specified by rank.

-

C equivalent: MPI_Cart_coords()

-
MPI::Comm#graph_neigbhors_count(rank)
-
-

Returns an integer specifying the number of neighbors of the process -specified by rank.

-

C equivalent: MPI_Graph_neighbors_count()

-
MPI::Comm#graph_neigbhors(rank)
-
-

Returns an array of the ranks of the neighbors of the process specified -by rank.

-

C equivalent: MPI_Graph_neighbors()

-
MPI::Comm#cart_shift(dir, disp)
-
-

Returns an array of two elements containing the rank of the source process -and the rank of the destination process, respectively, as might be used -in MPI::Comm#sendrecv(). dir indicates the direction of the shift -and disp indicates the displacement.

-

C equivalent: MPI_Cart_shift()

-
MPI::Comm#cart_map(dims, periods)
-
-

Returns an integer specifying the optimal placement for the calling -process on the physical machine. dims and periods are as for -MPI::Comm#cart_create().

-

C equivalent: MPI_Cart_map()

-
MPI::Comm#graph_map(index, edges)
-
-

Returns an integer specifying the optimal placement for the calling -process on the physical machine. index and edges are as for -MPI::Comm#graph_create()

-

C equivalent: MPI_Graph_map()

-
-

Point-to-Point Communications

-
-
MPI::Comm#send(obj, dest, tag)
-
-

Sends object obj to process dest within the communicator with -tag tag. Returns true on success.

-

C equivalent: MPI_Send()

-
MPI::Comm#recv(src, tag)
-
-

Receives an object from process src within the communicator with tag -tag. Returns an array of two elements containing the object -received and an MPI::Status object, respectively.

-

C equivalent: MPI_Recv()

-
MPI::Comm#bsend(obj, dest, tag)
-
-

Sends object obj to process dest within the communicator with -tag tag. Buffering is used (see MPI::Comm#buffer_for()). -Returns true on success.

-

C equivalent: MPI_Bsend()

-
MPI::Comm#ssend(obj, dest, tag)
-
-

Sends object obj to process dest within the communicator with -tag tag synchronously. Returns true on success.

-

C equivalent: MPI_Ssend()

-
MPI::Comm#rsend(obj, dest, tag)
-
-

Sends object obj to process dest within the communicator with -tag tag with the assumption that the receiver has already begun a -receiving call. -Returns true on success.

-

C equivalent: MPI_Rsend()

-
MPI::Comm#sendrecv(obj, dest, dtag, src, stag)
-
-

Sends object obj to process dest within the communicator with -tag dtag and simultaneously starts a receive from process src -with tag stag. Returns an array of two elements containing the -object received and an MPI::Status object, respectively.

-

C equivalent: MPI_Sendrecv()

-
-

Non-blocking Point-to-Point Communications

-
-
MPI::Comm#isend(obj, dest, tag)
-
-

Performs a non-blocking send of object obj to process dest -within the communicator with tag tag. Returns a new MPI::Request -object.

-

C equivalent: MPI_Isend()

-
MPI::Comm#irecv(src, tag)
-
-

Performs a non-blocking receive of an object from process src within -the communicator with tag tag. Returns a new MPI::Request object.

-

C equivalent: MPI_Irecv()

-
MPI::Comm#ibsend(obj, dest, tag)
-
-

Performs a non-blocking send of object obj to process dest -within the communicator with tag tag. Buffering is used -(see MPI::Comm#buffer_for()). Returns a new MPI::Request -object.

-

C equivalent: MPI_Ibsend()

-
MPI::Comm#issend(obj, dest, tag)
-
-

Performs a non-blocking, synchronous send of object obj to process -dest within the communicator with tag tag tag tag -syncronously. Returns a new MPI::Request object.

-

C equivalent: MPI_Issend()

-
MPI::Comm#irsend(obj, dest, tag)
-
-

Performs a non-blocking send of object obj to process dest -within the communicator with tag tag with the assumption that the -receiver has already begun a receiving call. Returns a new MPI::Request -object.

-

C equivalent: MPI_Irsend()

-
-

Persistent Communications

-
-
MPI::Comm#send_init(obj, dest, tag)
-
-

Sets up a persistent send of object obj to process dest -within the communicator with tag tag. Returns a new MPI::Request -object.

-

C equivalent: MPI_Send_init()

-
MPI::Comm#recv_init(src, tag)
-
-

Sets up a persistent receive of an object from process src within -the communicator with tag tag. Returns a new MPI::Request object.

-

C equivalent: MPI_Recv_init()

-
MPI::Comm#bsend_init(obj, dest, tag)
-
-

Sets up a persistent send of object obj to process dest -within the communicator with tag tag. Buffering is used -(see MPI::Comm#buffer_for()). Returns a new MPI::Request -object.

-

C equivalent: MPI_Bsend_init()

-
MPI::Comm#ssend_init(obj, dest, tag)
-
-

Sets up a persistent, synchronous send of object obj to process -dest within the communicator with tag tag tag tag -syncronously. Returns a new MPI::Request object.

-

C equivalent: MPI_Ssend_init()

-
MPI::Comm#rsend_init(obj, dest, tag)
-
-

Sets up a persistent send of object obj to process dest -within the communicator with tag tag with the assumption that the -receiver has already begun a receiving call. Returns a new MPI::Request -object.

-

C equivalent: MPI_Rsend_init()

-
-

Buffering Methods

-
-
MPI::Comm#buffer_for(ary)
-
-

Sets up buffering on the receiver communicator to account for the objects -in the array ary. Returns true.

-

C equivalent: MPI_Buffer_attach()

-
MPI::Comm#unbuffer()
-
-

Removes the buffer associated with the receiver communicator. Returns -true.

-

C equivalent: MPI_Buffer_detach()

-
-

Collective Operations

-
-
MPI::Comm#barrier()
-
-

Performs a barrier operation on the communicator.

-

C equivalent: MPI_Barrier()

-
MPI::Comm#bcast(obj, root)
-
-

Broadcasts obj from process root to all other processes. -The value of obj is irrelevant for all processes other than -root. Returns a copy of obj all processes other than root -and obj itself on process root.

-

C equivalent: MPI_Bcast

-
MPI::Comm#gather(obj, root)
-
-

Gathers obj from all processes in the communicator into an array -and returns this array at process root. Given a rank r, the -r-th element of the array is a copy of obj on process r. -Returns true on all processes other than root.

-

C equivalent: MPI_Gather(), MPI_Gatherv()

-
MPI::Comm#allgather(obj)
-
-

Gathers obj from all processes in the communicator into an array -and returns this array at all processes. Given a rank r, the -r-th element of the array is a copy of obj on process r.

-

C equivalent: MPI_Allgather(), MPI_Allgatherv()

-
MPI::Comm#scatter(ary, root)
-
-

Scatters the contents of the array ary on the process with rank -root to all processes in the communicator. The array must have -length equal to the number of processes in the communicator. Returns -the i-th object in ary at the i-th process.

-

C equivalent: MPI_Scatter()

-
MPI::Comm#alltoall(ary)
-
-

Scatters the contents of the array ary on every process to all -processes in the communicator. The array must have length equal to -the number of processes in the communicator. Returns an array on each -process where the i-th object in the array on the j-th -process is j-th object in ary at the i-th process.

-

C equivalent: MPI_Alltoall()

-
MPI::Comm#reduce(obj, op, root)
-
-

Reduces the object obj given using the MPI::Op op and returns -the result of the reduction on the process with rank root. On all -other processes, the method returns true. If obj is an array, it -must have the same length on all processes and the operation is applied -to each object in the array. To perform an operation on an array, pass -an array of the array to which the operation will be applied.

-

C equivalent: MPI_Reduce()

-
MPI::Comm#allreduce(obj, op)
-
-

Reduces the object obj given using the MPI::Op op and returns -the result of the reduction to all processes. If obj is an array, -it must have the same length on all processes and the operation is applied -to each object in the array. To perform an operation on an array, pass -an array of the array to which the operation will be applied.

-

C equivalent: MPI_Allreduce()

-
MPI::Comm#scan(obj, op)
-
-

At each process i, returns the value of a reduction on processes -0...i, inclusively. If obj is an array, it must have the same -length on all processes and the operation is applied to each object in the -array. To perform an operation on an array, pass an array of the array -to which the operation will be applied.

-

C equivalent: MPI_Scan()

-
MPI::Comm#reduce_scatter(ary, counts, op)
-
-

Performs an element-wise reduction on ary with MPI::Op op -and scatters the result according to the array counts. Process 0 -receives an array of the first counts[0] elements of the result of -the reduction, process 1 receives an array of the next counts[1] -elements of the result of the reduction, and so on. ary must have -the same length on all processes and this length must equal the sum of -the values in counts.

-

C equivalent: MPI_Reduce_scatter()

-
-

Probing

-
-
MPI::Comm#probe(src, tag)
-
-

Blocks until a message is available from process src with tag -tag. Returns a new MPI::Status object.

-

C equivalent: MPI_Probe()

-
MPI::Comm#iprobe(src, tag)
-
-

Returns an array of two elements. The first element is a flag which -is true if there is a message from the given source src with the -given tag. If the flag is true, then the second element of the -return array is a new MPI::Status object. If the flag is false, the -second element of the return array is to be ignored.

-

C equivalent: MPI_Iprobe()

-
-

Comparison

-
-
MPI::Comm#==(comm)
-
-

Returns true if the receiver and the given communicator comm are -the same communicator. Returns false otherwise.

-

C equivalent: MPI_Comm_compare()

-
MPI::Comm#congruent?(comm)
-
-

Returns true if the receiver and the given communicator comm are -precisely congruent. Returns false otherwise.

-

C equivalent: MPI_Comm_compare()

-
MPI::Comm#similar?(comm)
-
-

Returns true if the receiver and the given communicator comm are -precisely similar. Returns false otherwise.

-

C equivalent: MPI_Comm_compare()

-
-

Abortive Methods

-
-
MPI::Comm#abort(errorcode)
-
-

Aborts the MPI program with the given error code.

-

C equivalent: MPI_Abort()

-
-

Constants

-

MPI::Comm.ANY_TAG

-
A value which may be passed to any method expecting a tag.  It specifies
-that any tag will match in that call.
-

MPI::Comm.ANY_SOURCE

-
A value which may be passed to any method expecting a source rank.  It 
-specifies that any source rank will match in that call.
-

Notes

-

The MPI binding to Ruby is intended solely for Single Program, Multiple Data -(SPMD) parallel computations. Thus, none of these communication methods can -be intermixed with MPI programs written in other languages.

-

Because of the Multiple Data aspect, sending objects should be viewed as -creating a copy of the original object on the recipient process. There are -no remote method invocation concepts explicitly supported in this binding.

- - - diff --git a/docs/html/mpi_exception.html b/docs/html/mpi_exception.html deleted file mode 100644 index b5acb4a..0000000 --- a/docs/html/mpi_exception.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -mpi_exception.rd - - -

MPI::Exception

-

Description

-

An exception class used for passing back MPI errors

- - - diff --git a/docs/html/mpi_group.html b/docs/html/mpi_group.html deleted file mode 100644 index 0df4673..0000000 --- a/docs/html/mpi_group.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - -mpi_group.rd - - -

MPI::Group

-

Description

-

A wrapper class around MPI groups

-

Methods

-

Constructors

-

Informational Methods

-
-
MPI::Group#size()
-
-

Returns the size of the group.

-

C equivalent: MPI_Group_size()

-
MPI::Group#rank()
-
-

Returns the rank of the current process within the communicator.

-

C equivalent: MPI_Comm_rank()

-
MPI::Group#translate_ranks(ary, grp)
-
-

Translates the group rankings listed in ary for the receiver group -into rankings in grp. The new rankings are returned in an array, -ordered respectively to ary. If any of the rankings in ary -do not correspond to a ranking in grp, the corresponding entry in -the return array is MPI::UNDEFINED.

-

C equivalent: MPI_Group_translate_ranks()

-
MPI::Group#==(grp)
-
-

Returns true if the receiver and grp are precisely equal.

-

C equivalent: MPI_Group_compare()

-
MPI::Group#similar?(grp)
-
-

Returns true if the receiver and grp are precisely similar.

-

C equivalent: MPI_Group_compare()

-
-

Constructors

-
-
MPI::Group#|(grp)
-
-

Returns the union of the receiver group and grp.

-

C equivalent: MPI_Group_union()

-
MPI::Group#union(grp)
-
-

An alias for MPI::Group#|()

-

C equivalent: MPI_Group_union()

-
MPI::Group#-(grp)
-
-

Returns the difference of the receiver group and grp.

-

C equivalent: MPI_Group_difference()

-
MPI::Group#difference(grp)
-
-

An alias for MPI::Group#-()

-

C equivalent: MPI_Group_difference()

-
MPI::Group#&(grp)
-
-

Returns the intersection of the receiver group and grp.

-

C equivalent: MPI_Group_intersection()

-
MPI::Group#intersection(grp)
-
-

An alias for MPI::Group#&()

-

C equivalent: MPI_Group_intersection()

-
MPI::Group#incl(ary)
-
-

Returns a new group with only those ranks listed in ary

-

C equivalent: MPI_Group_incl()

-
MPI::Group#range_incl(ary)
-
-

Returns a new group with only those ranks in an array of ranges, -ary. ary is an array in which each element is an array of -size three, describing a range. The first element of one of these size 3 -arrays is the start of the range, the second element is the end of the -range, and the third element is the stride taken between the range -endpoints. The stride may be negative, but not zero. The ranks must be -distinct.

-

C equivalent: MPI_Group_range_incl()

-
MPI::Group#excl(ary)
-
-

Returns a new group with only those ranks not listed in ary

-

C equivalent: MPI_Group_excl()

-
MPI::Group#range_excl(ary)
-
-

Returns a new group with only those ranks not in an array of ranges, -ary. ary is an array in which each element is an array of -size three, describing a range. The first element of one of these size 3 -arrays is the start of the range, the second element is the end of the -range, and the third element is the stride taken between the range -endpoints. The stride may be negative, but not zero. The ranks must be -distinct.

-

C equivalent: MPI_Group_range_excl()

-
- - - diff --git a/docs/html/mpi_keyval.html b/docs/html/mpi_keyval.html deleted file mode 100644 index 9cb0862..0000000 --- a/docs/html/mpi_keyval.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -mpi_keyval.rd - - -

MPI::Keyval

-

Description

-

A wrapper class around MPI keyvals

-

Methods

-

Constructors

-
-
MPI::Keyval.create(uniq)
-
-

Returns a new MPI::Keyval. If uniq is true, then the attribute -associated with a keyval will be deleted from the original communicator -to which it was attached when that communicator is duplicated. -If uniq is false, then the attribute will simply be copied to the -new communicator.

-

C equivalent: MPI_Keyval_create()

-
- - - diff --git a/docs/html/mpi_op.html b/docs/html/mpi_op.html deleted file mode 100644 index 87e25fa..0000000 --- a/docs/html/mpi_op.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -mpi_op.rd - - -

MPI::Op

-

Description

-

A wrapper class around MPI operators

-

Methods

-

Constructors

-
-
MPI::Op.create(proc, commute)
-
-

Returns a new MPI::Op based on the Proc object proc. proc -must accept two arguments. If commute is true, proc is -considered to be commutative.

-

C equivalent: MPI_Op_create()

-
- - - diff --git a/docs/html/mpi_request.html b/docs/html/mpi_request.html deleted file mode 100644 index 1412f80..0000000 --- a/docs/html/mpi_request.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - -mpi_request.rd - - -

MPI::Request

-

Description

-

A wrapper class around MPI requests

-

Methods

-

Informational Methods

-
-
MPI::Request#null?()
-
-

Returns true if the request is null.

-

C equivalent: request == MPI_REQUEST_NULL

-
-

Wait Methods

-
-
MPI::Request#wait()
-
-

Waits until the operation identified by the receiver request is complete. -If the communication object associated with this request was created by a -nonblocking send or receive call, then the request becomes null. -Returns an MPI::Status object.

-

C equivalent: MPI_Wait()

-
MPI::Request.waitany(ary)
-
-

Waits until any of the operations identified by the requests in the -array of requests ary is complete. If the communication object -associated with this request was created by a nonblocking send or -receive call, then the request becomes null. Returns an array of -two elements containing the index of the completed request and an -MPI::Status object, respectively.

-

C equivalent: MPI_Waitany()

-
MPI::Request.waitall(ary)
-
-

Waits until all of the operations identified by the requests in the -array of requests ary are complete. If the communication object -associated with any of these requests was created by a nonblocking send or -receive call, then those requests become null. Returns an array of -MPI::Status objects for each request in ary. The status of a -request is at the same index in the return array as the request index -in ary.

-

C equivalent: MPI_Waitall()

-
MPI::Request.waitsome(ary)
-
-

Waits until at least one of the operations identified by the requests in -the array of requests ary are complete. If the communication object -associated with any of these requests was created by a nonblocking send or -receive call, then those requests become null. Returns an array of two -elements containing an array of the completed requests and an array of -MPI::Status objects for each completed request, respectively. The status -of a request is at the same index in the return status array as the -request index in the return request array.

-

C equivalent: MPI_Waitsome()

-
-

Test Methods

-
-
MPI::Request#test()
-
-

Tests if the operation identified by request is complete. If the -communication object associated with this request was created by a -nonblocking send or receive call, then the request becomes null. -Returns an array of two elements containing a flag (true or false, -as the result of the test), and an MPI::Status object, respectively. -The status object should be ignored if the flag is false.

-

C equivalent: MPI_Test()

-
MPI::Request.testany(ary)
-
-

Tests if any of the operations identified by the requests in the -array of requests ary is complete. If the communication object -associated with this request was created by a nonblocking send or -receive call, then the request becomes null. Returns an array of -three elements containing a flag (true or false, depending on whether -any of the requests were completed), the index of the completed request, -and an MPI::Status object, respectively. The last two array elements -should be ignored if the flag is false.

-

C equivalent: MPI_Testany()

-
MPI::Request.testall(ary)
-
-

Tests if all of the operations identified by the requests in the -array of requests ary are complete. If the communication object -associated with any of these requests was created by a nonblocking send or -receive call, then those requests become null. Returns an array of -two elements containing a flag (true or false, depending on whether -all of the requests were completed) and an array of MPI::Status objects -for each request in ary, respectively. The status of a request is -at the same index in the return array as the request index in ary. -The status array should be ignored if the flag is false.

-

C equivalent: MPI_Testall()

-
MPI::Request.testsome(ary)
-
-

Equivalent to MPI::Request#waitsome(ary) except that -MPI::Request#testsome(ary) does not block.

-

C equivalent: MPI_Testsome()

-
-

Initiation and Cancellation

-
-
MPI::Request#cancel()
-
-

Cancels the request. Returns true.

-

C equivalent: MPI_Cancel()

-
MPI::Request#start()
-
-

Starts a request. Returns true.

-

C equivalent: MPI_Start()

-
MPI::Request.startall(ary)
-
-

Starts all the requests in the array of requests ary. Returns true.

-

C equivalent: MPI_Startall()

-
-

Accessors

-
-
MPI::Request#object
-
-

Returns the object associated with the request.

-

C equivalent: Accessing the buffer given in the creation of the request.

-
- - - diff --git a/docs/html/mpi_status.html b/docs/html/mpi_status.html deleted file mode 100644 index 8094306..0000000 --- a/docs/html/mpi_status.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - -mpi_status.rd - - -

MPI::Status

-

Description

-

A wrapper class around MPI status

-

Methods

-

Informational Methods

-
-
MPI::Status#source()
-
-

Returns the source of the message to which the status object refers.

-

C equivalent: status.MPI_STATUS

-
MPI::Status#tag()
-
-

Returns the tag of the message to which the status object refers.

-

C equivalent: status.MPI_TAG

-
MPI::Status#cancelled?()
-
-

Returns whether or not the message to which the status object refers was -cancelled.

-

C equivalent: MPI_Test_cancelled()

-
- - - diff --git a/docs/man/Makefile.am b/docs/man/Makefile.am deleted file mode 100644 index 820ae41..0000000 --- a/docs/man/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -SUBDIRS = man1 man3 diff --git a/docs/man/Makefile.in b/docs/man/Makefile.in deleted file mode 100644 index a1f88e1..0000000 --- a/docs/man/Makefile.in +++ /dev/null @@ -1,321 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -SUBDIRS = man1 man3 -EXEEXT = -OBJEXT = o -subdir = docs/man -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/man/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $$here - -distclean-tags: - -rm -f TAGS ID - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: - -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) all all-am check check-am clean \ - clean-generic clean-recursive distclean distclean-generic \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive tags tags-recursive uninstall \ - uninstall-am uninstall-info-am uninstall-info-recursive \ - uninstall-recursive - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/man/man1/Makefile b/docs/man/man1/Makefile deleted file mode 100644 index 0bf9273..0000000 --- a/docs/man/man1/Makefile +++ /dev/null @@ -1,204 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -SHELL = /bin/sh - -srcdir = . -top_srcdir = ../../.. - -prefix = /usr/local -exec_prefix = ${prefix} - -bindir = ${exec_prefix}/bin -sbindir = ${exec_prefix}/sbin -libexecdir = ${exec_prefix}/libexec -datadir = ${prefix}/share -sysconfdir = ${prefix}/etc -sharedstatedir = ${prefix}/com -localstatedir = ${prefix}/var -libdir = ${exec_prefix}/lib -infodir = ${prefix}/info -mandir = ${prefix}/man -includedir = ${prefix}/include -oldincludedir = /usr/include -pkgdatadir = $(datadir)/mpi_ruby -pkglibdir = $(libdir)/mpi_ruby -pkgincludedir = $(includedir)/mpi_ruby -top_builddir = ../../.. - -ACLOCAL = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run aclocal -AUTOCONF = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run autoconf -AUTOMAKE = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run automake -AUTOHEADER = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run autoheader - -INSTALL = /opt/local/bin/ginstall -c -INSTALL_PROGRAM = ${INSTALL} -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_SCRIPT = ${INSTALL} -INSTALL_HEADER = $(INSTALL_DATA) -transform = s,x,x, -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = i386-apple-darwin9.1.0 -host_alias = @host_alias@ -host_triplet = i386-apple-darwin9.1.0 -target_alias = @target_alias@ -target_triplet = i386-apple-darwin9.1.0 -AMTAR = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run tar -AWK = gawk -CC = /usr/bin/mpicc -DEPDIR = .deps -INSTALL_STRIP_PROGRAM = ${SHELL} `CDPATH=: && cd . && pwd`/install-sh -c -s -MAX_OPS = 25 -MPICC_PATH = /usr/bin/mpicc -PACKAGE = mpi_ruby -RB_ARCH_DIR = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -RB_INCLUDE_DIR = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -RB_LIB_DIR = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -RUBY = /usr/bin/ruby -RUBY_CFLAGS = -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -RUBY_LIBS = -lruby -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -VERSION = 0.3 -_am_include = include -_am_quote = -install_sh = ./install-sh - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = mpi_ruby.1 -EXEEXT = -OBJEXT = o -subdir = docs/man/man1 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/man/man1/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/man/man1/Makefile.am b/docs/man/man1/Makefile.am deleted file mode 100644 index f0a39f1..0000000 --- a/docs/man/man1/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = mpi_ruby.1 diff --git a/docs/man/man1/Makefile.in b/docs/man/man1/Makefile.in deleted file mode 100644 index 3eca656..0000000 --- a/docs/man/man1/Makefile.in +++ /dev/null @@ -1,204 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = mpi_ruby.1 -EXEEXT = -OBJEXT = o -subdir = docs/man/man1 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/man/man1/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/man/man1/mpi_ruby.1 b/docs/man/man1/mpi_ruby.1 deleted file mode 100644 index c284631..0000000 --- a/docs/man/man1/mpi_ruby.1 +++ /dev/null @@ -1,18 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi_ruby.rd 1 "July 2001" -.SH mpi_ruby -.PP -.SH Description -.PP -mpi_ruby is the Ruby interpreter for the MPI Ruby environment -.SH Invocation and Command Line Arguments -.PP -mpi_ruby is run as any other MPI program, usually with mpirun. For example, -to run a script 'mpi_ruby_prog.rb', you might use this line: - mpirun \-np 5 mpi_ruby mpi_ruby_prog.rb -All command line arguments after mpi_ruby in this line are the same as for -ruby(1). -.SH See Also -.PP -ruby(1), mpirun(1) - diff --git a/docs/man/man3/MPI_Comm.3 b/docs/man/man3/MPI_Comm.3 deleted file mode 100644 index 7d5c4b0..0000000 --- a/docs/man/man3/MPI_Comm.3 +++ /dev/null @@ -1,747 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi_comm.rd 1 "July 2001" -.SH MPI::Comm -.PP -.SH Description -.PP -A wrapper class around MPI communicators -.SH Methods -.PP -.SH Constructors -.PP - -.TP -.fi -.B -MPI::Comm#dup() -Duplicates the communicator and returns a new communicator. - -C equivalent: \&\fBMPI_Comm_dup()\fP - - -.TP -.fi -.B -MPI::Comm.create(grp) -Creates a new communicator from the grp (of type MPI::Group). - -C equivalent: \&\fBMPI_Comm_create()\fP - - -.TP -.fi -.B -MPI::Comm#split(color, key) -Splits the receiver into new communicators indicated by color. -key is used to determine ordering in the new communicators. - -C equivalent: \&\fBMPI_Comm_split()\fP - - -.TP -.fi -.B -MPI::Comm#intercomm_create(local_leader, peer, remote_leader, tag) -Creates a new intercommunicator using the receiver and peer. - -C equivalent: \&\fBMPI_Intercomm_create()\fP - - -.TP -.fi -.B -MPI::Comm#intercomm_merge(high) -Creates a new intracommunicator from the two communicators of the receiver. -high is used to determine the ranking in the new communicator. - -C equivalent: \&\fBMPI_Intercomm_merge()\fP -.SH Topology Constructors -.PP - -.TP -.fi -.B -MPI::Comm#cart_create(dims, periods, reorder) -Creates a new communicator to which cartesian topology information is -attached. dims is an array specifying the number of processes in -each dimension. periods is an array of logical values specifying -whether the grid is periodic or not in each dimension. reorder is -a logical value indicating whether the processes may be reordered in the -new topology. - -C equivalent: \&\fBMPI_Cart_create()\fP - - -.TP -.fi -.B -MPI::Comm#graph_create(index, edges, reorder) -Creates a new communicator to which graph topology information is -attached. index is an array in which the i\-th entry is the -the total number of neighbors of the first i nodes. edges -is a flattened array of the edge lists for nodes 0, 1, ...\&\fBindex\.length\fP -reorder is a logical value indicating whether the processes may -be reordered in the new topology. - -C equivalent: \&\fBMPI_Graph_create()\fP -.SH Attributes -.PP - -.TP -.fi -.B -MPI::Comm#attr_put(keyval, obj) -Sets the attribute associated with MPI::Keyval keyval and the -receiver communicator to obj. Returns true. - -C equivalent: \&\fBMPI_Attr_put()\fP - - -.TP -.fi -.B -MPI::Comm#attr_get(keyval) -Returns the object attribute associated with MPI::Keyval keyval and -the receiver communicator if one exists and nil otherwise. - -C equivalent: \&\fBMPI_Attr_get()\fP - - -.TP -.fi -.B -MPI::Comm#attr_delete(keyval) -Deletes the object attribute associated with MPI::Keyval keyval and -the receiver communicator if one exists. Returns true. - -C equivalent: \&\fBMPI_Attr_delete()\fP -.SH Informational Methods -.PP - -.TP -.fi -.B -MPI::Comm#size() -Returns the size of the communicator. - -C equivalent: \&\fBMPI_Comm_size()\fP - - -.TP -.fi -.B -MPI::Comm#rank() -Returns the rank of the current process within the communicator. - -C equivalent: \&\fBMPI_Comm_rank()\fP - - -.TP -.fi -.B -MPI::Comm#group() -Returns a handle to the group of the receiver communicator. - -C equivalent: \&\fBMPI_Comm_group()\fP - - -.TP -.fi -.B -MPI::Comm#inter?() -Returns true if the receiver is an intercommunicator. - -C equivalent: \&\fBMPI_Comm_test_inter()\fP - - -.TP -.fi -.B -MPI::Comm#remote_size() -Returns the size of the remote communicator of the intercommunicator. - -C equivalent: \&\fBMPI_Comm_remote_size()\fP - - -.TP -.fi -.B -MPI::Comm#remote_group() -Returns the remote group communicator of the intercommunicator. - -C equivalent: \&\fBMPI_Comm_remote_group()\fP -.SH Topology Specific Information Methods -.PP - -.TP -.fi -.B -MPI::Comm#topo_test() -Returns MPI::Comm.GRAPH if the topology associated with the receiver -communicator is a graph, MPI::Comm.CART if the topology is cartesian, and -MPI::UNDEFINED if there is no associated topology. - -C equivalent: \&\fBMPI_Topo_test()\fP - - -.TP -.fi -.B -MPI::Comm#graphdims() -Returns an array of two elements: the first being an integer describing the -number of nodes and the second being an integer describing the number of -edges in the graph topology. - -C equivalent: \&\fBMPI_Graphdims_get()\fP - - -.TP -.fi -.B -MPI::Comm#graphdims_get() -An alias for MPI::Comm#graphdims(). - -C equivalent: \&\fBMPI_Graphdims_get()\fP - - -.TP -.fi -.B -MPI::Comm#graph() -Returns an array of two elements containing the arrays index and -edges as given to the MPI::Comm#graph_create() method, respectively. - -C equivalent: \&\fBMPI_Graph_get()\fP - - -.TP -.fi -.B -MPI::Comm#graph_get() -An alias for MPI::Comm#graph() - -C equivalent: \&\fBMPI_Graph_get()\fP - - -.TP -.fi -.B -MPI::Comm#cartdim() -Returns the number of dimensions in the cartesian topology attached to the -receiver. - -C equivalent: \&\fBMPI_Cartdim_get()\fP - - -.TP -.fi -.B -MPI::Comm#cartdim_get() -An alias for MPI::Comm#cartdim(). - -C equivalent: \&\fBMPI_Cartdim_get()\fP - - -.TP -.fi -.B -MPI::Comm#cart() -Returns an array of 3 elements containing a dims array, periods -array, and coords array as given to cart_create(). - -C equivalent: \&\fBMPI_Cart_get()\fP - - -.TP -.fi -.B -MPI::Comm#cart_get() -An alias for MPI::Comm#cart() - -C equivalent: \&\fBMPI_Cart_get()\fP - - -.TP -.fi -.B -MPI::Comm#cart_rank(coords) -Returns the rank of the process at the coordinates given in the array -coords. - -C equivalent: \&\fBMPI_Cart_rank()\fP - - -.TP -.fi -.B -MPI::Comm#cart_coords(rank) -Returns an array of the coordinates of the process specified by rank. - -C equivalent: \&\fBMPI_Cart_coords()\fP - - -.TP -.fi -.B -MPI::Comm#graph_neigbhors_count(rank) -Returns an integer specifying the number of neighbors of the process -specified by rank. - -C equivalent: \&\fBMPI_Graph_neighbors_count()\fP - - -.TP -.fi -.B -MPI::Comm#graph_neigbhors(rank) -Returns an array of the ranks of the neighbors of the process specified -by rank. - -C equivalent: \&\fBMPI_Graph_neighbors()\fP - - -.TP -.fi -.B -MPI::Comm#cart_shift(dir, disp) -Returns an array of two elements containing the rank of the source process -and the rank of the destination process, respectively, as might be used -in MPI::Comm#sendrecv(). dir indicates the direction of the shift -and disp indicates the displacement. - -C equivalent: \&\fBMPI_Cart_shift()\fP - - -.TP -.fi -.B -MPI::Comm#cart_map(dims, periods) -Returns an integer specifying the optimal placement for the calling -process on the physical machine. dims and periods are as for -MPI::Comm#cart_create(). - -C equivalent: \&\fBMPI_Cart_map()\fP - - -.TP -.fi -.B -MPI::Comm#graph_map(index, edges) -Returns an integer specifying the optimal placement for the calling -process on the physical machine. index and edges are as for -MPI::Comm#graph_create() - -C equivalent: \&\fBMPI_Graph_map()\fP -.SH Point\-to\-Point Communications -.PP - -.TP -.fi -.B -MPI::Comm#send(obj, dest, tag) -Sends object obj to process dest within the communicator with -tag tag. Returns true on success. - -C equivalent: \&\fBMPI_Send()\fP - - -.TP -.fi -.B -MPI::Comm#recv(src, tag) -Receives an object from process src within the communicator with tag -tag. Returns an array of two elements containing the object -received and an MPI::Status object, respectively. - -C equivalent: \&\fBMPI_Recv()\fP - - -.TP -.fi -.B -MPI::Comm#bsend(obj, dest, tag) -Sends object obj to process dest within the communicator with -tag tag. Buffering is used (see MPI::Comm#buffer_for()). -Returns true on success. - -C equivalent: \&\fBMPI_Bsend()\fP - - -.TP -.fi -.B -MPI::Comm#ssend(obj, dest, tag) -Sends object obj to process dest within the communicator with -tag tag synchronously. Returns true on success. - -C equivalent: \&\fBMPI_Ssend()\fP - - -.TP -.fi -.B -MPI::Comm#rsend(obj, dest, tag) -Sends object obj to process dest within the communicator with -tag tag with the assumption that the receiver has already begun a -receiving call. -Returns true on success. - -C equivalent: \&\fBMPI_Rsend()\fP - - -.TP -.fi -.B -MPI::Comm#sendrecv(obj, dest, dtag, src, stag) -Sends object obj to process dest within the communicator with -tag dtag and simultaneously starts a receive from process src -with tag stag. Returns an array of two elements containing the -object received and an MPI::Status object, respectively. - -C equivalent: \&\fBMPI_Sendrecv()\fP -.SH Non\-blocking Point\-to\-Point Communications -.PP - -.TP -.fi -.B -MPI::Comm#isend(obj, dest, tag) -Performs a non\-blocking send of object obj to process dest -within the communicator with tag tag. Returns a new MPI::Request -object. - -C equivalent: \&\fBMPI_Isend()\fP - - -.TP -.fi -.B -MPI::Comm#irecv(src, tag) -Performs a non\-blocking receive of an object from process src within -the communicator with tag tag. Returns a new MPI::Request object. - -C equivalent: \&\fBMPI_Irecv()\fP - - -.TP -.fi -.B -MPI::Comm#ibsend(obj, dest, tag) -Performs a non\-blocking send of object obj to process dest -within the communicator with tag tag. Buffering is used -(see MPI::Comm#buffer_for()). Returns a new MPI::Request -object. - -C equivalent: \&\fBMPI_Ibsend()\fP - - -.TP -.fi -.B -MPI::Comm#issend(obj, dest, tag) -Performs a non\-blocking, synchronous send of object obj to process -dest within the communicator with tag tag tag tag -syncronously. Returns a new MPI::Request object. - -C equivalent: \&\fBMPI_Issend()\fP - - -.TP -.fi -.B -MPI::Comm#irsend(obj, dest, tag) -Performs a non\-blocking send of object obj to process dest -within the communicator with tag tag with the assumption that the -receiver has already begun a receiving call. Returns a new MPI::Request -object. - -C equivalent: \&\fBMPI_Irsend()\fP -.SH Persistent Communications -.PP - -.TP -.fi -.B -MPI::Comm#send_init(obj, dest, tag) -Sets up a persistent send of object obj to process dest -within the communicator with tag tag. Returns a new MPI::Request -object. - -C equivalent: \&\fBMPI_Send_init()\fP - - -.TP -.fi -.B -MPI::Comm#recv_init(src, tag) -Sets up a persistent receive of an object from process src within -the communicator with tag tag. Returns a new MPI::Request object. - -C equivalent: \&\fBMPI_Recv_init()\fP - - -.TP -.fi -.B -MPI::Comm#bsend_init(obj, dest, tag) -Sets up a persistent send of object obj to process dest -within the communicator with tag tag. Buffering is used -(see MPI::Comm#buffer_for()). Returns a new MPI::Request -object. - -C equivalent: \&\fBMPI_Bsend_init()\fP - - -.TP -.fi -.B -MPI::Comm#ssend_init(obj, dest, tag) -Sets up a persistent, synchronous send of object obj to process -dest within the communicator with tag tag tag tag -syncronously. Returns a new MPI::Request object. - -C equivalent: \&\fBMPI_Ssend_init()\fP - - -.TP -.fi -.B -MPI::Comm#rsend_init(obj, dest, tag) -Sets up a persistent send of object obj to process dest -within the communicator with tag tag with the assumption that the -receiver has already begun a receiving call. Returns a new MPI::Request -object. - -C equivalent: \&\fBMPI_Rsend_init()\fP -.SH Buffering Methods -.PP - -.TP -.fi -.B -MPI::Comm#buffer_for(ary) -Sets up buffering on the receiver communicator to account for the objects -in the array ary. Returns true. - -C equivalent: \&\fBMPI_Buffer_attach()\fP - - -.TP -.fi -.B -MPI::Comm#unbuffer() -Removes the buffer associated with the receiver communicator. Returns -true. - -C equivalent: \&\fBMPI_Buffer_detach()\fP -.SH Collective Operations -.PP - -.TP -.fi -.B -MPI::Comm#barrier() -Performs a barrier operation on the communicator. - -C equivalent: \&\fBMPI_Barrier()\fP - - -.TP -.fi -.B -MPI::Comm#bcast(obj, root) -Broadcasts obj from process root to all other processes. -The value of obj is irrelevant for all processes other than -root. Returns a copy of obj all processes other than root -and obj itself on process root. - -C equivalent: \&\fBMPI_Bcast\fP - - -.TP -.fi -.B -MPI::Comm#gather(obj, root) -Gathers obj from all processes in the communicator into an array -and returns this array at process root. Given a rank r, the -r\-th element of the array is a copy of obj on process r. -Returns true on all processes other than root. - -C equivalent: \&\fBMPI_Gather(), MPI_Gatherv()\fP - - -.TP -.fi -.B -MPI::Comm#allgather(obj) -Gathers obj from all processes in the communicator into an array -and returns this array at all processes. Given a rank r, the -r\-th element of the array is a copy of obj on process r. - -C equivalent: \&\fBMPI_Allgather(), MPI_Allgatherv()\fP - - -.TP -.fi -.B -MPI::Comm#scatter(ary, root) -Scatters the contents of the array ary on the process with rank -root to all processes in the communicator. The array must have -length equal to the number of processes in the communicator. Returns -the i\-th object in ary at the i\-th process. - -C equivalent: \&\fBMPI_Scatter()\fP - - -.TP -.fi -.B -MPI::Comm#alltoall(ary) -Scatters the contents of the array ary on every process to all -processes in the communicator. The array must have length equal to -the number of processes in the communicator. Returns an array on each -process where the i\-th object in the array on the j\-th -process is j\-th object in ary at the i\-th process. - -C equivalent: \&\fBMPI_Alltoall()\fP - - -.TP -.fi -.B -MPI::Comm#reduce(obj, op, root) -Reduces the object obj given using the MPI::Op op and returns -the result of the reduction on the process with rank root. On all -other processes, the method returns true. If obj is an array, it -must have the same length on all processes and the operation is applied -to each object in the array. To perform an operation on an array, pass -an array of the array to which the operation will be applied. - -C equivalent: \&\fBMPI_Reduce()\fP - - -.TP -.fi -.B -MPI::Comm#allreduce(obj, op) -Reduces the object obj given using the MPI::Op op and returns -the result of the reduction to all processes. If obj is an array, -it must have the same length on all processes and the operation is applied -to each object in the array. To perform an operation on an array, pass -an array of the array to which the operation will be applied. - -C equivalent: \&\fBMPI_Allreduce()\fP - - -.TP -.fi -.B -MPI::Comm#scan(obj, op) -At each process i, returns the value of a reduction on processes -0...i, inclusively. If obj is an array, it must have the same -length on all processes and the operation is applied to each object in the -array. To perform an operation on an array, pass an array of the array -to which the operation will be applied. - -C equivalent: \&\fBMPI_Scan()\fP - - -.TP -.fi -.B -MPI::Comm#reduce_scatter(ary, counts, op) -Performs an element\-wise reduction on ary with MPI::Op op -and scatters the result according to the array counts. Process 0 -receives an array of the first counts[0] elements of the result of -the reduction, process 1 receives an array of the next counts[1] -elements of the result of the reduction, and so on. ary must have -the same length on all processes and this length must equal the sum of -the values in counts. - -C equivalent: \&\fBMPI_Reduce_scatter()\fP -.SH Probing -.PP - -.TP -.fi -.B -MPI::Comm#probe(src, tag) -Blocks until a message is available from process src with tag -tag. Returns a new MPI::Status object. - -C equivalent: \&\fBMPI_Probe()\fP - - -.TP -.fi -.B -MPI::Comm#iprobe(src, tag) -Returns an array of two elements. The first element is a flag which -is true if there is a message from the given source src with the -given tag. If the flag is true, then the second element of the -return array is a new MPI::Status object. If the flag is false, the -second element of the return array is to be ignored. - -C equivalent: \&\fBMPI_Iprobe()\fP -.SH Comparison -.PP - -.TP -.fi -.B -MPI::Comm#==(comm) -Returns true if the receiver and the given communicator comm are -the same communicator. Returns false otherwise. - -C equivalent: \&\fBMPI_Comm_compare()\fP - - -.TP -.fi -.B -MPI::Comm#congruent?(comm) -Returns true if the receiver and the given communicator comm are -precisely congruent. Returns false otherwise. - -C equivalent: \&\fBMPI_Comm_compare()\fP - - -.TP -.fi -.B -MPI::Comm#similar?(comm) -Returns true if the receiver and the given communicator comm are -precisely similar. Returns false otherwise. - -C equivalent: \&\fBMPI_Comm_compare()\fP -.SH Abortive Methods -.PP - -.TP -.fi -.B -MPI::Comm#abort(errorcode) -Aborts the MPI program with the given error code. - -C equivalent: \&\fBMPI_Abort()\fP -.SH Constants -.PP -MPI::Comm.ANY_TAG -.nf -\& A value which may be passed to any method expecting a tag. It specifies -\& that any tag will match in that call. -.fi -MPI::Comm.ANY_SOURCE -.nf -\& A value which may be passed to any method expecting a source rank. It -\& specifies that any source rank will match in that call. -.fi -.SH Notes -.PP -The MPI binding to Ruby is intended solely for Single Program, Multiple Data -(SPMD) parallel computations. Thus, none of these communication methods can -be intermixed with MPI programs written in other languages. -Because of the Multiple Data aspect, sending objects should be viewed as -creating a copy of the original object on the recipient process. There are -no remote method invocation concepts explicitly supported in this binding. - diff --git a/docs/man/man3/MPI_Exception.3 b/docs/man/man3/MPI_Exception.3 deleted file mode 100644 index 01625ec..0000000 --- a/docs/man/man3/MPI_Exception.3 +++ /dev/null @@ -1,8 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi_exception.rd 1 "July 2001" -.SH MPI::Exception -.PP -.SH Description -.PP -An exception class used for passing back MPI errors - diff --git a/docs/man/man3/MPI_Group.3 b/docs/man/man3/MPI_Group.3 deleted file mode 100644 index f774f68..0000000 --- a/docs/man/man3/MPI_Group.3 +++ /dev/null @@ -1,165 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi_group.rd 1 "July 2001" -.SH MPI::Group -.PP -.SH Description -.PP -A wrapper class around MPI groups -.SH Methods -.PP -.SH Constructors -.PP -.SH Informational Methods -.PP - -.TP -.fi -.B -MPI::Group#size() -Returns the size of the group. - -C equivalent: \&\fBMPI_Group_size()\fP - - -.TP -.fi -.B -MPI::Group#rank() -Returns the rank of the current process within the communicator. - -C equivalent: \&\fBMPI_Comm_rank()\fP - - -.TP -.fi -.B -MPI::Group#translate_ranks(ary, grp) -Translates the group rankings listed in ary for the receiver group -into rankings in grp. The new rankings are returned in an array, -ordered respectively to ary. If any of the rankings in ary -do not correspond to a ranking in grp, the corresponding entry in -the return array is \&\fBMPI::UNDEFINED\fP. - -C equivalent: \&\fBMPI_Group_translate_ranks()\fP - - -.TP -.fi -.B -MPI::Group#==(grp) -Returns true if the receiver and grp are precisely equal. - -C equivalent: \&\fBMPI_Group_compare()\fP - - -.TP -.fi -.B -MPI::Group#similar?(grp) -Returns true if the receiver and grp are precisely similar. - -C equivalent: \&\fBMPI_Group_compare()\fP -.SH Constructors -.PP - -.TP -.fi -.B -MPI::Group#|(grp) -Returns the union of the receiver group and grp. - -C equivalent: \&\fBMPI_Group_union()\fP - - -.TP -.fi -.B -MPI::Group#union(grp) -An alias for MPI::Group#|() - -C equivalent: \&\fBMPI_Group_union()\fP - - -.TP -.fi -.B -MPI::Group#\-(grp) -Returns the difference of the receiver group and grp. - -C equivalent: \&\fBMPI_Group_difference()\fP - - -.TP -.fi -.B -MPI::Group#difference(grp) -An alias for MPI::Group#\-() - -C equivalent: \&\fBMPI_Group_difference()\fP - - -.TP -.fi -.B -MPI::Group#&(grp) -Returns the intersection of the receiver group and grp. - -C equivalent: \&\fBMPI_Group_intersection()\fP - - -.TP -.fi -.B -MPI::Group#intersection(grp) -An alias for MPI::Group#&() - -C equivalent: \&\fBMPI_Group_intersection()\fP - - -.TP -.fi -.B -MPI::Group#incl(ary) -Returns a new group with only those ranks listed in ary - -C equivalent: \&\fBMPI_Group_incl()\fP - - -.TP -.fi -.B -MPI::Group#range_incl(ary) -Returns a new group with only those ranks in an array of ranges, -ary. ary is an array in which each element is an array of -size three, describing a range. The first element of one of these size 3 -arrays is the start of the range, the second element is the end of the -range, and the third element is the stride taken between the range -endpoints. The stride may be negative, but not zero. The ranks must be -distinct. - -C equivalent: \&\fBMPI_Group_range_incl()\fP - - -.TP -.fi -.B -MPI::Group#excl(ary) -Returns a new group with only those ranks not listed in ary - -C equivalent: \&\fBMPI_Group_excl()\fP - - -.TP -.fi -.B -MPI::Group#range_excl(ary) -Returns a new group with only those ranks not in an array of ranges, -ary. ary is an array in which each element is an array of -size three, describing a range. The first element of one of these size 3 -arrays is the start of the range, the second element is the end of the -range, and the third element is the stride taken between the range -endpoints. The stride may be negative, but not zero. The ranks must be -distinct. - -C equivalent: \&\fBMPI_Group_range_excl()\fP - diff --git a/docs/man/man3/MPI_Keyval.3 b/docs/man/man3/MPI_Keyval.3 deleted file mode 100644 index bec2e0d..0000000 --- a/docs/man/man3/MPI_Keyval.3 +++ /dev/null @@ -1,24 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi_keyval.rd 1 "July 2001" -.SH MPI::Keyval -.PP -.SH Description -.PP -A wrapper class around MPI keyvals -.SH Methods -.PP -.SH Constructors -.PP - -.TP -.fi -.B -MPI::Keyval.create(uniq) -Returns a new MPI::Keyval. If uniq is true, then the attribute -associated with a keyval will be deleted from the original communicator -to which it was attached when that communicator is duplicated. -If uniq is false, then the attribute will simply be copied to the -new communicator. - -C equivalent: \&\fBMPI_Keyval_create()\fP - diff --git a/docs/man/man3/MPI_Op.3 b/docs/man/man3/MPI_Op.3 deleted file mode 100644 index f4a173c..0000000 --- a/docs/man/man3/MPI_Op.3 +++ /dev/null @@ -1,22 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi_op.rd 1 "July 2001" -.SH MPI::Op -.PP -.SH Description -.PP -A wrapper class around MPI operators -.SH Methods -.PP -.SH Constructors -.PP - -.TP -.fi -.B -MPI::Op.create(proc, commute) -Returns a new MPI::Op based on the Proc object proc. proc -must accept two arguments. If commute is true, proc is -considered to be commutative. - -C equivalent: \&\fBMPI_Op_create()\fP - diff --git a/docs/man/man3/MPI_Request.3 b/docs/man/man3/MPI_Request.3 deleted file mode 100644 index b6f0655..0000000 --- a/docs/man/man3/MPI_Request.3 +++ /dev/null @@ -1,174 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi_request.rd 1 "July 2001" -.SH MPI::Request -.PP -.SH Description -.PP -A wrapper class around MPI requests -.SH Methods -.PP -.SH Informational Methods -.PP - -.TP -.fi -.B -MPI::Request#null?() -Returns true if the request is null. - -C equivalent: \&\fBrequest == MPI_REQUEST_NULL\fP -.SH Wait Methods -.PP - -.TP -.fi -.B -MPI::Request#wait() -Waits until the operation identified by the receiver request is complete. -If the communication object associated with this request was created by a -nonblocking send or receive call, then the request becomes null. -Returns an MPI::Status object. - -C equivalent: \&\fBMPI_Wait()\fP - - -.TP -.fi -.B -MPI::Request.waitany(ary) -Waits until any of the operations identified by the requests in the -array of requests ary is complete. If the communication object -associated with this request was created by a nonblocking send or -receive call, then the request becomes null. Returns an array of -two elements containing the index of the completed request and an -MPI::Status object, respectively. - -C equivalent: \&\fBMPI_Waitany()\fP - - -.TP -.fi -.B -MPI::Request.waitall(ary) -Waits until all of the operations identified by the requests in the -array of requests ary are complete. If the communication object -associated with any of these requests was created by a nonblocking send or -receive call, then those requests become null. Returns an array of -MPI::Status objects for each request in ary. The status of a -request is at the same index in the return array as the request index -in ary. - -C equivalent: \&\fBMPI_Waitall()\fP - - -.TP -.fi -.B -MPI::Request.waitsome(ary) -Waits until at least one of the operations identified by the requests in -the array of requests ary are complete. If the communication object -associated with any of these requests was created by a nonblocking send or -receive call, then those requests become null. Returns an array of two -elements containing an array of the completed requests and an array of -MPI::Status objects for each completed request, respectively. The status -of a request is at the same index in the return status array as the -request index in the return request array. - -C equivalent: \&\fBMPI_Waitsome()\fP -.SH Test Methods -.PP - -.TP -.fi -.B -MPI::Request#test() -Tests if the operation identified by request is complete. If the -communication object associated with this request was created by a -nonblocking send or receive call, then the request becomes null. -Returns an array of two elements containing a flag (true or false, -as the result of the test), and an MPI::Status object, respectively. -The status object should be ignored if the flag is false. - -C equivalent: \&\fBMPI_Test()\fP - - -.TP -.fi -.B -MPI::Request.testany(ary) -Tests if any of the operations identified by the requests in the -array of requests ary is complete. If the communication object -associated with this request was created by a nonblocking send or -receive call, then the request becomes null. Returns an array of -three elements containing a flag (true or false, depending on whether -any of the requests were completed), the index of the completed request, -and an MPI::Status object, respectively. The last two array elements -should be ignored if the flag is false. - -C equivalent: \&\fBMPI_Testany()\fP - - -.TP -.fi -.B -MPI::Request.testall(ary) -Tests if all of the operations identified by the requests in the -array of requests ary are complete. If the communication object -associated with any of these requests was created by a nonblocking send or -receive call, then those requests become null. Returns an array of -two elements containing a flag (true or false, depending on whether -all of the requests were completed) and an array of MPI::Status objects -for each request in ary, respectively. The status of a request is -at the same index in the return array as the request index in ary. -The status array should be ignored if the flag is false. - -C equivalent: \&\fBMPI_Testall()\fP - - -.TP -.fi -.B -MPI::Request.testsome(ary) -Equivalent to \&\fBMPI::Request#waitsome(ary)\fP except that -\&\fBMPI::Request#testsome(ary)\fP does not block. - -C equivalent: \&\fBMPI_Testsome()\fP -.SH Initiation and Cancellation -.PP - -.TP -.fi -.B -MPI::Request#cancel() -Cancels the request. Returns true. - -C equivalent: \&\fBMPI_Cancel()\fP - - -.TP -.fi -.B -MPI::Request#start() -Starts a request. Returns true. - -C equivalent: \&\fBMPI_Start()\fP - - -.TP -.fi -.B -MPI::Request.startall(ary) -Starts all the requests in the array of requests ary. Returns true. - -C equivalent: \&\fBMPI_Startall()\fP -.SH Accessors -.PP - -.TP -.fi -.B -MPI::Request#object -Returns the object associated with the request. - -C equivalent: Accessing the buffer given in the creation of the request. - diff --git a/docs/man/man3/MPI_Ruby.3 b/docs/man/man3/MPI_Ruby.3 deleted file mode 100644 index 4476d0e..0000000 --- a/docs/man/man3/MPI_Ruby.3 +++ /dev/null @@ -1,74 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi.rd 1 "July 2001" -.SH MPI -.PP -.SH Description -.PP -The module containing all MPI classes and constants -.SH Methods -.PP -.SH Informational Methods -.PP - -.TP -.fi -.B -MPI.wtime() -Returns a double precision floating\-point number that is the time in seconds -since some arbitrary point of time in the past. The point is guaranteed -not to change during the lifetime of the process. - -C equivalent: \&\fBMPI_Wtime()\fP - - -.TP -.fi -.B -MPI.wtick() -Returns a double precision floating\-point number that is the time in seconds -between successive ticks of the clock. - -C equivalent: \&\fBMPI_Wtick()\fP - - -.TP -.fi -.B -MPI.initialized?() -Returns true if MPI has been initialized. (Note that because of the -runtime system of MPI Ruby, this will always return true.) - -C equivalent: \&\fBMPI_Initialized()\fP - - -.TP -.fi -.B -MPI.processor_name() -Returns the processor name of the current processor. - -C equivalent: \&\fBMPI_Get_processor_name()\fP - - -.TP -.fi -.B -MPI.dims_create(nnodes, dims) -Returns an array containing cartesian dimensions suitable for use with -MPI::Comm#cart_create(). nnodes is an integer specifying the total -number of processes. The array dims should have length equal to -the desired number of dimensions and should contain integers. If an entry -i in dims is positive, the i\-th entry in the returned -array will be precisely dims[i]. If dims[i] is 0, the -corresponding entry in the returned array will be determined by the -method. A negative entry in dims is incorrect. - -C equivalent: \&\fBMPI_Dims_create()\fP -.SH Constants -.PP -MPI::UNDEFINED -.nf -\& An opaque value that is used by various methods to specify that a value is -\& undefined. -.fi - diff --git a/docs/man/man3/MPI_Status.3 b/docs/man/man3/MPI_Status.3 deleted file mode 100644 index 65bcc52..0000000 --- a/docs/man/man3/MPI_Status.3 +++ /dev/null @@ -1,39 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! it was generated by rd2 -.TH mpi_status.rd 1 "July 2001" -.SH MPI::Status -.PP -.SH Description -.PP -A wrapper class around MPI status -.SH Methods -.PP -.SH Informational Methods -.PP - -.TP -.fi -.B -MPI::Status#source() -Returns the source of the message to which the status object refers. - -C equivalent: \&\fBstatus\.MPI_STATUS\fP - - -.TP -.fi -.B -MPI::Status#tag() -Returns the tag of the message to which the status object refers. - -C equivalent: \&\fBstatus\.MPI_TAG\fP - - -.TP -.fi -.B -MPI::Status#cancelled?() -Returns whether or not the message to which the status object refers was -cancelled. - -C equivalent: \&\fBMPI_Test_cancelled()\fP - diff --git a/docs/man/man3/Makefile b/docs/man/man3/Makefile deleted file mode 100644 index 440d2c2..0000000 --- a/docs/man/man3/Makefile +++ /dev/null @@ -1,204 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -SHELL = /bin/sh - -srcdir = . -top_srcdir = ../../.. - -prefix = /usr/local -exec_prefix = ${prefix} - -bindir = ${exec_prefix}/bin -sbindir = ${exec_prefix}/sbin -libexecdir = ${exec_prefix}/libexec -datadir = ${prefix}/share -sysconfdir = ${prefix}/etc -sharedstatedir = ${prefix}/com -localstatedir = ${prefix}/var -libdir = ${exec_prefix}/lib -infodir = ${prefix}/info -mandir = ${prefix}/man -includedir = ${prefix}/include -oldincludedir = /usr/include -pkgdatadir = $(datadir)/mpi_ruby -pkglibdir = $(libdir)/mpi_ruby -pkgincludedir = $(includedir)/mpi_ruby -top_builddir = ../../.. - -ACLOCAL = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run aclocal -AUTOCONF = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run autoconf -AUTOMAKE = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run automake -AUTOHEADER = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run autoheader - -INSTALL = /opt/local/bin/ginstall -c -INSTALL_PROGRAM = ${INSTALL} -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_SCRIPT = ${INSTALL} -INSTALL_HEADER = $(INSTALL_DATA) -transform = s,x,x, -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = i386-apple-darwin9.1.0 -host_alias = @host_alias@ -host_triplet = i386-apple-darwin9.1.0 -target_alias = @target_alias@ -target_triplet = i386-apple-darwin9.1.0 -AMTAR = ${SHELL} /Users/abedra/Desktop/mpi_ruby-0.3/missing --run tar -AWK = gawk -CC = /usr/bin/mpicc -DEPDIR = .deps -INSTALL_STRIP_PROGRAM = ${SHELL} `CDPATH=: && cd . && pwd`/install-sh -c -s -MAX_OPS = 25 -MPICC_PATH = /usr/bin/mpicc -PACKAGE = mpi_ruby -RB_ARCH_DIR = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -RB_INCLUDE_DIR = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -RB_LIB_DIR = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -RUBY = /usr/bin/ruby -RUBY_CFLAGS = -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -RUBY_LIBS = -lruby -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -VERSION = 0.3 -_am_include = include -_am_quote = -install_sh = ./install-sh - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = MPI_Comm.3 MPI_Exception.3 MPI_Group.3 MPI_Keyval.3 MPI_Op.3 MPI_Request.3 MPI_Ruby.3 MPI_Status.3 -EXEEXT = -OBJEXT = o -subdir = docs/man/man3 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/man/man3/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/man/man3/Makefile.am b/docs/man/man3/Makefile.am deleted file mode 100644 index 0719f2d..0000000 --- a/docs/man/man3/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = MPI_Comm.3 MPI_Exception.3 MPI_Group.3 MPI_Keyval.3 MPI_Op.3 MPI_Request.3 MPI_Ruby.3 MPI_Status.3 diff --git a/docs/man/man3/Makefile.in b/docs/man/man3/Makefile.in deleted file mode 100644 index 012b3af..0000000 --- a/docs/man/man3/Makefile.in +++ /dev/null @@ -1,204 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = MPI_Comm.3 MPI_Exception.3 MPI_Group.3 MPI_Keyval.3 MPI_Op.3 MPI_Request.3 MPI_Ruby.3 MPI_Status.3 -EXEEXT = -OBJEXT = o -subdir = docs/man/man3 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/man/man3/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/rd/Makefile.am b/docs/rd/Makefile.am deleted file mode 100644 index 551e15b..0000000 --- a/docs/rd/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = mpi.rd mpi_comm.rd mpi_exception.rd mpi_group.rd mpi_keyval.rd mpi_op.rd mpi_request.rd mpi_status.rd diff --git a/docs/rd/Makefile.in b/docs/rd/Makefile.in deleted file mode 100644 index c41cd0f..0000000 --- a/docs/rd/Makefile.in +++ /dev/null @@ -1,204 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = mpi.rd mpi_comm.rd mpi_exception.rd mpi_group.rd mpi_keyval.rd mpi_op.rd mpi_request.rd mpi_status.rd -EXEEXT = -OBJEXT = o -subdir = docs/rd -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/rd/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/rd/mpi.rd b/docs/rd/mpi.rd deleted file mode 100644 index b13afc0..0000000 --- a/docs/rd/mpi.rd +++ /dev/null @@ -1,67 +0,0 @@ -# -# This file is only used for documentation. It has no functioning code! -# All of these functions are in the module MPI which is automatically -# 'required' into the mpi_ruby environment. -# - -=begin - -= MPI - -== Description - -The module containing all MPI classes and constants - -== Methods - -=== Informational Methods - ---- MPI.wtime() - - Returns a double precision floating-point number that is the time in seconds - since some arbitrary point of time in the past. The point is guaranteed - not to change during the lifetime of the process. - - C equivalent: (({MPI_Wtime()})) - ---- MPI.wtick() - - Returns a double precision floating-point number that is the time in seconds - between successive ticks of the clock. - - C equivalent: (({MPI_Wtick()})) - ---- MPI.initialized?() - - Returns true if MPI has been initialized. (Note that because of the - runtime system of MPI Ruby, this will always return true.) - - C equivalent: (({MPI_Initialized()})) - ---- MPI.processor_name() - - Returns the processor name of the current processor. - - C equivalent: (({MPI_Get_processor_name()})) - ---- MPI.dims_create(nnodes, dims) - - Returns an array containing cartesian dimensions suitable for use with - MPI::Comm#cart_create(). ((|nnodes|)) is an integer specifying the total - number of processes. The array ((|dims|)) should have length equal to - the desired number of dimensions and should contain integers. If an entry - ((|i|)) in ((|dims|)) is positive, the ((|i|))-th entry in the returned - array will be precisely ((|dims[i]|)). If ((|dims[i]|)) is 0, the - corresponding entry in the returned array will be determined by the - method. A negative entry in ((|dims|)) is incorrect. - - C equivalent: (({MPI_Dims_create()})) - -=== Constants - -((|MPI::UNDEFINED|)) - - An opaque value that is used by various methods to specify that a value is - undefined. - -=end diff --git a/docs/rd/mpi_comm.rd b/docs/rd/mpi_comm.rd deleted file mode 100644 index 2205937..0000000 --- a/docs/rd/mpi_comm.rd +++ /dev/null @@ -1,571 +0,0 @@ -# -# This file is only used for documentation. It has no functioning code! -# All of these functions are in the module MPI which is automatically -# 'required' into the mpi_ruby environment. -# - -=begin - -= MPI::Comm - -== Description - -A wrapper class around MPI communicators - -== Methods - -=== Constructors - ---- MPI::Comm#dup() - - Duplicates the communicator and returns a new communicator. - - C equivalent: (({MPI_Comm_dup()})) - ---- MPI::Comm.create(grp) - - Creates a new communicator from the ((|grp|)) (of type MPI::Group). - - C equivalent: (({MPI_Comm_create()})) - ---- MPI::Comm#split(color, key) - - Splits the receiver into new communicators indicated by ((|color|)). - ((|key|)) is used to determine ordering in the new communicators. - - C equivalent: (({MPI_Comm_split()})) - ---- MPI::Comm#intercomm_create(local_leader, peer, remote_leader, tag) - - Creates a new intercommunicator using the receiver and ((|peer|)). - - C equivalent: (({MPI_Intercomm_create()})) - ---- MPI::Comm#intercomm_merge(high) - - Creates a new intracommunicator from the two communicators of the receiver. - ((|high|)) is used to determine the ranking in the new communicator. - - C equivalent: (({MPI_Intercomm_merge()})) - -==== Topology Constructors - ---- MPI::Comm#cart_create(dims, periods, reorder) - - Creates a new communicator to which cartesian topology information is - attached. ((|dims|)) is an array specifying the number of processes in - each dimension. ((|periods|)) is an array of logical values specifying - whether the grid is periodic or not in each dimension. ((|reorder|)) is - a logical value indicating whether the processes may be reordered in the - new topology. - - C equivalent: (({MPI_Cart_create()})) - ---- MPI::Comm#graph_create(index, edges, reorder) - - Creates a new communicator to which graph topology information is - attached. ((|index|)) is an array in which the ((|i|))-th entry is the - the total number of neighbors of the first ((|i|)) nodes. ((|edges|)) - is a flattened array of the edge lists for nodes 0, 1, ...(({index.length})) - ((|reorder|)) is a logical value indicating whether the processes may - be reordered in the new topology. - - C equivalent: (({MPI_Graph_create()})) - -=== Attributes - ---- MPI::Comm#attr_put(keyval, obj) - - Sets the attribute associated with MPI::Keyval ((|keyval|)) and the - receiver communicator to ((|obj|)). Returns true. - - C equivalent: (({MPI_Attr_put()})) - ---- MPI::Comm#attr_get(keyval) - - Returns the object attribute associated with MPI::Keyval ((|keyval|)) and - the receiver communicator if one exists and nil otherwise. - - C equivalent: (({MPI_Attr_get()})) - ---- MPI::Comm#attr_delete(keyval) - - Deletes the object attribute associated with MPI::Keyval ((|keyval|)) and - the receiver communicator if one exists. Returns true. - - C equivalent: (({MPI_Attr_delete()})) - -=== Informational Methods - ---- MPI::Comm#size() - - Returns the size of the communicator. - - C equivalent: (({MPI_Comm_size()})) - ---- MPI::Comm#rank() - - Returns the rank of the current process within the communicator. - - C equivalent: (({MPI_Comm_rank()})) - ---- MPI::Comm#group() - - Returns a handle to the group of the receiver communicator. - - C equivalent: (({MPI_Comm_group()})) - ---- MPI::Comm#inter?() - - Returns true if the receiver is an intercommunicator. - - C equivalent: (({MPI_Comm_test_inter()})) - ---- MPI::Comm#remote_size() - - Returns the size of the remote communicator of the intercommunicator. - - C equivalent: (({MPI_Comm_remote_size()})) - ---- MPI::Comm#remote_group() - - Returns the remote group communicator of the intercommunicator. - - C equivalent: (({MPI_Comm_remote_group()})) - -==== Topology Specific Information Methods - ---- MPI::Comm#topo_test() - - Returns MPI::Comm.GRAPH if the topology associated with the receiver - communicator is a graph, MPI::Comm.CART if the topology is cartesian, and - MPI::UNDEFINED if there is no associated topology. - - C equivalent: (({MPI_Topo_test()})) - ---- MPI::Comm#graphdims() - - Returns an array of two elements: the first being an integer describing the - number of nodes and the second being an integer describing the number of - edges in the graph topology. - - C equivalent: (({MPI_Graphdims_get()})) - ---- MPI::Comm#graphdims_get() - - An alias for MPI::Comm#graphdims(). - - C equivalent: (({MPI_Graphdims_get()})) - ---- MPI::Comm#graph() - - Returns an array of two elements containing the arrays ((|index|)) and - ((|edges|)) as given to the MPI::Comm#graph_create() method, respectively. - - C equivalent: (({MPI_Graph_get()})) - ---- MPI::Comm#graph_get() - - An alias for MPI::Comm#graph() - - C equivalent: (({MPI_Graph_get()})) - ---- MPI::Comm#cartdim() - - Returns the number of dimensions in the cartesian topology attached to the - receiver. - - C equivalent: (({MPI_Cartdim_get()})) - ---- MPI::Comm#cartdim_get() - - An alias for MPI::Comm#cartdim(). - - C equivalent: (({MPI_Cartdim_get()})) - ---- MPI::Comm#cart() - - Returns an array of 3 elements containing a ((|dims|)) array, ((|periods|)) - array, and ((|coords|)) array as given to cart_create(). - - C equivalent: (({MPI_Cart_get()})) - ---- MPI::Comm#cart_get() - - An alias for MPI::Comm#cart() - - C equivalent: (({MPI_Cart_get()})) - ---- MPI::Comm#cart_rank(coords) - - Returns the rank of the process at the coordinates given in the array - ((|coords|)). - - C equivalent: (({MPI_Cart_rank()})) - ---- MPI::Comm#cart_coords(rank) - - Returns an array of the coordinates of the process specified by ((|rank|)). - - C equivalent: (({MPI_Cart_coords()})) - ---- MPI::Comm#graph_neigbhors_count(rank) - - Returns an integer specifying the number of neighbors of the process - specified by ((|rank|)). - - C equivalent: (({MPI_Graph_neighbors_count()})) - ---- MPI::Comm#graph_neigbhors(rank) - - Returns an array of the ranks of the neighbors of the process specified - by ((|rank|)). - - C equivalent: (({MPI_Graph_neighbors()})) - ---- MPI::Comm#cart_shift(dir, disp) - - Returns an array of two elements containing the rank of the source process - and the rank of the destination process, respectively, as might be used - in MPI::Comm#sendrecv(). ((|dir|)) indicates the direction of the shift - and ((|disp|)) indicates the displacement. - - C equivalent: (({MPI_Cart_shift()})) - ---- MPI::Comm#cart_map(dims, periods) - - Returns an integer specifying the optimal placement for the calling - process on the physical machine. ((|dims|)) and ((|periods|)) are as for - MPI::Comm#cart_create(). - - C equivalent: (({MPI_Cart_map()})) - ---- MPI::Comm#graph_map(index, edges) - - Returns an integer specifying the optimal placement for the calling - process on the physical machine. ((|index|)) and ((|edges|)) are as for - MPI::Comm#graph_create() - - C equivalent: (({MPI_Graph_map()})) - -=== Point-to-Point Communications - ---- MPI::Comm#send(obj, dest, tag) - - Sends object ((|obj|)) to process ((|dest|)) within the communicator with - tag ((|tag|)). Returns true on success. - - C equivalent: (({MPI_Send()})) - ---- MPI::Comm#recv(src, tag) - - Receives an object from process ((|src|)) within the communicator with tag - ((|tag|)). Returns an array of two elements containing the object - received and an MPI::Status object, respectively. - - C equivalent: (({MPI_Recv()})) - ---- MPI::Comm#bsend(obj, dest, tag) - - Sends object ((|obj|)) to process ((|dest|)) within the communicator with - tag ((|tag|)). Buffering is used (see (())). - Returns true on success. - - C equivalent: (({MPI_Bsend()})) - ---- MPI::Comm#ssend(obj, dest, tag) - - Sends object ((|obj|)) to process ((|dest|)) within the communicator with - tag ((|tag|)) synchronously. Returns true on success. - - C equivalent: (({MPI_Ssend()})) - ---- MPI::Comm#rsend(obj, dest, tag) - - Sends object ((|obj|)) to process ((|dest|)) within the communicator with - tag ((|tag|)) with the assumption that the receiver has already begun a - receiving call. - Returns true on success. - - C equivalent: (({MPI_Rsend()})) - ---- MPI::Comm#sendrecv(obj, dest, dtag, src, stag) - - Sends object ((|obj|)) to process ((|dest|)) within the communicator with - tag ((|dtag|)) and simultaneously starts a receive from process ((|src|)) - with tag ((|stag|)). Returns an array of two elements containing the - object received and an MPI::Status object, respectively. - - C equivalent: (({MPI_Sendrecv()})) - -==== Non-blocking Point-to-Point Communications - ---- MPI::Comm#isend(obj, dest, tag) - - Performs a non-blocking send of object ((|obj|)) to process ((|dest|)) - within the communicator with tag ((|tag|)). Returns a new MPI::Request - object. - - C equivalent: (({MPI_Isend()})) - ---- MPI::Comm#irecv(src, tag) - - Performs a non-blocking receive of an object from process ((|src|)) within - the communicator with tag ((|tag|)). Returns a new MPI::Request object. - - C equivalent: (({MPI_Irecv()})) - ---- MPI::Comm#ibsend(obj, dest, tag) - - Performs a non-blocking send of object ((|obj|)) to process ((|dest|)) - within the communicator with tag ((|tag|)). Buffering is used - (see (())). Returns a new MPI::Request - object. - - C equivalent: (({MPI_Ibsend()})) - ---- MPI::Comm#issend(obj, dest, tag) - - Performs a non-blocking, synchronous send of object ((|obj|)) to process - ((|dest|)) within the communicator with tag ((|tag|)) tag ((|tag|)) - syncronously. Returns a new MPI::Request object. - - C equivalent: (({MPI_Issend()})) - ---- MPI::Comm#irsend(obj, dest, tag) - - Performs a non-blocking send of object ((|obj|)) to process ((|dest|)) - within the communicator with tag ((|tag|)) with the assumption that the - receiver has already begun a receiving call. Returns a new MPI::Request - object. - - C equivalent: (({MPI_Irsend()})) - -==== Persistent Communications - ---- MPI::Comm#send_init(obj, dest, tag) - - Sets up a persistent send of object ((|obj|)) to process ((|dest|)) - within the communicator with tag ((|tag|)). Returns a new MPI::Request - object. - - C equivalent: (({MPI_Send_init()})) - ---- MPI::Comm#recv_init(src, tag) - - Sets up a persistent receive of an object from process ((|src|)) within - the communicator with tag ((|tag|)). Returns a new MPI::Request object. - - C equivalent: (({MPI_Recv_init()})) - ---- MPI::Comm#bsend_init(obj, dest, tag) - - Sets up a persistent send of object ((|obj|)) to process ((|dest|)) - within the communicator with tag ((|tag|)). Buffering is used - (see (())). Returns a new MPI::Request - object. - - C equivalent: (({MPI_Bsend_init()})) - ---- MPI::Comm#ssend_init(obj, dest, tag) - - Sets up a persistent, synchronous send of object ((|obj|)) to process - ((|dest|)) within the communicator with tag ((|tag|)) tag ((|tag|)) - syncronously. Returns a new MPI::Request object. - - C equivalent: (({MPI_Ssend_init()})) - ---- MPI::Comm#rsend_init(obj, dest, tag) - - Sets up a persistent send of object ((|obj|)) to process ((|dest|)) - within the communicator with tag ((|tag|)) with the assumption that the - receiver has already begun a receiving call. Returns a new MPI::Request - object. - - C equivalent: (({MPI_Rsend_init()})) - -=== Buffering Methods - ---- MPI::Comm#buffer_for(ary) - - Sets up buffering on the receiver communicator to account for the objects - in the array ((|ary|)). Returns true. - - C equivalent: (({MPI_Buffer_attach()})) - ---- MPI::Comm#unbuffer() - - Removes the buffer associated with the receiver communicator. Returns - true. - - C equivalent: (({MPI_Buffer_detach()})) - -=== Collective Operations - ---- MPI::Comm#barrier() - - Performs a barrier operation on the communicator. - - C equivalent: (({MPI_Barrier()})) - ---- MPI::Comm#bcast(obj, root) - - Broadcasts ((|obj|)) from process ((|root|)) to all other processes. - The value of ((|obj|)) is irrelevant for all processes other than - ((|root|)). Returns a copy of ((|obj|)) all processes other than ((|root|)) - and ((|obj|)) itself on process ((|root|)). - - C equivalent: (({MPI_Bcast})) - ---- MPI::Comm#gather(obj, root) - - Gathers ((|obj|)) from all processes in the communicator into an array - and returns this array at process ((|root|)). Given a rank ((|r|)), the - ((|r|))-th element of the array is a copy of ((|obj|)) on process ((|r|)). - Returns true on all processes other than ((|root|)). - - C equivalent: (({MPI_Gather(), MPI_Gatherv()})) - ---- MPI::Comm#allgather(obj) - - Gathers ((|obj|)) from all processes in the communicator into an array - and returns this array at all processes. Given a rank ((|r|)), the - ((|r|))-th element of the array is a copy of ((|obj|)) on process ((|r|)). - - C equivalent: (({MPI_Allgather(), MPI_Allgatherv()})) - ---- MPI::Comm#scatter(ary, root) - - Scatters the contents of the array ((|ary|)) on the process with rank - ((|root|)) to all processes in the communicator. The array must have - length equal to the number of processes in the communicator. Returns - the ((|i|))-th object in ((|ary|)) at the ((|i|))-th process. - - C equivalent: (({MPI_Scatter()})) - ---- MPI::Comm#alltoall(ary) - - Scatters the contents of the array ((|ary|)) on every process to all - processes in the communicator. The array must have length equal to - the number of processes in the communicator. Returns an array on each - process where the ((|i|))-th object in the array on the ((|j|))-th - process is ((|j|))-th object in ((|ary|)) at the ((|i|))-th process. - - C equivalent: (({MPI_Alltoall()})) - ---- MPI::Comm#reduce(obj, op, root) - - Reduces the object ((|obj|)) given using the MPI::Op ((|op|)) and returns - the result of the reduction on the process with rank ((|root|)). On all - other processes, the method returns true. If ((|obj|)) is an array, it - must have the same length on all processes and the operation is applied - to each object in the array. To perform an operation on an array, pass - an array of the array to which the operation will be applied. - - C equivalent: (({MPI_Reduce()})) - ---- MPI::Comm#allreduce(obj, op) - - Reduces the object ((|obj|)) given using the MPI::Op ((|op|)) and returns - the result of the reduction to all processes. If ((|obj|)) is an array, - it must have the same length on all processes and the operation is applied - to each object in the array. To perform an operation on an array, pass - an array of the array to which the operation will be applied. - - C equivalent: (({MPI_Allreduce()})) - ---- MPI::Comm#scan(obj, op) - - At each process ((|i|)), returns the value of a reduction on processes - 0...((|i|)), inclusively. If ((|obj|)) is an array, it must have the same - length on all processes and the operation is applied to each object in the - array. To perform an operation on an array, pass an array of the array - to which the operation will be applied. - - C equivalent: (({MPI_Scan()})) - ---- MPI::Comm#reduce_scatter(ary, counts, op) - - Performs an element-wise reduction on ((|ary|)) with MPI::Op ((|op|)) - and scatters the result according to the array ((|counts|)). Process 0 - receives an array of the first ((|counts[0]|)) elements of the result of - the reduction, process 1 receives an array of the next ((|counts[1]|)) - elements of the result of the reduction, and so on. ((|ary|)) must have - the same length on all processes and this length must equal the sum of - the values in ((|counts|)). - - C equivalent: (({MPI_Reduce_scatter()})) - -=== Probing - ---- MPI::Comm#probe(src, tag) - - Blocks until a message is available from process ((|src|)) with tag - ((|tag|)). Returns a new MPI::Status object. - - C equivalent: (({MPI_Probe()})) - ---- MPI::Comm#iprobe(src, tag) - - Returns an array of two elements. The first element is a flag which - is true if there is a message from the given source ((|src|)) with the - given ((|tag|)). If the flag is true, then the second element of the - return array is a new MPI::Status object. If the flag is false, the - second element of the return array is to be ignored. - - C equivalent: (({MPI_Iprobe()})) - -=== Comparison - ---- MPI::Comm#==(comm) - - Returns true if the receiver and the given communicator ((|comm|)) are - the same communicator. Returns false otherwise. - - C equivalent: (({MPI_Comm_compare()})) - ---- MPI::Comm#congruent?(comm) - - Returns true if the receiver and the given communicator ((|comm|)) are - precisely congruent. Returns false otherwise. - - C equivalent: (({MPI_Comm_compare()})) - ---- MPI::Comm#similar?(comm) - - Returns true if the receiver and the given communicator ((|comm|)) are - precisely similar. Returns false otherwise. - - C equivalent: (({MPI_Comm_compare()})) - -=== Abortive Methods - ---- MPI::Comm#abort(errorcode) - - Aborts the MPI program with the given error code. - - C equivalent: (({MPI_Abort()})) - -== Constants - -((|MPI::Comm.ANY_TAG|)) - - A value which may be passed to any method expecting a tag. It specifies - that any tag will match in that call. - -((|MPI::Comm.ANY_SOURCE|)) - - A value which may be passed to any method expecting a source rank. It - specifies that any source rank will match in that call. - -== Notes - -The MPI binding to Ruby is intended solely for Single Program, Multiple Data -(SPMD) parallel computations. Thus, none of these communication methods can -be intermixed with MPI programs written in other languages. - -Because of the Multiple Data aspect, sending objects should be viewed as -creating a copy of the original object on the recipient process. There are -no remote method invocation concepts explicitly supported in this binding. - -=end diff --git a/docs/rd/mpi_exception.rd b/docs/rd/mpi_exception.rd deleted file mode 100644 index 3681ccc..0000000 --- a/docs/rd/mpi_exception.rd +++ /dev/null @@ -1,13 +0,0 @@ -# -# This file is only used for documentation. It has no functioning code! -# All of these functions are in the module MPI which is automatically -# 'required' into the mpi_ruby environment. -# - -=begin - -= MPI::Exception - -== Description - -An exception class used for passing back MPI errors diff --git a/docs/rd/mpi_group.rd b/docs/rd/mpi_group.rd deleted file mode 100644 index 9e3d682..0000000 --- a/docs/rd/mpi_group.rd +++ /dev/null @@ -1,127 +0,0 @@ -# -# This file is only used for documentation. It has no functioning code! -# All of these functions are in the module MPI which is automatically -# 'required' into the mpi_ruby environment. -# - -=begin - -= MPI::Group - -== Description - -A wrapper class around MPI groups - -== Methods - -=== Constructors - -=== Informational Methods - ---- MPI::Group#size() - - Returns the size of the group. - - C equivalent: (({MPI_Group_size()})) - ---- MPI::Group#rank() - - Returns the rank of the current process within the communicator. - - C equivalent: (({MPI_Comm_rank()})) - ---- MPI::Group#translate_ranks(ary, grp) - - Translates the group rankings listed in ((|ary|)) for the receiver group - into rankings in ((|grp|)). The new rankings are returned in an array, - ordered respectively to ((|ary|)). If any of the rankings in ((|ary|)) - do not correspond to a ranking in ((|grp|)), the corresponding entry in - the return array is (({MPI::UNDEFINED})). - - C equivalent: (({MPI_Group_translate_ranks()})) - ---- MPI::Group#==(grp) - - Returns true if the receiver and ((|grp|)) are precisely equal. - - C equivalent: (({MPI_Group_compare()})) - ---- MPI::Group#similar?(grp) - - Returns true if the receiver and ((|grp|)) are precisely similar. - - C equivalent: (({MPI_Group_compare()})) - -=== Constructors - ---- MPI::Group#|(grp) - - Returns the union of the receiver group and ((|grp|)). - - C equivalent: (({MPI_Group_union()})) - ---- MPI::Group#union(grp) - - An alias for MPI::Group#|() - - C equivalent: (({MPI_Group_union()})) - ---- MPI::Group#-(grp) - - Returns the difference of the receiver group and ((|grp|)). - - C equivalent: (({MPI_Group_difference()})) - ---- MPI::Group#difference(grp) - - An alias for MPI::Group#-() - - C equivalent: (({MPI_Group_difference()})) - ---- MPI::Group#&(grp) - - Returns the intersection of the receiver group and ((|grp|)). - - C equivalent: (({MPI_Group_intersection()})) - ---- MPI::Group#intersection(grp) - - An alias for MPI::Group#&() - - C equivalent: (({MPI_Group_intersection()})) - ---- MPI::Group#incl(ary) - - Returns a new group with only those ranks listed in ((|ary|)) - - C equivalent: (({MPI_Group_incl()})) - ---- MPI::Group#range_incl(ary) - - Returns a new group with only those ranks in an array of ranges, - ((|ary|)). ((|ary|)) is an array in which each element is an array of - size three, describing a range. The first element of one of these size 3 - arrays is the start of the range, the second element is the end of the - range, and the third element is the stride taken between the range - endpoints. The stride may be negative, but not zero. The ranks must be - distinct. - - C equivalent: (({MPI_Group_range_incl()})) - ---- MPI::Group#excl(ary) - - Returns a new group with only those ranks not listed in ((|ary|)) - - C equivalent: (({MPI_Group_excl()})) - ---- MPI::Group#range_excl(ary) - - Returns a new group with only those ranks not in an array of ranges, - ((|ary|)). ((|ary|)) is an array in which each element is an array of - size three, describing a range. The first element of one of these size 3 - arrays is the start of the range, the second element is the end of the - range, and the third element is the stride taken between the range - endpoints. The stride may be negative, but not zero. The ranks must be - distinct. - - C equivalent: (({MPI_Group_range_excl()})) diff --git a/docs/rd/mpi_keyval.rd b/docs/rd/mpi_keyval.rd deleted file mode 100644 index cfd5d4d..0000000 --- a/docs/rd/mpi_keyval.rd +++ /dev/null @@ -1,27 +0,0 @@ -# -# This file is only used for documentation. It has no functioning code! -# All of these functions are in the module MPI which is automatically -# 'required' into the mpi_ruby environment. -# - -=begin - -= MPI::Keyval - -== Description - -A wrapper class around MPI keyvals - -== Methods - -=== Constructors - ---- MPI::Keyval.create(uniq) - - Returns a new MPI::Keyval. If ((|uniq|)) is true, then the attribute - associated with a keyval will be deleted from the original communicator - to which it was attached when that communicator is duplicated. - If ((|uniq|)) is false, then the attribute will simply be copied to the - new communicator. - - C equivalent: (({MPI_Keyval_create()})) diff --git a/docs/rd/mpi_op.rd b/docs/rd/mpi_op.rd deleted file mode 100644 index 83227b1..0000000 --- a/docs/rd/mpi_op.rd +++ /dev/null @@ -1,25 +0,0 @@ -# -# This file is only used for documentation. It has no functioning code! -# All of these functions are in the module MPI which is automatically -# 'required' into the mpi_ruby environment. -# - -=begin - -= MPI::Op - -== Description - -A wrapper class around MPI operators - -== Methods - -=== Constructors - ---- MPI::Op.create(proc, commute) - - Returns a new MPI::Op based on the Proc object ((|proc|)). ((|proc|)) - must accept two arguments. If ((|commute|)) is true, ((|proc|)) is - considered to be commutative. - - C equivalent: (({MPI_Op_create()})) diff --git a/docs/rd/mpi_request.rd b/docs/rd/mpi_request.rd deleted file mode 100644 index ed1b6fa..0000000 --- a/docs/rd/mpi_request.rd +++ /dev/null @@ -1,134 +0,0 @@ -# -# This file is only used for documentation. It has no functioning code! -# All of these functions are in the module MPI which is automatically -# 'required' into the mpi_ruby environment. -# - -=begin - -= MPI::Request - -== Description - -A wrapper class around MPI requests - -== Methods - -=== Informational Methods - ---- MPI::Request#null?() - Returns true if the request is null. - - C equivalent: (({request == MPI_REQUEST_NULL})) - -=== Wait Methods - ---- MPI::Request#wait() - Waits until the operation identified by the receiver request is complete. - If the communication object associated with this request was created by a - nonblocking send or receive call, then the request becomes null. - Returns an MPI::Status object. - - C equivalent: (({MPI_Wait()})) - ---- MPI::Request.waitany(ary) - Waits until any of the operations identified by the requests in the - array of requests ((|ary|)) is complete. If the communication object - associated with this request was created by a nonblocking send or - receive call, then the request becomes null. Returns an array of - two elements containing the index of the completed request and an - MPI::Status object, respectively. - - C equivalent: (({MPI_Waitany()})) - ---- MPI::Request.waitall(ary) - Waits until all of the operations identified by the requests in the - array of requests ((|ary|)) are complete. If the communication object - associated with any of these requests was created by a nonblocking send or - receive call, then those requests become null. Returns an array of - MPI::Status objects for each request in ((|ary|)). The status of a - request is at the same index in the return array as the request index - in ((|ary|)). - - C equivalent: (({MPI_Waitall()})) - ---- MPI::Request.waitsome(ary) - Waits until at least one of the operations identified by the requests in - the array of requests ((|ary|)) are complete. If the communication object - associated with any of these requests was created by a nonblocking send or - receive call, then those requests become null. Returns an array of two - elements containing an array of the completed requests and an array of - MPI::Status objects for each completed request, respectively. The status - of a request is at the same index in the return status array as the - request index in the return request array. - - C equivalent: (({MPI_Waitsome()})) - -=== Test Methods - ---- MPI::Request#test() - Tests if the operation identified by request is complete. If the - communication object associated with this request was created by a - nonblocking send or receive call, then the request becomes null. - Returns an array of two elements containing a flag (true or false, - as the result of the test), and an MPI::Status object, respectively. - The status object should be ignored if the flag is false. - - C equivalent: (({MPI_Test()})) - ---- MPI::Request.testany(ary) - Tests if any of the operations identified by the requests in the - array of requests ((|ary|)) is complete. If the communication object - associated with this request was created by a nonblocking send or - receive call, then the request becomes null. Returns an array of - three elements containing a flag (true or false, depending on whether - any of the requests were completed), the index of the completed request, - and an MPI::Status object, respectively. The last two array elements - should be ignored if the flag is false. - - C equivalent: (({MPI_Testany()})) - ---- MPI::Request.testall(ary) - Tests if all of the operations identified by the requests in the - array of requests ((|ary|)) are complete. If the communication object - associated with any of these requests was created by a nonblocking send or - receive call, then those requests become null. Returns an array of - two elements containing a flag (true or false, depending on whether - all of the requests were completed) and an array of MPI::Status objects - for each request in ((|ary|)), respectively. The status of a request is - at the same index in the return array as the request index in ((|ary|)). - The status array should be ignored if the flag is false. - - C equivalent: (({MPI_Testall()})) - ---- MPI::Request.testsome(ary) - Equivalent to (({MPI::Request#waitsome(ary)})) except that - (({MPI::Request#testsome(ary)})) does not block. - - C equivalent: (({MPI_Testsome()})) - -=== Initiation and Cancellation - ---- MPI::Request#cancel() - Cancels the request. Returns true. - - C equivalent: (({MPI_Cancel()})) - ---- MPI::Request#start() - Starts a request. Returns true. - - C equivalent: (({MPI_Start()})) - ---- MPI::Request.startall(ary) - Starts all the requests in the array of requests ((|ary|)). Returns true. - - C equivalent: (({MPI_Startall()})) - -=== Accessors - ---- MPI::Request#object - Returns the object associated with the request. - - C equivalent: Accessing the buffer given in the creation of the request. - -=end diff --git a/docs/rd/mpi_status.rd b/docs/rd/mpi_status.rd deleted file mode 100644 index 8c5b36d..0000000 --- a/docs/rd/mpi_status.rd +++ /dev/null @@ -1,37 +0,0 @@ -# -# This file is only used for documentation. It has no functioning code! -# All of these functions are in the module MPI which is automatically -# 'required' into the mpi_ruby environment. -# - -=begin - -= MPI::Status - -== Description - -A wrapper class around MPI status - -== Methods - -=== Informational Methods - ---- MPI::Status#source() - - Returns the source of the message to which the status object refers. - - C equivalent: (({status.MPI_STATUS})) - ---- MPI::Status#tag() - - Returns the tag of the message to which the status object refers. - - C equivalent: (({status.MPI_TAG})) - ---- MPI::Status#cancelled?() - - Returns whether or not the message to which the status object refers was - cancelled. - - C equivalent: (({MPI_Test_cancelled()})) - diff --git a/examples/Makefile.am b/examples/Makefile.am deleted file mode 100644 index b2ced39..0000000 --- a/examples/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = allgather.rb allreduce.rb basic.rb bcast.rb gather.rb hello.rb irecv.rb reduce.rb rpi.rb red.rb redsubmit.rb redhalt.rb op.rb diff --git a/examples/Makefile.in b/examples/Makefile.in deleted file mode 100644 index 640f9e5..0000000 --- a/examples/Makefile.in +++ /dev/null @@ -1,204 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign dist-shar dist-tarZ dist-zip dist-bzip2 -EXTRA_DIST = allgather.rb allreduce.rb basic.rb bcast.rb gather.rb hello.rb irecv.rb reduce.rb rpi.rb red.rb redsubmit.rb redhalt.rb op.rb -EXEEXT = -OBJEXT = o -subdir = examples -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign examples/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/examples/allgather.rb b/examples/allgather.rb deleted file mode 100644 index 1eb5906..0000000 --- a/examples/allgather.rb +++ /dev/null @@ -1,6 +0,0 @@ -hello = "Hello, I'm #{MPI::Comm::WORLD.rank()}" - -ary = MPI::Comm::WORLD.allgather(hello) -ary.each_with_index do |msg, i| - print "#{MPI::Comm::WORLD.rank()}: #{i} said '#{msg}'\n" -end diff --git a/examples/allreduce.rb b/examples/allreduce.rb deleted file mode 100644 index c10842d..0000000 --- a/examples/allreduce.rb +++ /dev/null @@ -1,5 +0,0 @@ -printf("Hello, I am %d of %d\n", MPI::Comm::WORLD.rank(), MPI::Comm::WORLD.size()) - -$rank = MPI::Comm::WORLD.rank() -$sum = MPI::Comm::WORLD.allreduce($rank, MPI::Op::SUM) -puts "sum of the ranks = #{$sum}" diff --git a/examples/basic.rb b/examples/basic.rb deleted file mode 100644 index 1d7b8ba..0000000 --- a/examples/basic.rb +++ /dev/null @@ -1,12 +0,0 @@ -myrank = MPI::Comm::WORLD.rank() -csize = MPI::Comm::WORLD.size() - -if myrank % 2 == 0 then - if myrank + 1 != csize then - hello = "Hello, I'm #{myrank}, you must be #{myrank+1}" - MPI::Comm::WORLD.send(hello, myrank + 1, 0) - end -else - msg, status = MPI::Comm::WORLD.recv(myrank - 1, 0) - puts "I'm #{myrank} and this message came from #{status.source} with tag #{status.tag}: '#{msg}'" -end diff --git a/examples/bcast.rb b/examples/bcast.rb deleted file mode 100644 index 12aa45d..0000000 --- a/examples/bcast.rb +++ /dev/null @@ -1,14 +0,0 @@ -printf("Hello, I am %d of %d\n", MPI::Comm::WORLD.rank(), MPI::Comm::WORLD.size()) - -hello = "Hello" - -case MPI::Comm::WORLD.rank() - when 0 - printf("I'm 0 and I'm sending this message: '%s'\n", hello) - MPI::Comm::WORLD.bcast(hello, 0) - else - msg = MPI::Comm::WORLD.bcast(nil, 0) - printf("I'm %d and I got this message: '%s'\n", MPI::Comm::WORLD.rank(), - msg) -end - diff --git a/examples/gather.rb b/examples/gather.rb deleted file mode 100644 index 185a9e7..0000000 --- a/examples/gather.rb +++ /dev/null @@ -1,12 +0,0 @@ -hello = "Hello" - -case MPI::Comm::WORLD.rank() - when 0 - ary = MPI::Comm::WORLD.gather(hello, 0) - ary.each_with_index do |msg, i| - print "#{i} said: '#{msg}'\n" - end - else - hello += ", I'm #{MPI::Comm::WORLD.rank()}" - MPI::Comm::WORLD.gather(hello, 0) -end diff --git a/examples/hello.rb b/examples/hello.rb deleted file mode 100644 index fd24f36..0000000 --- a/examples/hello.rb +++ /dev/null @@ -1 +0,0 @@ -printf("Hello, I am %d of %d\n", MPI::Comm::WORLD.rank(), MPI::Comm::WORLD.size()) diff --git a/examples/irecv.rb b/examples/irecv.rb deleted file mode 100644 index 954705a..0000000 --- a/examples/irecv.rb +++ /dev/null @@ -1,21 +0,0 @@ -hello = "Hello" - -case MPI::Comm::WORLD.rank() - when 0 - printf("I'm 0 and I'm sending this message: '%s'\n", hello) - MPI::Comm::WORLD.send(hello, 1, 0) - when 1 - req = MPI::Comm::WORLD.irecv(0, 0) - printf("I'm 1 and I started a receive...\n") - printf("Now I'm going to sleep for 2 seconds\n") - sleep 2 - printf("Let's see if the message is ready...") - testval = req.test - if (testval[0] == true) - printf("yes\n") - else - printf("no\n") - end - req.wait - printf("Ok, it's here: '%s'\n", req.object) -end diff --git a/examples/op.rb b/examples/op.rb deleted file mode 100644 index f726769..0000000 --- a/examples/op.rb +++ /dev/null @@ -1,23 +0,0 @@ -# User-defined operation example - -$union = MPI::Op.create(Proc.new {|a, b| a | b}, true) - -$rank = MPI::Comm::WORLD.rank -# Note that since we are passing an array in to be reduced, the allreduce -# assumes that we intend to give a list of things to be reduced, so this -# must be done by an array of an array of 1 element -$rankary = [[$rank]] - -$rankary = MPI::Comm::WORLD.allreduce($rankary, $union) - -class Array - def to_s - s = "[" - self.each { |e| - s += e.to_s + ", " - } - s = s[0...-2] - s += "]" - end -end -puts "#{$rank}: #{$rankary}" diff --git a/examples/red.rb b/examples/red.rb deleted file mode 100644 index fba049c..0000000 --- a/examples/red.rb +++ /dev/null @@ -1,57 +0,0 @@ -# The Ruby Execution Daemon (red) for MPI Programs -# Original idea by Rob Ross - -require "socket" - -MAXPACKET = 100 -$rank = MPI::Comm::WORLD.rank - -if ($rank == 0) - sockname = "/tmp/red.#{`whoami`.strip}" - begin - sock = UNIXServer.new(sockname) - rescue Errno::EADDRINUSE - puts "Error: Socket #{sockname} already in use!" - MPI::Comm::WORLD.abort - end - while true do - cxn = sock.accept - code = "" - while packet = cxn.recv(MAXPACKET) do - code += packet - if packet.length < MAXPACKET then - break - end - end - cxn.close - - MPI::Comm::WORLD.bcast(code, 0) - - if code == "shutdown" then - File.delete(sockname) - exit 0 - end - - # Create a new module to sandbox off the namespace - mod = Module.new - mod.module_eval code - - # Clean up after every job - GC.start - end -else - while true do - code = MPI::Comm::WORLD.bcast(nil, 0) - - if code == "shutdown" then - exit 0 - end - - # Create a new module to sandbox off the namespace - mod = Module.new - mod.module_eval code - - # Clean up after every job - GC.start - end -end diff --git a/examples/redhalt.rb b/examples/redhalt.rb deleted file mode 100644 index add6c10..0000000 --- a/examples/redhalt.rb +++ /dev/null @@ -1,8 +0,0 @@ -# Ruby Execution Daemon (red) for MPI Programs shutdown program -# Original idea by Rob Ross - -require "socket" - -sock = UNIXSocket.open("/tmp/red.#{`whoami`.strip}") - -sock.send("shutdown", 0) diff --git a/examples/redsubmit.rb b/examples/redsubmit.rb deleted file mode 100644 index 56c3dfb..0000000 --- a/examples/redsubmit.rb +++ /dev/null @@ -1,14 +0,0 @@ -# Ruby Execution Daemon (red) for MPI Programs submitter -# Original idea by Rob Ross - -if ARGV.length < 1 then - puts "usage: ruby redsubmit.rb [ ...]" -end - -require "socket" - -sock = UNIXSocket.open("/tmp/red.#{`whoami`.strip}") - -ARGV.each { |script| - sock.send(File.new(script).read, 0) -} diff --git a/examples/reduce.rb b/examples/reduce.rb deleted file mode 100644 index dec30f6..0000000 --- a/examples/reduce.rb +++ /dev/null @@ -1,7 +0,0 @@ -printf("Hello, I am %d of %d\n", MPI::Comm::WORLD.rank(), MPI::Comm::WORLD.size()) - -$rank = MPI::Comm::WORLD.rank() -$sum = MPI::Comm::WORLD.reduce($rank, MPI::Op::SUM, 0) -if $rank == 0 - puts "sum of the ranks = #{$sum}" -end diff --git a/examples/rpi.rb b/examples/rpi.rb deleted file mode 100644 index b8177e2..0000000 --- a/examples/rpi.rb +++ /dev/null @@ -1,24 +0,0 @@ -# Parallel computation of pi in Ruby - -PI25DT = 3.141592653589793238462643 -NINTERVALS = 10000 - -$rank = MPI::Comm::WORLD.rank() -$size = MPI::Comm::WORLD.size() - -$startwtime = MPI.wtime() -$h = 1.0 / NINTERVALS -$sum = 0.0 -($rank + 1).step(NINTERVALS, $size) do |i| - x = $h * (i - 0.5) - $sum += (4.0 / (1.0 + x**2)) -end -mypi = $h * $sum - -$pi = MPI::Comm::WORLD.reduce(mypi, MPI::Op::SUM, 0) - -if $rank == 0 then - printf "pi is ~= %.16f, error = %.16f\n", $pi, ($pi - PI25DT).abs - $endwtime = MPI.wtime() - puts "wallclock time = #{$endwtime-$startwtime}" -end diff --git a/install-sh b/install-sh deleted file mode 100755 index e9de238..0000000 --- a/install-sh +++ /dev/null @@ -1,251 +0,0 @@ -#!/bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). -# -# Copyright 1991 by the Massachusetts Institute of Technology -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - chmodcmd="" - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/missing b/missing deleted file mode 100755 index 5f9da90..0000000 --- a/missing +++ /dev/null @@ -1,265 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. -# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch]" - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing 0.3 - GNU automake" - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - - aclocal) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acinclude.m4' or \`configure.in'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`configure.in'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acconfig.h' or \`configure.in'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` - fi - touch $file - ;; - - tar) - shift - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - fi - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar ${1+"$@"} && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar ${1+"$@"} && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" ${1+"$@"} && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" ${1+"$@"} && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequirements for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 diff --git a/mkinstalldirs b/mkinstalldirs deleted file mode 100755 index 7f06129..0000000 --- a/mkinstalldirs +++ /dev/null @@ -1,40 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain - -# $Id: mkinstalldirs,v 1.1.1.1 2001/07/20 16:14:50 onge Exp $ - -errstatus=0 - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/src/.deps/main.Po b/src/.deps/main.Po deleted file mode 100644 index aa0f7e3..0000000 --- a/src/.deps/main.Po +++ /dev/null @@ -1,146 +0,0 @@ -main.o: main.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - /usr/include/signal.h global.h mpi_comm.h mpi_group.h mpi_keyval.h \ - mpi_request.h mpi_status.h mpi_op.h mpi_exception.h - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -/usr/include/signal.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: diff --git a/src/.deps/mpi.Po b/src/.deps/mpi.Po deleted file mode 100644 index e470fcb..0000000 --- a/src/.deps/mpi.Po +++ /dev/null @@ -1,144 +0,0 @@ -mpi.o: mpi.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - global.h mpi_comm.h mpi_group.h mpi_keyval.h mpi_request.h mpi_status.h \ - mpi_op.h mpi_exception.h - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: diff --git a/src/.deps/mpi_comm.Po b/src/.deps/mpi_comm.Po deleted file mode 100644 index 759bf9d..0000000 --- a/src/.deps/mpi_comm.Po +++ /dev/null @@ -1,144 +0,0 @@ -mpi_comm.o: mpi_comm.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - global.h mpi_comm.h mpi_group.h mpi_keyval.h mpi_request.h mpi_status.h \ - mpi_op.h mpi_exception.h - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: diff --git a/src/.deps/mpi_exception.Po b/src/.deps/mpi_exception.Po deleted file mode 100644 index 15ef8b6..0000000 --- a/src/.deps/mpi_exception.Po +++ /dev/null @@ -1,144 +0,0 @@ -mpi_exception.o: mpi_exception.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - global.h mpi_comm.h mpi_group.h mpi_keyval.h mpi_request.h mpi_status.h \ - mpi_op.h mpi_exception.h - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: diff --git a/src/.deps/mpi_group.Po b/src/.deps/mpi_group.Po deleted file mode 100644 index 5233aeb..0000000 --- a/src/.deps/mpi_group.Po +++ /dev/null @@ -1,144 +0,0 @@ -mpi_group.o: mpi_group.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - global.h mpi_comm.h mpi_group.h mpi_keyval.h mpi_request.h mpi_status.h \ - mpi_op.h mpi_exception.h - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: diff --git a/src/.deps/mpi_keyval.Po b/src/.deps/mpi_keyval.Po deleted file mode 100644 index 12b143c..0000000 --- a/src/.deps/mpi_keyval.Po +++ /dev/null @@ -1,144 +0,0 @@ -mpi_keyval.o: mpi_keyval.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - global.h mpi_comm.h mpi_group.h mpi_keyval.h mpi_request.h mpi_status.h \ - mpi_op.h mpi_exception.h - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: diff --git a/src/.deps/mpi_op.Po b/src/.deps/mpi_op.Po deleted file mode 100644 index f48c90a..0000000 --- a/src/.deps/mpi_op.Po +++ /dev/null @@ -1,146 +0,0 @@ -mpi_op.o: mpi_op.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - global.h mpi_comm.h mpi_group.h mpi_keyval.h mpi_request.h mpi_status.h \ - mpi_op.h mpi_exception.h mpi_op_fns.c - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: - -mpi_op_fns.c: diff --git a/src/.deps/mpi_request.Po b/src/.deps/mpi_request.Po deleted file mode 100644 index b8414f9..0000000 --- a/src/.deps/mpi_request.Po +++ /dev/null @@ -1,147 +0,0 @@ -mpi_request.o: mpi_request.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h global.h \ - mpi_comm.h mpi_group.h mpi_keyval.h mpi_request.h mpi_status.h mpi_op.h \ - mpi_exception.h - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: diff --git a/src/.deps/mpi_status.Po b/src/.deps/mpi_status.Po deleted file mode 100644 index 71e9c4d..0000000 --- a/src/.deps/mpi_status.Po +++ /dev/null @@ -1,144 +0,0 @@ -mpi_status.o: mpi_status.c /usr/include/mpi.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h \ - /usr/include/stdlib.h /usr/include/available.h /usr/include/_types.h \ - /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ - /usr/include/machine/_types.h /usr/include/i386/_types.h \ - /usr/include/sys/wait.h /usr/include/sys/signal.h \ - /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h \ - /usr/include/i386/signal.h /usr/include/i386/_structs.h \ - /usr/include/sys/_structs.h /usr/include/machine/_structs.h \ - /usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \ - /usr/include/machine/endian.h /usr/include/i386/endian.h \ - /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \ - /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \ - /usr/include/machine/types.h /usr/include/i386/types.h \ - /usr/include/string.h /usr/include/stdio.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \ - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \ - /usr/include/limits.h /usr/include/machine/limits.h \ - /usr/include/i386/limits.h /usr/include/i386/_limits.h \ - /usr/include/sys/syslimits.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h \ - /usr/include/sys/time.h /usr/include/time.h /usr/include/_structs.h \ - /usr/include/sys/_select.h /usr/include/sys/types.h \ - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h \ - /usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \ - global.h mpi_comm.h mpi_group.h mpi_keyval.h mpi_request.h mpi_status.h \ - mpi_op.h mpi_exception.h - -/usr/include/mpi.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/ruby.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/config.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/defines.h: - -/usr/include/stdlib.h: - -/usr/include/available.h: - -/usr/include/_types.h: - -/usr/include/sys/_types.h: - -/usr/include/sys/cdefs.h: - -/usr/include/machine/_types.h: - -/usr/include/i386/_types.h: - -/usr/include/sys/wait.h: - -/usr/include/sys/signal.h: - -/usr/include/sys/appleapiopts.h: - -/usr/include/machine/signal.h: - -/usr/include/i386/signal.h: - -/usr/include/i386/_structs.h: - -/usr/include/sys/_structs.h: - -/usr/include/machine/_structs.h: - -/usr/include/mach/i386/_structs.h: - -/usr/include/sys/resource.h: - -/usr/include/machine/endian.h: - -/usr/include/i386/endian.h: - -/usr/include/sys/_endian.h: - -/usr/include/libkern/_OSByteOrder.h: - -/usr/include/libkern/i386/_OSByteOrder.h: - -/usr/include/alloca.h: - -/usr/include/machine/types.h: - -/usr/include/i386/types.h: - -/usr/include/string.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h: - -/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h: - -/usr/include/limits.h: - -/usr/include/machine/limits.h: - -/usr/include/i386/limits.h: - -/usr/include/i386/_limits.h: - -/usr/include/sys/syslimits.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/missing.h: - -/usr/include/sys/time.h: - -/usr/include/time.h: - -/usr/include/_structs.h: - -/usr/include/sys/_select.h: - -/usr/include/sys/types.h: - -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0/intern.h: - -/usr/include/pthread.h: - -/usr/include/pthread_impl.h: - -/usr/include/sched.h: - -global.h: - -mpi_comm.h: - -mpi_group.h: - -mpi_keyval.h: - -mpi_request.h: - -mpi_status.h: - -mpi_op.h: - -mpi_exception.h: diff --git a/src/Makefile.am b/src/Makefile.am deleted file mode 100644 index b2d0cfa..0000000 --- a/src/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -CFLAGS=@CFLAGS@ @RUBY_CFLAGS@ -LIBS=@LIBS@ @RUBY_LIBS@ -LD_RUN_PATH=@RB_LIB_DIR@ - -bin_PROGRAMS = mpi_ruby -mpi_ruby_SOURCES = main.c mpi.c mpi_comm.c mpi_exception.c mpi_group.c \ - mpi_keyval.c mpi_op.c mpi_request.c mpi_status.c \ - global.h mpi_comm.h mpi_exception.h mpi_group.h \ - mpi_keyval.h mpi_op.h mpi_request.h mpi_status.h -mpi_ruby_DEPENDENCIES = mpi_op_fns.c -DISTCLEANFILES = mpi_op_fns.c - -EXTRA_DIST = ops.rb -mpi_op_fns.c: ops.rb - @RUBY@ ops.rb @MAX_OPS@ > mpi_op_fns.c - -mpi_op.$(OBJEXT): mpi_op_fns.c diff --git a/src/Makefile.in b/src/Makefile.in deleted file mode 100644 index ec1f051..0000000 --- a/src/Makefile.in +++ /dev/null @@ -1,338 +0,0 @@ -# Makefile.in generated automatically by automake 1.4g from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AMTAR = @AMTAR@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -MAX_OPS = @MAX_OPS@ -MPICC_PATH = @MPICC_PATH@ -PACKAGE = @PACKAGE@ -RB_ARCH_DIR = @RB_ARCH_DIR@ -RB_INCLUDE_DIR = @RB_INCLUDE_DIR@ -RB_LIB_DIR = @RB_LIB_DIR@ -RUBY = @RUBY@ -RUBY_CFLAGS = @RUBY_CFLAGS@ -RUBY_LIBS = @RUBY_LIBS@ -VERSION = @VERSION@ -_am_include = @_am_include@ -_am_quote = @_am_quote@ -install_sh = @install_sh@ - -CFLAGS = @CFLAGS@ @RUBY_CFLAGS@ -LIBS = @LIBS@ @RUBY_LIBS@ -LD_RUN_PATH = @RB_LIB_DIR@ - -bin_PROGRAMS = mpi_ruby -mpi_ruby_SOURCES = main.c mpi.c mpi_comm.c mpi_exception.c mpi_group.c \ - mpi_keyval.c mpi_op.c mpi_request.c mpi_status.c \ - global.h mpi_comm.h mpi_exception.h mpi_group.h \ - mpi_keyval.h mpi_op.h mpi_request.h mpi_status.h - -mpi_ruby_DEPENDENCIES = mpi_op_fns.c -DISTCLEANFILES = mpi_op_fns.c - -EXTRA_DIST = ops.rb -EXEEXT = -OBJEXT = o -subdir = src -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -bin_PROGRAMS = mpi_ruby$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) - -am_mpi_ruby_OBJECTS = main.$(OBJEXT) mpi.$(OBJEXT) mpi_comm.$(OBJEXT) \ - mpi_exception.$(OBJEXT) mpi_group.$(OBJEXT) \ - mpi_keyval.$(OBJEXT) mpi_op.$(OBJEXT) mpi_request.$(OBJEXT) \ - mpi_status.$(OBJEXT) -mpi_ruby_OBJECTS = $(am_mpi_ruby_OBJECTS) -mpi_ruby_LDADD = $(LDADD) -mpi_ruby_LDFLAGS = - -DEFS = @DEFS@ -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/main.Po $(DEPDIR)/mpi.Po \ -@AMDEP_TRUE@ $(DEPDIR)/mpi_comm.Po $(DEPDIR)/mpi_exception.Po \ -@AMDEP_TRUE@ $(DEPDIR)/mpi_group.Po $(DEPDIR)/mpi_keyval.Po \ -@AMDEP_TRUE@ $(DEPDIR)/mpi_op.Po $(DEPDIR)/mpi_request.Po \ -@AMDEP_TRUE@ $(DEPDIR)/mpi_status.Po -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(mpi_ruby_SOURCES) -DIST_COMMON = Makefile.am Makefile.in -SOURCES = $(mpi_ruby_SOURCES) - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ - rm -f $(DESTDIR)$(bindir)/$$f; \ - done - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -mpi_ruby$(EXEEXT): $(mpi_ruby_OBJECTS) $(mpi_ruby_DEPENDENCIES) - @rm -f mpi_ruby$(EXEEXT) - $(LINK) $(mpi_ruby_LDFLAGS) $(mpi_ruby_OBJECTS) $(mpi_ruby_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/main.Po@_am_quote@ -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mpi.Po@_am_quote@ -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mpi_comm.Po@_am_quote@ -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mpi_exception.Po@_am_quote@ -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mpi_group.Po@_am_quote@ -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mpi_keyval.Po@_am_quote@ -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mpi_op.Po@_am_quote@ -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mpi_request.Po@_am_quote@ -@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/mpi_status.Po@_am_quote@ - -distclean-depend: - -rm -rf $(DEPDIR) - -.c.o: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< - -.c.obj: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `cygpath -w $<` -CCDEPMODE = @CCDEPMODE@ -uninstall-info-am: - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $$here - -distclean-tags: - -rm -f TAGS ID - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: install-binPROGRAMS - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -uninstall-am: uninstall-binPROGRAMS uninstall-info-am - -.PHONY: all all-am check check-am clean clean-binPROGRAMS clean-generic \ - distclean distclean-compile distclean-depend distclean-generic \ - distclean-tags distdir dvi dvi-am info info-am install \ - install-am install-binPROGRAMS install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic tags \ - uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am - -mpi_op_fns.c: ops.rb - @RUBY@ ops.rb @MAX_OPS@ > mpi_op_fns.c - -mpi_op.$(OBJEXT): mpi_op_fns.c -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/global.h b/src/global.h deleted file mode 100644 index 14960e0..0000000 --- a/src/global.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef GLOBAL_H -#define GLOBAL_H - -extern VALUE mMPI; - -extern VALUE UNDEFINED; - -extern VALUE mMarshal; -extern ID id_dump; -extern ID id_load; -extern ID id_map_bang; - -extern void Init_MPI(); - -#include "mpi_comm.h" -#include "mpi_group.h" -#include "mpi_keyval.h" -#include "mpi_request.h" -#include "mpi_status.h" -#include "mpi_op.h" -#include "mpi_exception.h" - -#endif /* GLOBAL_H */ diff --git a/src/main.c b/src/main.c deleted file mode 100644 index af3f707..0000000 --- a/src/main.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "mpi.h" -#include "ruby.h" -#include - -#include "global.h" - -MPI_Comm *self, *world; - -int main(int argc, char *argv[]) -{ - void (*sigusr1)(int), (*sigusr2)(int); - - MPI_Init(&argc, &argv); - - /* ruby_run() calls exit() (why?), so we have to call finalize this way. */ - atexit((void (*)(void))MPI_Finalize); - - /* Allow errors to be returned as exceptions in ruby */ - MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_RETURN); - - /* This seems legitimate because comms can be passed by value to fns. */ - self = malloc(sizeof(MPI_Comm)); - if (self == NULL) { - perror("Unable to allocate MPI::Comm::SELF"); - MPI_Finalize(); - exit(1); - } - *self = MPI_COMM_SELF; - - world = malloc(sizeof(MPI_Comm)); - if (self == NULL) { - perror("Unable to allocate MPI::Comm::WORLD"); - MPI_Finalize(); - exit(1); - } - *world = MPI_COMM_WORLD; - - MPI_Barrier(*world); - sigusr1 = signal(SIGUSR1, SIG_IGN); - sigusr2 = signal(SIGUSR2, SIG_IGN); - - ruby_init(); - ruby_options(argc, argv); - - signal(SIGUSR1, sigusr1); - signal(SIGUSR2, sigusr2); - MPI_Barrier(*world); - - Init_MPI(); - - ruby_run(); - - /* Unreachable */ - - MPI_Finalize(); - - return 0; -} diff --git a/src/mpi.c b/src/mpi.c deleted file mode 100644 index 015cd0c..0000000 --- a/src/mpi.c +++ /dev/null @@ -1,106 +0,0 @@ -#include "mpi.h" -#include "ruby.h" - -#include "global.h" - -VALUE mMPI; - -VALUE UNDEFINED; - -VALUE mMarshal; -ID id_dump; -ID id_load; -ID id_map_bang; - -static VALUE mpi_wtime(VALUE self) -{ - return rb_float_new(MPI_Wtime()); -} - -static VALUE mpi_wtick(VALUE self) -{ - return rb_float_new(MPI_Wtick()); -} - -static VALUE mpi_initialized_p(VALUE self) -{ - int rv, flag; - - rv = MPI_Initialized(&flag); - mpi_exception(rv); - - return flag ? Qtrue : Qfalse; -} - -static VALUE mpi_processor_name(VALUE self) -{ - int rv, len; - char buf[MPI_MAX_PROCESSOR_NAME]; - - rv = MPI_Get_processor_name(buf, &len); - mpi_exception(rv); - - return rb_str_new(buf, len); -} - -static VALUE mpi_dims_create(VALUE self, VALUE rnnodes, VALUE rdims) -{ - int rv, i, nnodes, ndims, *dims; - VALUE ary; - - Check_Type(rnnodes, T_FIXNUM); - nnodes = FIX2INT(rnnodes); - - ndims = RARRAY(rdims)->len; - - dims = ALLOCA_N(int, ndims); - for (i = 0; i < ndims; i++) - dims[i] = FIX2INT(rb_ary_entry(rdims, i)); - - rv = MPI_Dims_create(nnodes, ndims, dims); - mpi_exception(rv); - - ary = rb_ary_new2(ndims); - for (i = 0; i < ndims; i++) - rb_ary_store(ary, i, dims[i]); - - return ary; -} - -static VALUE undefined_to_s(VALUE self) -{ - return rb_str_new("MPI::UNDEFINED", sizeof("MPI::UNDEFINED")); -} - -void Init_MPI() -{ - int initialized; - - MPI_Initialized(&initialized); - if (!initialized) { - printf("Error!!! MPI Uninitialized!!!\n"); - return; - } - - mMPI = rb_define_module("MPI"); - rb_define_module_function(mMPI, "wtime", mpi_wtime, 0); - rb_define_module_function(mMPI, "wtick", mpi_wtick, 0); - rb_define_module_function(mMPI, "initialized?", mpi_initialized_p, 0); - rb_define_module_function(mMPI, "processor_name", mpi_processor_name, 0); - rb_define_module_function(mMPI, "dims_create", mpi_dims_create, 2); - - UNDEFINED = rb_obj_alloc(rb_cObject); - rb_define_singleton_method(UNDEFINED, "to_s", undefined_to_s, 0); - rb_define_const(mMPI, "UNDEFINED", UNDEFINED); - - mMarshal = rb_const_get(rb_cObject, rb_intern("Marshal")); - id_dump = rb_intern("dump"); - id_load = rb_intern("load"); - id_map_bang = rb_intern("map!"); - Init_Comm(); - Init_Group(); - Init_Status(); - Init_Request(); - Init_Op(); - Init_MPI_Exception(); -} diff --git a/src/mpi_comm.c b/src/mpi_comm.c deleted file mode 100644 index 9226f50..0000000 --- a/src/mpi_comm.c +++ /dev/null @@ -1,2519 +0,0 @@ -#include "mpi.h" -#include "ruby.h" -#include "global.h" - -VALUE cComm, cIntraComm; -static VALUE SELF, WORLD, ANY_TAG, ANY_SOURCE, GRAPH, CART, COMM_NULL; - -struct mpi_comm { - MPI_Comm *comm; - char *buffer; - long bufsize; -}; - -static void comm_free(struct mpi_comm *comm) -{ - free(comm->buffer); - if ((*comm->comm != MPI_COMM_WORLD) && (*comm->comm != MPI_COMM_SELF)) - MPI_Comm_free(comm->comm); - free(comm->comm); - free(comm); -} - -static VALUE comm_new(struct mpi_comm *comm) -{ - VALUE tdata; - - tdata = Data_Wrap_Struct(cComm, NULL, comm_free, comm); - rb_obj_call_init(tdata, 0, NULL); - - return tdata; -} - -static VALUE intra_comm_new(struct mpi_comm *comm) -{ - VALUE tdata; - - tdata = Data_Wrap_Struct(cIntraComm, NULL, comm_free, comm); - rb_obj_call_init(tdata, 0, NULL); - - return tdata; -} - -/* Constructors */ -static VALUE comm_dup(VALUE self) -{ - int rv; - struct mpi_comm *mc_comm, *newcomm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - newcomm = ALLOC(struct mpi_comm); - newcomm->comm = ALLOC(MPI_Comm); - newcomm->buffer = NULL; - newcomm->bufsize = 0; - - rv = MPI_Comm_dup(*mc_comm->comm, newcomm->comm); - mpi_exception(rv); - - return comm_new(newcomm); -} - -static VALUE comm_create(VALUE self, VALUE rgrp) -{ - int rv; - MPI_Group *grp; - struct mpi_comm *mc_comm, *newcomm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - newcomm = ALLOC(struct mpi_comm); - newcomm->comm = ALLOC(MPI_Comm); - newcomm->buffer = NULL; - newcomm->bufsize = 0; - - grp = group_get_mpi_group(rgrp); - - rv = MPI_Comm_create(*mc_comm->comm, *grp, newcomm->comm); - mpi_exception(rv); - - return comm_new(newcomm); -} - -static VALUE comm_intercomm_create(VALUE self, VALUE rlocal_leader, - VALUE rpeer, VALUE rremote_leader, - VALUE rtag) -{ - int rv, local_leader, remote_leader, tag; - struct mpi_comm *mc_comm, *peer, *newcomm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - Data_Get_Struct(rpeer, struct mpi_comm, peer); - - Check_Type(rlocal_leader, T_FIXNUM); - Check_Type(rremote_leader, T_FIXNUM); - - local_leader = FIX2INT(rlocal_leader); - remote_leader = FIX2INT(rremote_leader); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - newcomm = ALLOC(struct mpi_comm); - newcomm->comm = ALLOC(MPI_Comm); - newcomm->buffer = NULL; - newcomm->bufsize = 0; - - rv = MPI_Intercomm_create(*mc_comm->comm, local_leader, - *peer->comm, remote_leader, tag, - newcomm->comm); - mpi_exception(rv); - - return comm_new(newcomm); -} - -static VALUE comm_intercomm_merge(VALUE self, VALUE rhigh) -{ - int rv, high; - struct mpi_comm *mc_comm, *newcomm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rhigh, T_FIXNUM); - high = FIX2INT(rhigh); - - newcomm = ALLOC(struct mpi_comm); - newcomm->comm = ALLOC(MPI_Comm); - newcomm->buffer = NULL; - newcomm->bufsize = 0; - - rv = MPI_Intercomm_merge(*mc_comm->comm, high, newcomm->comm); - mpi_exception(rv); - - return comm_new(newcomm); -} - -static VALUE comm_split(VALUE self, VALUE rcolor, VALUE rkey) -{ - int rv, color, key; - struct mpi_comm *mc_comm, *newcomm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - newcomm = ALLOC(struct mpi_comm); - newcomm->comm = ALLOC(MPI_Comm); - newcomm->buffer = NULL; - newcomm->bufsize = 0; - - Check_Type(rcolor, T_FIXNUM); - Check_Type(rkey, T_FIXNUM); - - color = FIX2INT(rcolor); - key = FIX2INT(rkey); - - rv = MPI_Comm_split(*mc_comm->comm, color, key, newcomm->comm); - mpi_exception(rv); - - return comm_new(newcomm); -} - -/* Topologies */ -static VALUE comm_cart_create(VALUE self, VALUE rdims, VALUE rperiods, - VALUE rreorder) -{ - int rv, i, ndims, *dims, *periods, reorder; - struct mpi_comm *mc_comm, *newcomm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - newcomm = ALLOC(struct mpi_comm); - newcomm->comm = ALLOC(MPI_Comm); - newcomm->buffer = NULL; - newcomm->bufsize = 0; - - ndims = RARRAY(rdims)->len; - if (RARRAY(rperiods)->len != ndims) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - dims = ALLOCA_N(int, ndims); - periods = ALLOCA_N(int, ndims); - - Check_Type(rreorder, T_FIXNUM); - - reorder = FIX2INT(rreorder); - - for (i = 0; i < ndims; i++) { - dims[i] = FIX2INT(rb_ary_entry(rdims, i)); - /* Qfalse and Qnil are the only values in Ruby that evaluate to - non-true. */ - periods[i] = (rb_ary_entry(rperiods, i) != Qfalse) && - (rb_ary_entry(rperiods, i) != Qnil); - } - - rv = MPI_Cart_create(*mc_comm->comm, ndims, dims, periods, reorder, - newcomm->comm); - mpi_exception(rv); - - return comm_new(newcomm); -} - -static VALUE comm_graph_create(VALUE self, VALUE rindex, VALUE redges, - VALUE rreorder) -{ - int rv, i, nnodes, nedges, *index, *edges, reorder; - struct mpi_comm *mc_comm, *newcomm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - newcomm = ALLOC(struct mpi_comm); - newcomm->comm = ALLOC(MPI_Comm); - newcomm->buffer = NULL; - newcomm->bufsize = 0; - - nnodes = RARRAY(rindex)->len; - nedges = RARRAY(rindex)->len; - - index = ALLOCA_N(int, nnodes); - edges = ALLOCA_N(int, nedges); - - Check_Type(rreorder, T_FIXNUM); - - reorder = FIX2INT(rreorder); - - for (i = 0; i < nnodes; i++) - index[i] = FIX2INT(rb_ary_entry(rindex, i)); - - for (i = 0; i < nedges; i++) - edges[i] = FIX2INT(rb_ary_entry(redges, i)); - - rv = MPI_Graph_create(*mc_comm->comm, nnodes, index, edges, reorder, - newcomm->comm); - mpi_exception(rv); - - return comm_new(newcomm); -} - -static VALUE comm_topo_test(VALUE self) -{ - int rv, status; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Topo_test(*mc_comm->comm, &status); - mpi_exception(rv); - - switch (status) { - case MPI_GRAPH: - return GRAPH; - case MPI_CART: - return CART; - case MPI_UNDEFINED: - default: - return UNDEFINED; - } -} - -static VALUE comm_graphdims_get(VALUE self) -{ - int rv, nnodes, nedges; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Graphdims_get(*mc_comm->comm, &nnodes, &nedges); - mpi_exception(rv); - - return rb_ary_new3(2, rb_fix_new(nnodes), rb_fix_new(nedges)); -} - -static VALUE comm_graph_get(VALUE self) -{ - int rv, i, nnodes, nedges, *index, *edges; - struct mpi_comm *mc_comm; - VALUE rindex, redges; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Graphdims_get(*mc_comm->comm, &nnodes, &nedges); - mpi_exception(rv); - - index = ALLOCA_N(int, nnodes); - edges = ALLOCA_N(int, nedges); - - rv = MPI_Graph_get(*mc_comm->comm, nnodes, nedges, index, edges); - mpi_exception(rv); - - rindex = rb_ary_new2(nnodes); - redges = rb_ary_new2(nedges); - - for (i = 0; i < nnodes; i++) - rb_ary_store(rindex, i, rb_fix_new(index[i])); - - for (i = 0; i < nedges; i++) - rb_ary_store(redges, i, rb_fix_new(edges[i])); - - return rb_ary_new3(2, rindex, redges); -} - - -static VALUE comm_cartdim_get(VALUE self) -{ - int rv, ndims; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Cartdim_get(*mc_comm->comm, &ndims); - mpi_exception(rv); - - return rb_fix_new(ndims); -} - -static VALUE comm_cart_get(VALUE self) -{ - int rv, i, ndims, *dims, *periods, *coords; - struct mpi_comm *mc_comm; - VALUE rdims, rperiods, rcoords; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Cartdim_get(*mc_comm->comm, &ndims); - mpi_exception(rv); - - dims = ALLOCA_N(int, ndims); - periods = ALLOCA_N(int, ndims); - coords = ALLOCA_N(int, ndims); - - rv = MPI_Cart_get(*mc_comm->comm, ndims, dims, periods, coords); - mpi_exception(rv); - - rdims = rb_ary_new2(ndims); - rperiods = rb_ary_new2(ndims); - rcoords = rb_ary_new2(ndims); - - for (i = 0; i < ndims; i++) { - rb_ary_store(rdims, i, rb_fix_new(dims[i])); - rb_ary_store(rperiods, i, periods[i] ? Qtrue : Qfalse); - rb_ary_store(rcoords, i, rb_fix_new(coords[i])); - } - - return rb_ary_new3(3, rdims, rperiods, rcoords); -} - -static VALUE comm_cart_rank(VALUE self, VALUE rcoords) -{ - int rv, i, ndims, rank, *coords; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Cartdim_get(*mc_comm->comm, &ndims); - mpi_exception(rv); - - if (RARRAY(rcoords)->len != ndims) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - coords = ALLOCA_N(int, ndims); - for (i = 0; i < ndims; i++) - coords[i] = FIX2INT(rb_ary_entry(rcoords, i)); - - rv = MPI_Cart_rank(*mc_comm->comm, coords, &rank); - mpi_exception(rv); - - return rb_fix_new(rank); -} - -static VALUE comm_cart_coords(VALUE self, VALUE rrank) -{ - int rv, i, ndims, rank, *coords; - struct mpi_comm *mc_comm; - VALUE rcoords; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rrank, T_FIXNUM); - rank = FIX2INT(rrank); - - rv = MPI_Cartdim_get(*mc_comm->comm, &ndims); - mpi_exception(rv); - - coords = ALLOCA_N(int, ndims); - - rv = MPI_Cart_coords(*mc_comm->comm, rank, ndims, coords); - mpi_exception(rv); - - rcoords = rb_ary_new2(ndims); - - for (i = 0; i < ndims; i++) - rb_ary_store(rcoords, i, rb_fix_new(coords[i])); - - return rcoords; -} - -static VALUE comm_graph_neighbors_count(VALUE self, VALUE rrank) -{ - int rv, rank, nneighbors; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rrank, T_FIXNUM); - rank = FIX2INT(rrank); - - rv = MPI_Graph_neighbors_count(*mc_comm->comm, rank, &nneighbors); - mpi_exception(rv); - - return rb_fix_new(nneighbors); -} - -static VALUE comm_graph_neighbors(VALUE self, VALUE rrank) -{ - int rv, i, rank, nneighbors, *neighbors; - struct mpi_comm *mc_comm; - VALUE rneighbors; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rrank, T_FIXNUM); - rank = FIX2INT(rrank); - - rv = MPI_Graph_neighbors_count(*mc_comm->comm, rank, &nneighbors); - mpi_exception(rv); - - neighbors = ALLOCA_N(int, nneighbors); - - rv = MPI_Graph_neighbors(*mc_comm->comm, rank, nneighbors, neighbors); - mpi_exception(rv); - - rneighbors = rb_ary_new2(nneighbors); - for (i = 0; i < nneighbors; i++) - rb_ary_store(rneighbors, i, neighbors[i]); - - return rneighbors; -} - -static VALUE comm_cart_shift(VALUE self, VALUE rdir, VALUE rdisp) -{ - int rv, dir, disp, src, dest; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdir, T_FIXNUM); - Check_Type(rdisp, T_FIXNUM); - - dir = FIX2INT(rdir); - disp = FIX2INT(rdisp); - - rv = MPI_Cart_shift(*mc_comm->comm, dir, disp, &src, &dest); - mpi_exception(rv); - - return rb_ary_new3(2, rb_fix_new(src), rb_fix_new(dest)); -} - -static VALUE comm_cart_sub(VALUE self, VALUE rremain_dims) -{ - int rv, i, ndims, *remain_dims; - struct mpi_comm *mc_comm, *newcomm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Cartdim_get(*mc_comm->comm, &ndims); - mpi_exception(rv); - - if (RARRAY(rremain_dims)->len != ndims) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - newcomm = ALLOC(struct mpi_comm); - newcomm->comm = ALLOC(MPI_Comm); - newcomm->buffer = NULL; - newcomm->bufsize = 0; - - remain_dims = ALLOCA_N(int, ndims); - for (i = 0; i < ndims; i++) - remain_dims[i] = rb_ary_entry(rremain_dims, i); - - rv = MPI_Cart_sub(*mc_comm->comm, remain_dims, newcomm->comm); - mpi_exception(rv); - - return comm_new(newcomm); -} - -static VALUE comm_cart_map(VALUE self, VALUE rdims, VALUE rperiods) -{ - int rv, i, ndims, rank, *dims, *periods; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - ndims = RARRAY(rdims)->len; - if (RARRAY(rperiods)->len != ndims) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - dims = ALLOCA_N(int, ndims); - periods = ALLOCA_N(int, ndims); - - for (i = 0; i < ndims; i++) { - dims[i] = FIX2INT(rb_ary_entry(rdims, i)); - /* Qfalse and Qnil are the only values in Ruby that evaluate to - non-true. */ - periods[i] = (rb_ary_entry(rperiods, i) != Qfalse) && - (rb_ary_entry(rperiods, i) != Qnil); - } - - rv = MPI_Cart_map(*mc_comm->comm, ndims, dims, periods, &rank); - mpi_exception(rv); - - return rb_fix_new(rank); -} - -static VALUE comm_graph_map(VALUE self, VALUE rindex, VALUE redges) -{ - int rv, i, rank, nnodes, *index, *edges; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - nnodes = RARRAY(rindex)->len; - if (RARRAY(redges)->len != nnodes) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - index = ALLOCA_N(int, nnodes); - edges = ALLOCA_N(int, nnodes); - - for (i = 0; i < nnodes; i++) { - index[i] = FIX2INT(rb_ary_entry(rindex, i)); - edges[i] = FIX2INT(rb_ary_entry(redges, i)); - } - - rv = MPI_Graph_map(*mc_comm->comm, nnodes, index, edges, &rank); - mpi_exception(rv); - - return rb_fix_new(rank); -} - -/* Environmental */ - -static VALUE comm_rank(VALUE self) -{ - int rv, rank; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Comm_rank(*mc_comm->comm, &rank); - mpi_exception(rv); - - return rb_fix_new(rank); -} - -static VALUE comm_size(VALUE self) -{ - int rv, size; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Comm_size(*mc_comm->comm, &size); - mpi_exception(rv); - - return rb_fix_new(size); -} - -static VALUE comm_group(VALUE self) -{ - int rv; - MPI_Group *grp; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - grp = ALLOC(MPI_Group); - - rv = MPI_Comm_group(*mc_comm->comm, grp); - mpi_exception(rv); - - return group_new(grp); -} - -static VALUE comm_abort(VALUE self, VALUE rerrorcode) -{ - int rv, errorcode; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - errorcode = FIX2INT(rerrorcode); - - rv = MPI_Abort(*mc_comm->comm, errorcode); - mpi_exception(rv); - - return Qtrue; -} - -/* Point to point */ -static VALUE comm_send(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int rv; - int length; - int dest, tag; - char *data; - VALUE dump; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdest, T_FIXNUM); - dest = FIX2INT(rdest); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - rv = MPI_Send(&length, 1, MPI_INT, dest, tag, *mc_comm->comm); - mpi_exception(rv); - rv = MPI_Send(data, length + 1, MPI_BYTE, dest, tag, *mc_comm->comm); - mpi_exception(rv); - - return Qtrue; -} - -static VALUE comm_recv(VALUE self, VALUE rsrc, VALUE rtag) -{ - int rv, length; - int src, tag; - char *data; - VALUE obj; - MPI_Status *stat; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - if (rsrc == ANY_SOURCE) { - src = MPI_ANY_SOURCE; - } else { - Check_Type(rsrc, T_FIXNUM); - src = FIX2INT(rsrc); - } - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - stat = ALLOC(MPI_Status); - rv = MPI_Recv(&length, 1, MPI_INT, src, tag, *mc_comm->comm, stat); - mpi_exception(rv); - - data = ALLOC_N(char, length + 1); - rv = MPI_Recv(data, length+1, MPI_BYTE, src, tag, *mc_comm->comm, stat); - mpi_exception(rv); - obj = rb_str_new(data, length + 1); - - return rb_ary_new3(2, rb_funcall(mMarshal, id_load, 1, obj), - status_new(stat)); -} - -static VALUE comm_bsend(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int rv; - int length; - int dest, tag; - char *data; - VALUE dump; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdest, T_FIXNUM); - dest = FIX2INT(rdest); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - rv = MPI_Bsend(&length, 1, MPI_INT, dest, tag, *mc_comm->comm); - mpi_exception(rv); - rv = MPI_Bsend(data, length+1, MPI_BYTE, dest, tag, *mc_comm->comm); - mpi_exception(rv); - - return Qtrue; -} - -static VALUE comm_ssend(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int rv; - int length; - int dest, tag; - char *data; - VALUE dump; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdest, T_FIXNUM); - dest = FIX2INT(rdest); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - rv = MPI_Ssend(&length, 1, MPI_INT, dest, tag, *mc_comm->comm); - mpi_exception(rv); - rv = MPI_Ssend(data, length+1, MPI_BYTE, dest, tag, *mc_comm->comm); - mpi_exception(rv); - - return Qtrue; -} - -static VALUE comm_rsend(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int rv; - int length; - int dest, tag; - char *data; - VALUE dump; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdest, T_FIXNUM); - dest = FIX2INT(rdest); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - /* Note: we only care about the first one being a ready send. */ - /* If it works, that means the user did the correct thing. */ - rv = MPI_Rsend(&length, 1, MPI_INT, dest, tag, *mc_comm->comm); - mpi_exception(rv); - rv = MPI_Send(data, length + 1, MPI_BYTE, dest, tag, *mc_comm->comm); - mpi_exception(rv); - - return Qtrue; -} - -static VALUE comm_sendrecv(VALUE self, VALUE obj, VALUE rdest, VALUE rdtag, - VALUE rsrc, VALUE rstag) -{ - int rv; - int dest, src; - int dtag, stag; - int dlen, slen; - char *ddata, *sdata; - VALUE dump, str; - MPI_Status *stat; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdest, T_FIXNUM); - dest = FIX2INT(rdest); - - if (rdtag == ANY_TAG) { - dtag = MPI_ANY_TAG; - } else { - Check_Type(rdtag, T_FIXNUM); - dtag = FIX2INT(rdtag); - } - - if (rsrc == ANY_SOURCE) { - src = MPI_ANY_SOURCE; - } else { - Check_Type(rsrc, T_FIXNUM); - src = FIX2INT(rsrc); - } - - if (rstag == ANY_TAG) { - stag = MPI_ANY_TAG; - } else { - Check_Type(rstag, T_FIXNUM); - stag = FIX2INT(rstag); - } - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - ddata = rb_str2cstr(dump, &dlen); - - stat = ALLOC(MPI_Status); - - rv = MPI_Sendrecv(&dlen, 1, MPI_INT, dest, dtag, - &slen, 1, MPI_INT, src, stag, - *mc_comm->comm, stat); - mpi_exception(rv); - - sdata = ALLOC_N(char, slen + 1); - - rv = MPI_Sendrecv(ddata, dlen + 1, MPI_BYTE, dest, dtag, - sdata, slen + 1, MPI_BYTE, src, stag, - *mc_comm->comm, stat); - mpi_exception(rv); - - str = rb_str_new(sdata, slen + 1); - - return rb_ary_new3(2, rb_funcall(mMarshal, id_load, 1, str), - status_new(stat)); -} - -/* Non-blocking */ - -static VALUE comm_isend(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int rv; - int length; - int dest, tag; - char *data; - VALUE dump; - MPI_Request tmp, *req; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdest, T_FIXNUM); - dest = FIX2INT(rdest); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - req = ALLOC(MPI_Request); - - rv = MPI_Isend(&length, 1, MPI_INT, dest, tag, *mc_comm->comm, &tmp); - mpi_exception(rv); - rv = MPI_Isend(data, length+1, MPI_BYTE, dest, tag, *mc_comm->comm, req); - mpi_exception(rv); - - return request_new(NORMAL, req); -} - -static VALUE comm_issend(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int rv; - int length; - int dest, tag; - char *data; - VALUE dump; - MPI_Request tmp, *req; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - dest = FIX2INT(rdest); - Check_Type(rdest, T_FIXNUM); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - req = ALLOC(MPI_Request); - - rv = MPI_Issend(&length, 1, MPI_INT, dest, tag, *mc_comm->comm, &tmp); - mpi_exception(rv); - rv = MPI_Issend(data, length+1, MPI_BYTE, dest, tag, *mc_comm->comm, req); - mpi_exception(rv); - - return request_new(NORMAL, req); -} - -static VALUE comm_ibsend(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int rv; - int length; - int dest, tag; - char *data; - VALUE dump; - MPI_Request tmp, *req; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - dest = FIX2INT(rdest); - Check_Type(rdest, T_FIXNUM); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - req = ALLOC(MPI_Request); - - rv = MPI_Ibsend(&length, 1, MPI_INT, dest, tag, *mc_comm->comm, &tmp); - mpi_exception(rv); - rv = MPI_Ibsend(data, length+1, MPI_BYTE, dest, tag, *mc_comm->comm, req); - mpi_exception(rv); - - return request_new(NORMAL, req); -} - -static VALUE comm_irsend(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int rv; - int length; - int dest, tag; - char *data; - VALUE dump; - MPI_Request tmp, *req; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdest, T_FIXNUM); - dest = FIX2INT(rdest); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - req = ALLOC(MPI_Request); - - rv = MPI_Irsend(&length, 1, MPI_INT, dest, tag, *mc_comm->comm, &tmp); - mpi_exception(rv); - rv = MPI_Irsend(data, length+1, MPI_BYTE, dest, tag, *mc_comm->comm, req); - mpi_exception(rv); - - return request_new(NORMAL, req); -} - -static VALUE comm_irecv(VALUE self, VALUE rsrc, VALUE rtag) -{ - int src, tag; - struct mpi_comm *mc_comm; - VALUE req; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - if (rsrc == ANY_SOURCE) { - src = MPI_ANY_SOURCE; - } else { - Check_Type(rsrc, T_FIXNUM); - src = FIX2INT(rsrc); - } - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - req = request_new(RECV, src, tag, mc_comm->comm); - request_start(req); - - return req; -} - -/* Persistent communication */ -static VALUE comm_send_init(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int dest, tag; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - dest = FIX2INT(rdest); - Check_Type(rdest, T_FIXNUM); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - return request_new(PSEND, obj, dest, tag, mc_comm->comm); -} - -static VALUE comm_bsend_init(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int dest, tag; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - dest = FIX2INT(rdest); - Check_Type(rdest, T_FIXNUM); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - return request_new(PBSEND, obj, dest, tag, mc_comm->comm); -} - -static VALUE comm_ssend_init(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int dest, tag; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rdest, T_FIXNUM); - dest = FIX2INT(rdest); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - return request_new(PSSEND, obj, dest, tag, mc_comm->comm); -} - -static VALUE comm_rsend_init(VALUE self, VALUE obj, VALUE rdest, VALUE rtag) -{ - int dest, tag; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - dest = FIX2INT(rdest); - Check_Type(rdest, T_FIXNUM); - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - return request_new(PRSEND, obj, dest, tag, mc_comm->comm); -} - -static VALUE comm_recv_init(VALUE self, VALUE rsrc, VALUE rtag) -{ - int src, tag; - struct mpi_comm *mc_comm; - VALUE req; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - if (rsrc == ANY_SOURCE) { - src = MPI_ANY_SOURCE; - } else { - Check_Type(rsrc, T_FIXNUM); - src = FIX2INT(rsrc); - } - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - req = request_new(RECV, src, tag, mc_comm->comm); - - return req; -} - -/* Buffering */ -static VALUE comm_buffer_for(VALUE self, VALUE ary) -{ - int rv; - int length; - VALUE dump; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - dump = rb_funcall(mMarshal, id_dump, 1, ary); - length = RSTRING(dump)->len; - /* Add this so we can send lengths before each object */ - length += (sizeof(int) * RARRAY(ary)->len); - - if (mc_comm->bufsize < length) { - int size; - char *buffer; - - rv = MPI_Buffer_detach(&buffer, &size); - mpi_exception(rv); - - REALLOC_N(mc_comm->buffer, char, length); - mc_comm->bufsize = length; - - rv = MPI_Buffer_attach(mc_comm->buffer, length); - mpi_exception(rv); - } - - return Qtrue; -} - -static VALUE comm_unbuffer(VALUE self) -{ - int rv; - int size; - char *buffer; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Buffer_detach(&buffer, &size); - mpi_exception(rv); - - mc_comm->buffer = NULL; - mc_comm->bufsize = 0; - free(buffer); - - return Qtrue; -} - - -/* Collective ops */ - -static VALUE comm_barrier(VALUE self) -{ - int rv; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Barrier(*mc_comm->comm); - mpi_exception(rv); - - return Qtrue; -} - -static VALUE comm_bcast(VALUE self, VALUE obj, VALUE rroot) -{ - int rv, rank, root, length; - char *data; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - root = FIX2INT(rroot); - - rv = MPI_Comm_rank(*mc_comm->comm, &rank); - mpi_exception(rv); - - if (rank == root) { - VALUE dump; - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - } - - rv = MPI_Bcast(&length, 1, MPI_INT, root, *mc_comm->comm); - mpi_exception(rv); - - if (rank != root) - data = ALLOCA_N(char, length + 1); - - rv = MPI_Bcast(data, length + 1, MPI_BYTE, root, *mc_comm->comm); - mpi_exception(rv); - - if (rank == root) { - return obj; - } else { - VALUE load; - - obj = rb_str_new(data, length); - load = rb_funcall(mMarshal, id_load, 1, obj); - - return load; - } -} - -#define GATHER_TAG 42 -static VALUE comm_gather(VALUE self, VALUE obj, VALUE rroot) -{ - /* This is being reimplemented based on the MPICH algorithm to allow - gathering of objects of arbitrary size */ - int rv, rank, root, csize, length; - char *data; - struct mpi_comm *mc_comm; - VALUE ary; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - root = FIX2INT(rroot); - - rv = MPI_Comm_rank(*mc_comm->comm, &rank); - mpi_exception(rv); - rv = MPI_Comm_size(*mc_comm->comm, &csize); - mpi_exception(rv); - - if (rank == root) { - int i; - - ary = rb_ary_new2(csize); - rb_ary_store(ary, root, obj); - - for (i = 0; i < csize; i++) { - if (i != rank) { - VALUE load; - MPI_Status stat; - - rv = MPI_Recv(&length, 1, MPI_INT, i, GATHER_TAG, - *mc_comm->comm, &stat); - mpi_exception(rv); - - data = ALLOC_N(char, length + 1); - rv = MPI_Recv(data, length+1, MPI_INT, i, GATHER_TAG, - *mc_comm->comm, &stat); - mpi_exception(rv); - - obj = rb_str_new(data, length + 1); - load = rb_funcall(mMarshal, id_load, 1, obj); - - rb_ary_store(ary, i, load); - } - } - - return ary; - } else { - VALUE dump; - MPI_Request reqs[2]; - MPI_Status stats[2]; - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(dump, &length); - - rv = MPI_Isend(&length, 1, MPI_INT, root, GATHER_TAG, - *mc_comm->comm, &reqs[0]); - mpi_exception(rv); - rv = MPI_Isend(data, length+1, MPI_BYTE, root, GATHER_TAG, - *mc_comm->comm, &reqs[1]); - mpi_exception(rv); - - rv = MPI_Waitall(2, reqs, stats); - mpi_exception(rv); - - return Qtrue; - } -} - -static VALUE map_in_place(VALUE ary) -{ - return rb_funcall(ary, id_map_bang, 0); -} - -static VALUE marshal_load(VALUE mdata, VALUE extra) -{ - return rb_funcall(mMarshal, id_load, 1, mdata); -} - -#define ALLGATHER_TAG 43 -static VALUE comm_allgather(VALUE self, VALUE obj) -{ - int rv; - int i, j, jnext; - int rank, csize, left, right; - int length_right, length_left; - char *in, *out; - struct mpi_comm *mc_comm; - VALUE dump, ary; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Comm_rank(*mc_comm->comm, &rank); - mpi_exception(rv); - rv = MPI_Comm_size(*mc_comm->comm, &csize); - mpi_exception(rv); - - /* Everybody marshals their own data first and that's how it's */ - /* transmitted. Unmarshalling doesn't happen until everyone */ - /* has all the data. */ - dump = rb_funcall(mMarshal, id_dump, 1, obj); - - ary = rb_ary_new2(csize); - rb_ary_store(ary, rank, dump); - - left = (csize + rank - 1) % csize; - right = (rank + 1) % csize; - - j = rank; - jnext = left; - for (i = 1; i < csize; i++) { - MPI_Status stat; - - out = rb_str2cstr(rb_ary_entry(ary, j), &length_right); - - rv = MPI_Sendrecv(&length_right, 1, MPI_INT, right, ALLGATHER_TAG, - &length_left, 1, MPI_INT, left, ALLGATHER_TAG, *mc_comm->comm, - &stat); - mpi_exception(rv); - - in = ALLOC_N(char, length_left + 1); - - rv = MPI_Sendrecv(out, length_right + 1, MPI_BYTE, right, ALLGATHER_TAG, - in, length_left + 1, MPI_BYTE, left, ALLGATHER_TAG, - *mc_comm->comm, &stat); - mpi_exception(rv); - - rb_ary_store(ary, jnext, rb_str_new(in, length_left + 1)); - - j = jnext; - jnext = (csize + jnext - 1) % csize; - } - - return rb_iterate(map_in_place, ary, marshal_load, Qnil); -} - -static VALUE comm_scatter(VALUE self, VALUE ary, VALUE rroot) -{ - int rv, rank, csize, root, longest = 0; - char *send, *recv; - struct marshalled { - char *str; - int length; - } *datav; - struct mpi_comm *mc_comm; - MPI_Datatype dtype; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - root = FIX2INT(rroot); - - rv = MPI_Comm_rank(*mc_comm->comm, &rank); - mpi_exception(rv); - - rv = MPI_Comm_size(*mc_comm->comm, &csize); - mpi_exception(rv); - - if (RARRAY(ary)->len != csize) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - if (rank == root) { - int i; - VALUE dump; - - datav = ALLOCA_N(struct marshalled, csize); - - for (i = 0; i < csize; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(ary, i)); - datav[i].str = rb_str2cstr(dump, &datav[i].length); - - if (datav[i].length + 1 > longest) - longest = datav[i].length + 1; - } - - send = ALLOCA_N(char, csize * longest); - - for (i = 0; i < csize; i++) - MEMCPY(send + (i * longest), datav[i].str, char, datav[i].length); - } - - rv = MPI_Bcast(&longest, 1, MPI_INT, root, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Type_contiguous(longest, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - recv = ALLOCA_N(char, longest); - - rv = MPI_Scatter(send, csize * longest, dtype, recv, longest, dtype, - root, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - return rb_funcall(mMarshal, id_load, 1, rb_str_new(recv, longest)); -} - -static VALUE comm_alltoall(VALUE self, VALUE sary) -{ - int rv, i, csize, longest = 0, glongest; - char *send, *recv; - struct marshalled { - char *str; - int length; - } *datav; - struct mpi_comm *mc_comm; - MPI_Datatype dtype; - VALUE rary; - - rv = MPI_Comm_size(*mc_comm->comm, &csize); - mpi_exception(rv); - - if (RARRAY(sary)->len != csize) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - datav = ALLOCA_N(struct marshalled, csize); - - for (i = 0; i < csize; i++) { - VALUE dump; - - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(sary, i)); - datav[i].str = rb_str2cstr(dump, &datav[i].length); - - if (datav[i].length + 1 > longest) - longest = datav[i].length + 1; - } - - send = ALLOCA_N(char, csize * longest); - - for (i = 0; i < csize; i++) - MEMCPY(send + (i * longest), datav[i].str, char, datav[i].length); - - rv = MPI_Allreduce(&longest, &glongest,1, MPI_INT, MPI_MAX, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Type_contiguous(glongest, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - recv = ALLOCA_N(char, csize * glongest); - - rv = MPI_Alltoall(send, csize, dtype, recv, csize, dtype, *mc_comm->comm); - mpi_exception(rv); - - rary = rb_ary_new2(csize); - - for (i = 0; i < csize; i++) { - VALUE str; - - str = rb_str_new(recv + (i * glongest), glongest); - rb_ary_store(rary, i, rb_funcall(mMarshal, id_load, 1, str)); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - return rary; -} - -static VALUE comm_reduce(VALUE self, VALUE obj, VALUE rop, VALUE rroot) -{ - int rv, i; - int rank, root; - int arylen = -1, arymax, arymin; - char *send, *recv = NULL, *tmp; - int length, longest, resize; - struct mpi_comm *mc_comm; - MPI_Datatype dtype; - VALUE dump; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - Check_Type(rroot, T_FIXNUM); - root = FIX2INT(rroot); - - rv = MPI_Comm_rank(*mc_comm->comm, &rank); - mpi_exception(rv); - - /* If an array was passed in, check that it's valid */ - if (TYPE(obj) == T_ARRAY) - arylen = RARRAY(obj)->len; - - rv = MPI_Allreduce(&arylen, &arymax, 1, MPI_INT, MPI_MAX, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Allreduce(&arylen, &arymin, 1, MPI_INT, MPI_MIN, *mc_comm->comm); - mpi_exception(rv); - - if (arymin != arymax) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - if (arylen >= 0) { - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - rb_str2cstr(dump, &length); - - if (length > longest) - longest = length; - } - - length = longest; - } else { - dump = rb_funcall(mMarshal, id_dump, 1, obj); - tmp = rb_str2cstr(dump, &length); - } - - /* Global length check */ - rv = MPI_Allreduce(&length, &longest, 1, MPI_INT, MPI_MAX, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Type_contiguous(longest + 1, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* Allocation and copying */ - if (arylen >= 0) { - if (rank == root) - recv = ALLOCA_N(char, (longest + 1) * arylen); - - send = ALLOCA_N(char, (longest + 1) * arylen); - - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - tmp = rb_str2cstr(dump, &length); - - MEMCPY(send + (i * (longest + 1)), tmp, char, length + 1); - } - - rv = MPI_Reduce(send, recv, arylen, dtype, *op_get_mpi_op(rop), - root, *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - while (resize > 0) { - op_clear_resize(rop); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - rv = MPI_Type_contiguous(resize, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* The send buffer is likely to have gotten munged. Reinit. */ - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - tmp = rb_str2cstr(dump, &length); - - MEMCPY(send + (i * (longest + 1)), tmp, char, length + 1); - } - - rv = MPI_Reduce(send, recv, arylen, dtype, *op_get_mpi_op(rop), - root, *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - if (rank == root) { - VALUE ary; - - ary = rb_ary_new2(arylen); - for (i = 0; i < arylen; i++) { - VALUE str, obj; - - str = rb_str_new(recv + (i * (longest + 1)), longest + 1); - obj = rb_funcall(mMarshal, id_load, 1, str); - rb_ary_store(ary, i, obj); - } - - return ary; - } - } else { - if (rank == root) - recv = ALLOCA_N(char, longest + 1); - - send = ALLOCA_N(char, longest + 1); - MEMCPY(send, tmp, char, length + 1); - - rv = MPI_Reduce(send, recv, 1, dtype, *op_get_mpi_op(rop), - root, *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - while (resize > 0) { - op_clear_resize(rop); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - rv = MPI_Type_contiguous(resize, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* The send buffer is likely to have gotten munged. Reinit. */ - dump = rb_funcall(mMarshal, id_dump, 1, obj); - tmp = rb_str2cstr(dump, &length); - MEMCPY(send, tmp, char, length + 1); - - rv = MPI_Reduce(send, recv, 1, dtype, *op_get_mpi_op(rop), - root, *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - if (rank == root) - return rb_funcall(mMarshal, id_load, 1, rb_str_new(recv,longest+1)); - } - - return Qtrue; -} - -static VALUE comm_allreduce(VALUE self, VALUE obj, VALUE rop) -{ - int rv, i; - int arylen = -1, arymax, arymin; - char *send, *recv = NULL, *tmp; - int length, longest, resize; - struct mpi_comm *mc_comm; - MPI_Datatype dtype; - VALUE dump; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - /* If an array was passed in, check that it's valid */ - if (TYPE(obj) == T_ARRAY) - arylen = RARRAY(obj)->len; - - rv = MPI_Allreduce(&arylen, &arymax, 1, MPI_INT, MPI_MAX, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Allreduce(&arylen, &arymin, 1, MPI_INT, MPI_MIN, *mc_comm->comm); - mpi_exception(rv); - - if (arymin != arymax) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - if (arylen >= 0) { - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - rb_str2cstr(dump, &length); - - if (length > longest) - longest = length; - } - - length = longest; - } else { - dump = rb_funcall(mMarshal, id_dump, 1, obj); - tmp = rb_str2cstr(dump, &length); - } - - /* Global length check */ - rv = MPI_Allreduce(&length, &longest, 1, MPI_INT, MPI_MAX, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Type_contiguous(longest + 1, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* Allocation and copying */ - if (arylen >= 0) { - VALUE ary; - - recv = ALLOCA_N(char, (longest + 1) * arylen); - send = ALLOCA_N(char, (longest + 1) * arylen); - - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - tmp = rb_str2cstr(dump, &length); - - MEMCPY(send + (i * (longest + 1)), tmp, char, length + 1); - } - - rv = MPI_Allreduce(send, recv, arylen, dtype, *op_get_mpi_op(rop), - *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - while (resize > 0) { - op_clear_resize(rop); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - rv = MPI_Type_contiguous(resize, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* The send buffer is likely to have gotten munged. Reinit. */ - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - tmp = rb_str2cstr(dump, &length); - - MEMCPY(send + (i * (longest + 1)), tmp, char, length + 1); - } - - rv = MPI_Allreduce(send, recv, arylen, dtype, *op_get_mpi_op(rop), - *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - ary = rb_ary_new2(arylen); - for (i = 0; i < arylen; i++) { - VALUE str, obj; - - str = rb_str_new(recv + (i * (longest + 1)), longest + 1); - obj = rb_funcall(mMarshal, id_load, 1, str); - rb_ary_store(ary, i, obj); - } - - return ary; - } else { - recv = ALLOCA_N(char, longest + 1); - send = ALLOCA_N(char, longest + 1); - MEMCPY(send, tmp, char, length + 1); - - rv = MPI_Allreduce(send, recv, 1, dtype, *op_get_mpi_op(rop), - *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - while (resize > 0) { - op_clear_resize(rop); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - rv = MPI_Type_contiguous(resize, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* The send buffer is likely to have gotten munged. Reinit. */ - dump = rb_funcall(mMarshal, id_dump, 1, obj); - tmp = rb_str2cstr(dump, &length); - MEMCPY(send, tmp, char, length + 1); - - rv = MPI_Allreduce(send, recv, 1, dtype, *op_get_mpi_op(rop), - *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - return rb_funcall(mMarshal, id_load, 1, rb_str_new(recv, longest + 1)); - } -} - -static VALUE comm_scan(VALUE self, VALUE obj, VALUE rop) -{ - int rv, i; - int arylen = -1, arymax, arymin; - char *send, *recv = NULL, *tmp; - int length, longest, resize; - struct mpi_comm *mc_comm; - MPI_Datatype dtype; - VALUE dump; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - /* If an array was passed in, check that it's valid */ - if (TYPE(obj) == T_ARRAY) - arylen = RARRAY(obj)->len; - - rv = MPI_Allreduce(&arylen, &arymax, 1, MPI_INT, MPI_MAX, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Allreduce(&arylen, &arymin, 1, MPI_INT, MPI_MIN, *mc_comm->comm); - mpi_exception(rv); - - if (arymin != arymax) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - if (arylen >= 0) { - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - rb_str2cstr(dump, &length); - - if (length > longest) - longest = length; - } - - length = longest; - } else { - dump = rb_funcall(mMarshal, id_dump, 1, obj); - tmp = rb_str2cstr(dump, &length); - } - - /* Global length check */ - rv = MPI_Allreduce(&length, &longest, 1, MPI_INT, MPI_MAX, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Type_contiguous(longest + 1, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* Allocation and copying */ - if (arylen >= 0) { - VALUE ary; - - recv = ALLOCA_N(char, (longest + 1) * arylen); - send = ALLOCA_N(char, (longest + 1) * arylen); - - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - tmp = rb_str2cstr(dump, &length); - - MEMCPY(send + (i * (longest + 1)), tmp, char, length + 1); - } - - rv = MPI_Scan(send, recv, arylen, dtype, *op_get_mpi_op(rop), - *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - while (resize > 0) { - op_clear_resize(rop); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - rv = MPI_Type_contiguous(resize, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* The send buffer is likely to have gotten munged. Reinit. */ - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - tmp = rb_str2cstr(dump, &length); - - MEMCPY(send + (i * (longest + 1)), tmp, char, length + 1); - } - - rv = MPI_Scan(send, recv, arylen, dtype, *op_get_mpi_op(rop), - *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - ary = rb_ary_new2(arylen); - for (i = 0; i < arylen; i++) { - VALUE str, obj; - - str = rb_str_new(recv + (i * (longest + 1)), longest + 1); - obj = rb_funcall(mMarshal, id_load, 1, str); - rb_ary_store(ary, i, obj); - } - - return ary; - } else { - recv = ALLOCA_N(char, longest + 1); - send = ALLOCA_N(char, longest + 1); - MEMCPY(send, tmp, char, length + 1); - - rv = MPI_Scan(send, recv, 1, dtype, *op_get_mpi_op(rop), - *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - while (resize > 0) { - op_clear_resize(rop); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - rv = MPI_Type_contiguous(resize, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* The send buffer is likely to have gotten munged. Reinit. */ - dump = rb_funcall(mMarshal, id_dump, 1, obj); - tmp = rb_str2cstr(dump, &length); - MEMCPY(send, tmp, char, length + 1); - - rv = MPI_Scan(send, recv, 1, dtype, *op_get_mpi_op(rop), - *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - return rb_funcall(mMarshal, id_load, 1, rb_str_new(recv, longest + 1)); - } -} - -static VALUE comm_reduce_scatter(VALUE self, VALUE obj, VALUE rcounts, - VALUE rop) -{ - int rv, i; - int rank, csize, my_size; - int *recvcounts, count = 0; - int arylen = -1, ary_ok, all_ok; - char *send, *recv = NULL, *tmp; - int length, longest, resize; - struct mpi_comm *mc_comm; - MPI_Datatype dtype; - VALUE dump; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Comm_rank(*mc_comm->comm, &rank); - mpi_exception(rv); - rv = MPI_Comm_size(*mc_comm->comm, &csize); - mpi_exception(rv); - - if (RARRAY(rcounts)->len != csize) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - /* Get the receive counts */ - recvcounts = ALLOCA_N(int, csize); - for (i = 0; i < csize; i++) - recvcounts[i] = FIX2INT(rb_ary_entry(rcounts, i)); - - for (i = 0; i < csize; i++) - count += FIX2INT(rb_ary_entry(rcounts, i)); - - /* If an array was passed in, check that it's valid */ - if (TYPE(obj) == T_ARRAY) - arylen = RARRAY(obj)->len; - - if (arylen >= 0) - ary_ok = (arylen == count); - else - ary_ok = (count == 1); - - rv = MPI_Allreduce(&ary_ok, &all_ok, 1, MPI_INT, MPI_LAND, *mc_comm->comm); - mpi_exception(rv); - - if (!all_ok) { - mpi_exception(MPI_ERR_ARG); - return Qnil; - } - - if (arylen >= 0) { - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - rb_str2cstr(dump, &length); - - if (length > longest) - longest = length; - } - - length = longest; - } else { - dump = rb_funcall(mMarshal, id_dump, 1, obj); - tmp = rb_str2cstr(dump, &length); - } - - /* Global length check */ - rv = MPI_Allreduce(&length, &longest, 1, MPI_INT, MPI_MAX, *mc_comm->comm); - mpi_exception(rv); - - rv = MPI_Type_contiguous(longest + 1, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* Allocation and copying */ - my_size = FIX2INT(rb_ary_entry(rcounts, rank)); - recv = ALLOCA_N(char, (longest + 1) * my_size); - - if (arylen >= 0) { - VALUE ary; - - send = ALLOCA_N(char, (longest + 1) * arylen); - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - tmp = rb_str2cstr(dump, &length); - - MEMCPY(send + (i * (longest + 1)), tmp, char, length + 1); - } - - rv = MPI_Reduce_scatter(send, recv, recvcounts, dtype, - *op_get_mpi_op(rop), *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - while (resize > 0) { - op_clear_resize(rop); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - rv = MPI_Type_contiguous(resize, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* The send buffer is likely to have gotten munged. Reinit. */ - for (i = 0; i < arylen; i++) { - dump = rb_funcall(mMarshal, id_dump, 1, rb_ary_entry(obj, i)); - tmp = rb_str2cstr(dump, &length); - - MEMCPY(send + (i * (longest + 1)), tmp, char, length + 1); - } - - rv = MPI_Reduce_scatter(send, recv, recvcounts, dtype, - *op_get_mpi_op(rop), *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - ary = rb_ary_new2(my_size); - for (i = 0; i < my_size; i++) { - VALUE str, obj; - - str = rb_str_new(recv + (i * (longest + 1)), longest + 1); - obj = rb_funcall(mMarshal, id_load, 1, str); - rb_ary_store(ary, i, obj); - } - - return ary; - } else { - send = ALLOCA_N(char, longest + 1); - MEMCPY(send, tmp, char, length + 1); - - rv = MPI_Reduce_scatter(send, recv, recvcounts, dtype, - *op_get_mpi_op(rop), *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - while (resize > 0) { - op_clear_resize(rop); - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - rv = MPI_Type_contiguous(resize, MPI_BYTE, &dtype); - mpi_exception(rv); - - rv = MPI_Type_commit(&dtype); - mpi_exception(rv); - - /* The send buffer is likely to have gotten munged. Reinit. */ - dump = rb_funcall(mMarshal, id_dump, 1, obj); - tmp = rb_str2cstr(dump, &length); - MEMCPY(send, tmp, char, length + 1); - - rv = MPI_Reduce_scatter(send, recv, recvcounts, dtype, - *op_get_mpi_op(rop), *mc_comm->comm); - mpi_exception(rv); - - resize = op_get_resize(rop); - } - - rv = MPI_Type_free(&dtype); - mpi_exception(rv); - - if (my_size > 0) - return rb_funcall(mMarshal, id_load, 1, rb_str_new(recv,longest+1)); - else - return Qnil; - } -} - -/* Probing */ -static VALUE comm_probe(VALUE self, VALUE rsrc, VALUE rtag) -{ - int rv, src, tag; - struct mpi_comm *mc_comm; - MPI_Status *stat; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - if (rsrc == ANY_SOURCE) { - src = MPI_ANY_SOURCE; - } else { - Check_Type(rsrc, T_FIXNUM); - src = FIX2INT(rsrc); - } - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - stat = ALLOC(MPI_Status); - - rv = MPI_Probe(src, tag, *mc_comm->comm, stat); - mpi_exception(rv); - - return status_new(stat); -} - -static VALUE comm_iprobe(VALUE self, VALUE rsrc, VALUE rtag) -{ - int rv, src, tag, flag; - struct mpi_comm *mc_comm; - MPI_Status *stat; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - if (rsrc == ANY_SOURCE) { - src = MPI_ANY_SOURCE; - } else { - Check_Type(rsrc, T_FIXNUM); - src = FIX2INT(rsrc); - } - - if (rtag == ANY_TAG) { - tag = MPI_ANY_TAG; - } else { - Check_Type(rtag, T_FIXNUM); - tag = FIX2INT(rtag); - } - - stat = ALLOC(MPI_Status); - - rv = MPI_Iprobe(src, tag, *mc_comm->comm, &flag, stat); - mpi_exception(rv); - - return rb_ary_new3(2, flag ? Qtrue : Qfalse, status_new(stat)); -} - -/* Comparison */ -static VALUE comm_equal(VALUE self, VALUE other) -{ - int rv, result; - struct mpi_comm *mc_comm1, *mc_comm2; - - Data_Get_Struct(self, struct mpi_comm, mc_comm1); - Data_Get_Struct(self, struct mpi_comm, mc_comm2); - - rv = MPI_Comm_compare(*mc_comm1->comm, *mc_comm2->comm, &result); - mpi_exception(rv); - - return result == MPI_IDENT; -} - -static VALUE comm_congruent_p(VALUE self, VALUE other) -{ - int rv, result; - struct mpi_comm *mc_comm1, *mc_comm2; - - Data_Get_Struct(self, struct mpi_comm, mc_comm1); - Data_Get_Struct(self, struct mpi_comm, mc_comm2); - - rv = MPI_Comm_compare(*mc_comm1->comm, *mc_comm2->comm, &result); - mpi_exception(rv); - - return result == MPI_CONGRUENT; -} - -static VALUE comm_similar_p(VALUE self, VALUE other) -{ - int rv, result; - struct mpi_comm *mc_comm1, *mc_comm2; - - Data_Get_Struct(self, struct mpi_comm, mc_comm1); - Data_Get_Struct(self, struct mpi_comm, mc_comm2); - - rv = MPI_Comm_compare(*mc_comm1->comm, *mc_comm2->comm, &result); - mpi_exception(rv); - - return result == MPI_SIMILAR; -} - -/* Intercomms */ -static VALUE comm_inter_p(VALUE self) -{ - int rv, flag; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Comm_test_inter(*mc_comm->comm, &flag); - mpi_exception(rv); - - return flag ? Qtrue : Qfalse; -} - -static VALUE comm_remote_size(VALUE self) -{ - int rv, size; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Comm_remote_size(*mc_comm->comm, &size); - mpi_exception(rv); - - return rb_fix_new(size); -} - -static VALUE comm_remote_group(VALUE self) -{ - int rv; - struct mpi_comm *mc_comm; - MPI_Group *grp; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - grp = ALLOC(MPI_Group); - - rv = MPI_Comm_remote_group(*mc_comm->comm, grp); - mpi_exception(rv); - - return group_new(grp); -} - -static VALUE comm_attr_put(VALUE self, VALUE keyval, VALUE obj) -{ - int rv; - struct mpi_attr_val *av; - struct mpi_comm *mc_comm; - VALUE dump; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - av = ALLOC(struct mpi_attr_val); - - dump = rb_funcall(mMarshal, id_dump, 1, obj); - av->data = rb_str2cstr(dump, &av->len); - - rv = MPI_Attr_put(*mc_comm->comm, keyval_get_keyval(keyval), av); - mpi_exception(rv); - - return Qtrue; -} - -static VALUE comm_attr_get(VALUE self, VALUE keyval) -{ - int rv, flag; - struct mpi_attr_val *av; - struct mpi_comm *mc_comm; - VALUE str; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Attr_get(*mc_comm->comm, keyval_get_keyval(keyval), &av, &flag); - mpi_exception(rv); - - if (flag) { - str = rb_str_new(av->data, av->len); - return rb_funcall(mMarshal, id_load, 1, str); - } else { - return Qnil; - } -} - -static VALUE comm_attr_delete(VALUE self, VALUE keyval) -{ - int rv; - struct mpi_comm *mc_comm; - - Data_Get_Struct(self, struct mpi_comm, mc_comm); - - rv = MPI_Attr_delete(*mc_comm->comm, keyval_get_keyval(keyval)); - mpi_exception(rv); - - return Qtrue; -} - -/* Constants */ -static VALUE any_tag_to_s(VALUE self) -{ - return rb_str_new("MPI::Comm.ANY_TAG", sizeof("MPI::Comm.ANY_TAG")); -} - -static VALUE any_source_to_s(VALUE self) -{ - return rb_str_new("MPI::Comm.ANY_SOURCE", sizeof("MPI::Comm.ANY_SOURCE")); -} - -static VALUE self_to_s(VALUE self) -{ - return rb_str_new("MPI::Comm.SELF", sizeof("MPI::Comm.SELF")); -} - -static VALUE world_to_s(VALUE self) -{ - return rb_str_new("MPI::Comm.WORLD", sizeof("MPI::Comm.WORLD")); -} - -static VALUE graph_to_s(VALUE self) -{ - return rb_str_new("MPI::Comm.GRAPH", sizeof("MPI::Comm.GRAPH")); -} - -static VALUE cart_to_s(VALUE self) -{ - return rb_str_new("MPI::Comm.CART", sizeof("MPI::Comm.CART")); -} - -/* Initialization */ - -static void init_predef_comms() -{ - extern MPI_Comm *self, *world; - struct mpi_comm *mc_self, *mc_world; - - mc_self = ALLOC(struct mpi_comm); - mc_world = ALLOC(struct mpi_comm); - - mc_self->comm = self; - mc_self->buffer = NULL; - mc_self->bufsize = 0L; - - mc_world->comm = world; - mc_world->buffer = NULL; - mc_world->bufsize = 0L; - - SELF = intra_comm_new(mc_self); - rb_define_singleton_method(SELF, "to_s", self_to_s, 0); - rb_define_const(cComm, "SELF", SELF); - - WORLD = intra_comm_new(mc_world); - rb_define_singleton_method(WORLD, "to_s", world_to_s, 0); - rb_define_const(cComm, "WORLD", WORLD); -} - -void Init_Comm() -{ - - cComm = rb_define_class_under(mMPI, "Comm", rb_cObject); - cIntraComm = rb_define_class_under(mMPI, "IntraComm", cComm); - - init_predef_comms(); - - /* Environmental */ - rb_define_method(cComm, "size", comm_size, 0); - rb_define_method(cComm, "rank", comm_rank, 0); - rb_define_method(cComm, "group", comm_group, 0); - rb_define_method(cComm, "abort", comm_abort, 1); - - /* Constructors */ - rb_define_method(cComm, "dup", comm_dup, 0); - rb_define_method(cComm, "split", comm_split, 2); - rb_define_singleton_method(cComm, "create", comm_create, 1); - - /* Topologies */ - rb_define_method(cComm, "cart_create", comm_cart_create, 3); - rb_define_method(cComm, "graph_create", comm_graph_create, 3); - rb_define_method(cComm, "topo_test", comm_topo_test, 0); - rb_define_method(cComm, "graphdims", comm_graphdims_get, 0); - rb_define_method(cComm, "graphdims_get", comm_graphdims_get, 0); - rb_define_method(cComm, "graph", comm_graph_get, 0); - rb_define_method(cComm, "graph_get", comm_graph_get, 0); - rb_define_method(cComm, "cartdim", comm_cartdim_get, 0); - rb_define_method(cComm, "cartdim_get", comm_cartdim_get, 0); - rb_define_method(cComm, "cart", comm_cart_get, 0); - rb_define_method(cComm, "cart_get", comm_cart_get, 0); - rb_define_method(cComm, "cart_rank", comm_cart_rank, 1); - rb_define_method(cComm, "cart_coords", comm_cart_coords, 1); - rb_define_method(cComm, "graph_neighbors", comm_graph_neighbors, 1); - rb_define_method(cComm, "graph_neighbors_count", - comm_graph_neighbors_count, 1); - rb_define_method(cComm, "cart_shift", comm_cart_shift, 2); - rb_define_method(cComm, "cart_sub", comm_cart_sub, 1); - rb_define_method(cComm, "cart_map", comm_cart_map, 2); - rb_define_method(cComm, "graph_map", comm_graph_map, 2); - - /* Point to point */ - rb_define_method(cComm, "send", comm_send, 3); - rb_define_method(cComm, "recv", comm_recv, 2); - rb_define_method(cComm, "bsend", comm_bsend, 3); - rb_define_method(cComm, "ssend", comm_ssend, 3); - rb_define_method(cComm, "rsend", comm_rsend, 3); - rb_define_method(cComm, "sendrecv", comm_sendrecv, 5); - - /* Non-blocking */ - rb_define_method(cComm, "isend", comm_isend, 3); - rb_define_method(cComm, "ibsend", comm_ibsend, 3); - rb_define_method(cComm, "issend", comm_issend, 3); - rb_define_method(cComm, "irsend", comm_irsend, 3); - rb_define_method(cComm, "irecv", comm_irecv, 2); - - /* Persistent */ - rb_define_method(cComm, "send_init", comm_send_init, 3); - rb_define_method(cComm, "bsend_init", comm_bsend_init, 3); - rb_define_method(cComm, "ssend_init", comm_ssend_init, 3); - rb_define_method(cComm, "rsend_init", comm_rsend_init, 3); - rb_define_method(cComm, "recv_init", comm_recv_init, 2); - - /* Buffering */ - rb_define_method(cComm, "buffer_for", comm_buffer_for, 1); - rb_define_method(cComm, "unbuffer", comm_unbuffer, 0); - - /* Collective */ - rb_define_method(cIntraComm, "barrier", comm_barrier, 2); - rb_define_method(cIntraComm, "bcast", comm_bcast, 2); - rb_define_method(cIntraComm, "gather", comm_gather, 2); - rb_define_method(cIntraComm, "allgather", comm_allgather, 1); - rb_define_method(cIntraComm, "scatter", comm_scatter, 2); - rb_define_method(cIntraComm, "alltoall", comm_alltoall, 1); - rb_define_method(cIntraComm, "reduce", comm_reduce, 3); - rb_define_method(cIntraComm, "allreduce", comm_allreduce, 2); - rb_define_method(cIntraComm, "scan", comm_scan, 2); - rb_define_method(cIntraComm, "reduce_scatter", comm_reduce_scatter, 3); - - /* Probing */ - rb_define_method(cComm, "probe", comm_probe, 2); - rb_define_method(cComm, "iprobe", comm_iprobe, 2); - - /* Comparison */ - rb_define_method(cComm, "==", comm_equal, 1); - rb_define_method(cComm, "congruent?", comm_congruent_p, 1); - rb_define_method(cComm, "similar?", comm_similar_p, 1); - - /* Intercomms */ - rb_define_method(cComm, "inter?", comm_inter_p, 0); - rb_define_method(cComm, "intercomm_create", comm_intercomm_create, 4); - rb_define_method(cComm, "intercomm_merge", comm_intercomm_merge, 4); - rb_define_method(cComm, "remote_size", comm_remote_size, 0); - rb_define_method(cComm, "remote_group", comm_remote_group, 0); - - /* Attributes */ - rb_define_method(cComm, "attr_put", comm_attr_put, 2); - rb_define_method(cComm, "attr_get", comm_attr_get, 1); - rb_define_method(cComm, "attr_delete", comm_attr_delete, 1); - - /* Constants */ - ANY_TAG = rb_obj_alloc(rb_cObject); - rb_define_singleton_method(ANY_TAG, "to_s", any_tag_to_s, 0); - rb_define_const(cComm, "ANY_TAG", ANY_TAG); - - ANY_SOURCE = rb_obj_alloc(rb_cObject); - rb_define_singleton_method(ANY_SOURCE, "to_s", any_source_to_s, 0); - rb_define_const(cComm, "ANY_SOURCE", ANY_SOURCE); - - GRAPH = rb_obj_alloc(rb_cObject); - rb_define_singleton_method(GRAPH, "to_s", graph_to_s, 0); - rb_define_const(cComm, "GRAPH", GRAPH); - - CART = rb_obj_alloc(rb_cObject); - rb_define_singleton_method(CART, "to_s", cart_to_s, 0); - rb_define_const(cComm, "CART", CART); -} diff --git a/src/mpi_comm.h b/src/mpi_comm.h deleted file mode 100644 index 69259b1..0000000 --- a/src/mpi_comm.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef MPI_RUBY_COMM_H -#define MPI_RUBY_COMM_H - -extern VALUE cComm, cIntraComm; - -extern void Init_Comm(); - -#endif /* MPI_RUBY_COMM_H */ diff --git a/src/mpi_exception.c b/src/mpi_exception.c deleted file mode 100644 index 52d81d3..0000000 --- a/src/mpi_exception.c +++ /dev/null @@ -1,78 +0,0 @@ -#include "mpi.h" -#include "ruby.h" -#include "global.h" - -VALUE cException; - -void mpi_exception(int retcode) -{ - switch (retcode) { - case MPI_SUCCESS: - break; - case MPI_ERR_BUFFER: - rb_raise(cException, "Invalid buffer pointer"); - break; - case MPI_ERR_COUNT: - rb_raise(cException, "Invalid count argument"); - break; - case MPI_ERR_TYPE: - rb_raise(cException, "Invalid datatype argument"); - break; - case MPI_ERR_TAG: - rb_raise(cException, "Invalid tag argument"); - break; - case MPI_ERR_COMM: - rb_raise(cException, "Invalid communicator"); - break; - case MPI_ERR_RANK: - rb_raise(cException, "Invalid rank"); - break; - case MPI_ERR_REQUEST: - rb_raise(cException, "Invalid request handle"); - break; - case MPI_ERR_ROOT: - rb_raise(cException, "Invalid root"); - break; - case MPI_ERR_GROUP: - rb_raise(cException, "Invalid group"); - break; - case MPI_ERR_OP: - rb_raise(cException, "Invalid operation"); - break; - case MPI_ERR_TOPOLOGY: - rb_raise(cException, "Invalid topology"); - break; - case MPI_ERR_DIMS: - rb_raise(cException, "Invalid dimension argument"); - break; - case MPI_ERR_ARG: - rb_raise(cException, "Invalid argument"); - break; - case MPI_ERR_UNKNOWN: - rb_raise(cException, "Unknown error"); - break; - case MPI_ERR_TRUNCATE: - rb_raise(cException, "Message truncated on receive"); - break; - case MPI_ERR_OTHER: - rb_raise(cException, "Other error"); - break; - case MPI_ERR_INTERN: - rb_raise(cException, "Internal MPI error"); - break; - case MPI_ERR_PENDING: - rb_raise(cException, "Operation not complete"); - break; - case MPI_ERR_IN_STATUS: - rb_raise(cException, "Error available in status"); - break; - default: - rb_raise(cException, "Unknown error"); - break; - } -} - -void Init_MPI_Exception() -{ - cException = rb_define_class_under(mMPI, "Exception", rb_eException); -} diff --git a/src/mpi_exception.h b/src/mpi_exception.h deleted file mode 100644 index 4fb5537..0000000 --- a/src/mpi_exception.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef MPI_RUBY_EXCEPTION_H -#define MPI_RUBY_EXCEPTION_H - -#include "ruby.h" - -extern VALUE cException; -extern void mpi_exception(int retcode); -extern void Init_MPI_Exception(); - -#endif /* MPI_RUBY_EXCEPTION_H */ diff --git a/src/mpi_group.c b/src/mpi_group.c deleted file mode 100644 index 8501c28..0000000 --- a/src/mpi_group.c +++ /dev/null @@ -1,295 +0,0 @@ -#include "mpi.h" -#include "ruby.h" -#include "global.h" - -VALUE cGroup; - -static void group_free(MPI_Group *grp) -{ - int rv; - - rv = MPI_Group_free(grp); - mpi_exception(rv); - free(grp); -} - -VALUE group_new(MPI_Group *grp) -{ - VALUE tdata; - - tdata = Data_Wrap_Struct(cGroup, NULL, group_free, grp); - rb_obj_call_init(tdata, 0, NULL); - - return tdata; -} - -MPI_Group *group_get_mpi_group(VALUE rgrp) -{ - MPI_Group *grp; - - Data_Get_Struct(rgrp, MPI_Group, grp); - - return grp; -} - -static VALUE group_size(VALUE self) -{ - int rv, size; - MPI_Group *grp; - - Data_Get_Struct(self, MPI_Group, grp); - - rv = MPI_Group_size(*grp, &size); - mpi_exception(rv); - - return rb_fix_new(size); -} - -static VALUE group_rank(VALUE self) -{ - int rv, rank; - MPI_Group *grp; - - Data_Get_Struct(self, MPI_Group, grp); - - rv = MPI_Group_rank(*grp, &rank); - mpi_exception(rv); - - if (rank == MPI_UNDEFINED) - return UNDEFINED; - - return rb_fix_new(rank); -} - -static VALUE group_translate_ranks(VALUE self, VALUE ary, VALUE rgrp2) -{ - VALUE outary; - MPI_Group *grp1, *grp2; - int rv, i, len, *ranks1, *ranks2; - - Data_Get_Struct(self, MPI_Group, grp1); - Data_Get_Struct(grp2, MPI_Group, grp2); - - len = RARRAY(ary)->len; - ranks1 = ALLOCA_N(int, len); - ranks2 = ALLOCA_N(int, len); - - for (i = 0; i < len; i++) - ranks1[i] = FIX2INT(rb_ary_entry(ary, i)); - - rv = MPI_Group_translate_ranks(*grp1, len, ranks1, *grp2, ranks2); - mpi_exception(rv); - - outary = rb_ary_new2(len); - for (i = 0; i < len; i++) { - if (ranks2[i] == MPI_UNDEFINED) - rb_ary_store(outary, i, UNDEFINED); - else - rb_ary_store(outary, i, rb_fix_new(ranks2[i])); - } - - return outary; -} - -static VALUE group_equal(VALUE self, VALUE rgrp2) -{ - int rv, flag; - MPI_Group *grp1, *grp2; - - Data_Get_Struct(self, MPI_Group, grp1); - Data_Get_Struct(grp2, MPI_Group, grp2); - - rv = MPI_Group_compare(*grp1, *grp2, &flag); - mpi_exception(rv); - - return flag == MPI_IDENT ? Qtrue : Qfalse; -} - -static VALUE group_similar_p(VALUE self, VALUE rgrp2) -{ - int rv, flag; - MPI_Group *grp1, *grp2; - - Data_Get_Struct(self, MPI_Group, grp1); - Data_Get_Struct(grp2, MPI_Group, grp2); - - rv = MPI_Group_compare(*grp1, *grp2, &flag); - mpi_exception(rv); - - return flag == MPI_SIMILAR ? Qtrue : Qfalse; -} - -static VALUE group_union(VALUE self, VALUE rgrp2) -{ - int rv; - MPI_Group *grp1, *grp2, *newgrp; - - Data_Get_Struct(self, MPI_Group, grp1); - Data_Get_Struct(grp2, MPI_Group, grp2); - - newgrp = ALLOC(MPI_Group); - - rv = MPI_Group_union(*grp1, *grp2, newgrp); - mpi_exception(rv); - - return group_new(newgrp); -} - -static VALUE group_intersection(VALUE self, VALUE rgrp2) -{ - int rv; - MPI_Group *grp1, *grp2, *newgrp; - - Data_Get_Struct(self, MPI_Group, grp1); - Data_Get_Struct(grp2, MPI_Group, grp2); - - newgrp = ALLOC(MPI_Group); - - rv = MPI_Group_intersection(*grp1, *grp2, newgrp); - mpi_exception(rv); - - return group_new(newgrp); -} - -static VALUE group_difference(VALUE self, VALUE rgrp2) -{ - int rv; - MPI_Group *grp1, *grp2, *newgrp; - - Data_Get_Struct(self, MPI_Group, grp1); - Data_Get_Struct(grp2, MPI_Group, grp2); - - newgrp = ALLOC(MPI_Group); - - rv = MPI_Group_difference(*grp1, *grp2, newgrp); - mpi_exception(rv); - - return group_new(newgrp); -} - -static VALUE group_incl(VALUE self, VALUE ary) -{ - int rv, i, len, *ranks; - MPI_Group *grp, *newgrp; - - Data_Get_Struct(self, MPI_Group, grp); - - newgrp = ALLOC(MPI_Group); - - len = RARRAY(ary)->len; - ranks = ALLOCA_N(int, len); - - for (i = 0; i < len; i++) - ranks[i] = FIX2INT(rb_ary_entry(ary, i)); - - rv = MPI_Group_incl(*grp, len, ranks, newgrp); - mpi_exception(rv); - - return group_new(newgrp); -} - -static VALUE group_excl(VALUE self, VALUE ary) -{ - int rv, i, len, *ranks; - MPI_Group *grp, *newgrp; - - Data_Get_Struct(self, MPI_Group, grp); - - newgrp = ALLOC(MPI_Group); - - len = RARRAY(ary)->len; - ranks = ALLOCA_N(int, len); - - for (i = 0; i < len; i++) - ranks[i] = FIX2INT(rb_ary_entry(ary, i)); - - rv = MPI_Group_excl(*grp, len, ranks, newgrp); - mpi_exception(rv); - - return group_new(newgrp); -} - -static VALUE group_range_incl(VALUE self, VALUE ary) -{ - int rv, i, len, **ranks; - MPI_Group *grp, *newgrp; - - Data_Get_Struct(self, MPI_Group, grp); - - newgrp = ALLOC(MPI_Group); - - len = RARRAY(ary)->len; - ranks = ALLOCA_N(int *, len); - - for (i = 0; i < len; i++) { - int j; - VALUE range; - - range = rb_ary_entry(ary, i); - ranks[i] = ALLOCA_N(int, 3); - - for (j = 0; j < 3; j++) - ranks[i][j] = FIX2INT(rb_ary_entry(range, j)); - } - - /* Thank you, cdecl */ - rv = MPI_Group_range_incl(*grp, len, (int (*)[3])ranks, newgrp); - mpi_exception(rv); - - return group_new(newgrp); -} - -static VALUE group_range_excl(VALUE self, VALUE ary) -{ - int rv, i, len, **ranks; - MPI_Group *grp, *newgrp; - - Data_Get_Struct(self, MPI_Group, grp); - - newgrp = ALLOC(MPI_Group); - - len = RARRAY(ary)->len; - ranks = ALLOCA_N(int *, len); - - for (i = 0; i < len; i++) { - int j; - VALUE range; - - range = rb_ary_entry(ary, i); - ranks[i] = ALLOCA_N(int, 3); - - for (j = 0; j < 3; j++) - ranks[i][j] = FIX2INT(rb_ary_entry(range, j)); - } - - /* Thank you, cdecl */ - rv = MPI_Group_range_excl(*grp, len, (int (*)[3])ranks, newgrp); - mpi_exception(rv); - - return group_new(newgrp); -} - -void Init_Group() -{ - cGroup = rb_define_class_under(mMPI, "Group", rb_cObject); - - rb_define_method(cGroup, "size", group_size, 0); - rb_define_method(cGroup, "rank", group_rank, 0); - - rb_define_method(cGroup, "translate_ranks", group_translate_ranks, 2); - - rb_define_method(cGroup, "==", group_equal, 1); - rb_define_method(cGroup, "similar?", group_similar_p, 1); - - rb_define_method(cGroup, "|", group_union, 1); - rb_define_method(cGroup, "union", group_union, 1); - rb_define_method(cGroup, "-", group_difference, 1); - rb_define_method(cGroup, "difference", group_difference, 1); - rb_define_method(cGroup, "&", group_intersection, 1); - rb_define_method(cGroup, "intersection", group_intersection, 1); - - rb_define_method(cGroup, "incl", group_incl, 1); - rb_define_method(cGroup, "range_incl", group_range_incl, 1); - rb_define_method(cGroup, "excl", group_excl, 1); - rb_define_method(cGroup, "range_excl", group_range_excl, 1); -} diff --git a/src/mpi_group.h b/src/mpi_group.h deleted file mode 100644 index 213ca42..0000000 --- a/src/mpi_group.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef MPI_RUBY_GROUP_H -#define MPI_RUBY_GROUP_H - -#include "mpi.h" -#include "ruby.h" - -extern VALUE group_new(MPI_Group *grp); -extern MPI_Group *group_get_mpi_group(VALUE rgrp); - -extern void Init_Group(); - -#endif /* MPI_RUBY_GROUP_H */ diff --git a/src/mpi_keyval.c b/src/mpi_keyval.c deleted file mode 100644 index eaef734..0000000 --- a/src/mpi_keyval.c +++ /dev/null @@ -1,102 +0,0 @@ -#include "mpi.h" -#include "ruby.h" -#include "global.h" - -VALUE cKeyval; - -/* The user needn't know that this is an int */ -struct mpi_keyval { - int keyval; -}; - -static int keyval_copy(MPI_Comm oldcomm, int keyval, void *data, - void *attr_in, void *attr_out, int *flag) -{ - struct mpi_attr_val *in, *out; - - in = attr_in; - out = ALLOC(struct mpi_attr_val); - out->data = ALLOC_N(char, in->len + 1); - - MEMCPY(out->data, in->data, char, in->len + 1); - - *(struct mpi_attr_val **)attr_out = out; - - *flag = 1; - - return 0; -} - -static int keyval_copy_uniq(MPI_Comm oldcomm, int keyval, void *data, - void *attr_in, void *attr_out, int *flag) -{ - struct mpi_attr_val *in, *out; - - in = attr_in; - out = ALLOC(struct mpi_attr_val); - out->data = ALLOC_N(char, in->len + 1); - - MEMCPY(out->data, in->data, char, in->len + 1); - - *(struct mpi_attr_val **)attr_out = out; - - *flag = 0; - - return 0; -} - -static int keyval_delete(MPI_Comm oldcomm, int keyval, void *attr, void *data) -{ - struct mpi_attr_val *in; - - free(in->data); - free(in); - - return 0; -} - -int keyval_get_keyval(VALUE rkv) -{ - struct mpi_keyval *kv; - - Data_Get_Struct(rkv, struct mpi_keyval, kv); - - return kv->keyval; -} - -static void keyval_free(struct mpi_keyval *kv) -{ - int rv; - - rv = MPI_Keyval_free(&kv->keyval); - free(kv); -} - -static VALUE keyval_create(VALUE self, VALUE uniq) -{ - int rv; - VALUE tdata; - struct mpi_keyval *kv; - - kv = ALLOC(struct mpi_keyval); - if ((uniq != Qfalse) && (uniq != Qnil)) { - rv = MPI_Keyval_create(keyval_copy_uniq, keyval_delete, &kv->keyval, - NULL); - mpi_exception(rv); - } else { - rv = MPI_Keyval_create(keyval_copy, keyval_delete, &kv->keyval, NULL); - mpi_exception(rv); - } - - tdata = Data_Wrap_Struct(cKeyval, NULL, keyval_free, kv); - rb_obj_call_init(tdata, 0, NULL); - - return tdata; -} - -void Init_Keyval() -{ - cKeyval = rb_define_class_under(mMPI, "Keyval", rb_cObject); - - rb_define_singleton_method(cKeyval, "create", keyval_create, 1); -} diff --git a/src/mpi_keyval.h b/src/mpi_keyval.h deleted file mode 100644 index afc2619..0000000 --- a/src/mpi_keyval.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef MPI_RUBY_KEYVAL_H -#define MPI_RUBY_KEYVAL_H - -struct mpi_attr_val { - int len; - char *data; -}; - -extern VALUE cKeyval; - -extern int keyval_get_keyval(VALUE rkv); - -extern void Init_Keyval(); - -#endif /* MPI_RUBY_KEYVAL_H */ diff --git a/src/mpi_op.c b/src/mpi_op.c deleted file mode 100644 index ab48566..0000000 --- a/src/mpi_op.c +++ /dev/null @@ -1,580 +0,0 @@ -#include "mpi.h" -#include "ruby.h" -#include "global.h" - -struct mpi_op { - MPI_Op *op; - int idx; -}; - -VALUE cOp; -static ID id_call; - -/* Welcome to amature hour... */ -#include "mpi_op_fns.c" - -static int op_register(VALUE proc) -{ - int i; - - for (i = 0; i < MAX_OPS; i++) { - if (!op_table[i].assigned) { - op_table[i].proc = proc; - op_table[i].assigned = 1; - op_table[i].resize = 0; - break; - } - } - - if (i == MAX_OPS) - return -1; - - return i; -} - -static void op_free(struct mpi_op *op) -{ - MPI_Op_free(op->op); - if (op->idx >= 0) - op_table[op->idx].assigned = 0; -} - -static VALUE op_new(struct mpi_op *op) -{ - VALUE tdata; - - tdata = Data_Wrap_Struct(cOp, NULL, op_free, op); - rb_obj_call_init(tdata, 0, NULL); - - return tdata; -} - -MPI_Op *op_get_mpi_op(VALUE rop) -{ - struct mpi_op *op; - - Data_Get_Struct(rop, struct mpi_op, op); - - return op->op; -} - -int op_get_resize(VALUE rop) -{ - struct mpi_op *op; - - Data_Get_Struct(rop, struct mpi_op, op); - - return op_table[op->idx].resize; -} - -void op_clear_resize(VALUE rop) -{ - struct mpi_op *op; - - Data_Get_Struct(rop, struct mpi_op, op); - - op_table[op->idx].resize = 0; -} - -static VALUE op_create(VALUE self, VALUE proc, VALUE rcommute) -{ - int rv, commute; - struct mpi_op *op; - - op = ALLOC(struct mpi_op); - op->op = ALLOC(MPI_Op); - - op->idx = op_register(proc); - if (op->idx < 0) { - free(op); - mpi_exception(MPI_ERR_INTERN); - return Qnil; - } - - commute = ((rcommute != Qfalse) && (rcommute != Qnil)); - - rv = MPI_Op_create(fn_table[op->idx], commute, op->op); - mpi_exception(rv); - - return op_new(op); -} - - -/* Predefines */ -static ID id_cmp, id_sum, id_prod; -static ID id_land, id_band, id_lor, id_bor, id_bxor; - -static void op_max(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - int cmp; - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - cmp = rb_funcall(receiver, id_cmp, 1, arg); - - /* We only need to copy invec to outvec if invec > outvec */ - if (cmp > 0) { - MEMCPY(((char *)inoutvec) + (i * size), - ((char *)invec) + (i * size), - char, length + 1); - } - } -} - -static void op_min(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - int cmp; - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - cmp = FIX2INT(rb_funcall(receiver, id_cmp, 1, arg)); - - /* We only need to copy invec to outvec if invec < outvec */ - if (cmp < 0) { - MEMCPY(((char *)inoutvec) + (i * size), - ((char *)invec) + (i * size), - char, length + 1); - } - } -} - -static void op_sum(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(receiver, id_sum, 1, arg); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_prod(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(receiver, id_prod, 1, arg); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_lor(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(receiver, id_lor, 1, arg); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_bor(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(receiver, id_bor, 1, arg); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_land(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(receiver, id_land, 1, arg); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_band(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(receiver, id_band, 1, arg); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_lxor(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - int val, val1, val2; - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - val1 = ((arg1 != Qfalse) && (arg1 != Qnil)); - val2 = ((arg2 != Qfalse) && (arg2 != Qnil)); - - val = (val1 || val2) && (!val1 || !val2); - - str = rb_funcall(mMarshal, id_dump, 1, rb_fix_new(val)); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_bxor(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, receiver, arg; - - str = rb_str_new(((char *)invec) + (i * size), size); - receiver = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(receiver, id_bxor, 1, arg); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_maxloc(void *invec, void *inoutvec, int *len, - MPI_Datatype *dtype) -{ - int rv, i, size, length; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - int cmp; - VALUE str, ary1, ary2; - - str = rb_str_new(((char *)invec) + (i * size), size); - ary1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - ary2 = rb_funcall(mMarshal, id_load, 1, str); - - cmp = rb_funcall(rb_ary_entry(ary1, 0),id_cmp,1,rb_ary_entry(ary2, 0)); - - /* We only need to copy invec to outvec if invec > outvec */ - if (cmp > 0) { - MEMCPY(((char *)inoutvec) + (i * size), - ((char *)invec) + (i * size), - char, length + 1); - } - } -} - -static void op_minloc(void *invec, void *inoutvec, int *len, - MPI_Datatype *dtype) -{ - int rv, i, size, length; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - int cmp; - VALUE str, ary1, ary2; - - str = rb_str_new(((char *)invec) + (i * size), size); - ary1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - ary2 = rb_funcall(mMarshal, id_load, 1, str); - - cmp = rb_funcall(rb_ary_entry(ary1, 0),id_cmp,1,rb_ary_entry(ary2, 0)); - - /* We only need to copy invec to outvec if invec < outvec */ - if (cmp < 0) { - MEMCPY(((char *)inoutvec) + (i * size), - ((char *)invec) + (i * size), - char, length + 1); - } - } -} - -static void init_predef_ops() -{ - int rv; - struct mpi_op *max, *min, *sum, *prod; - struct mpi_op *land, *band, *lor, *bor, *lxor, *bxor; - struct mpi_op *maxloc, *minloc; - - id_cmp = rb_intern("<=>"); - id_sum = rb_intern("+"); - id_prod = rb_intern("*"); - - max = ALLOC(struct mpi_op); - max->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_max, 1, max->op); - mpi_exception(rv); - rb_define_const(cOp, "MAX", op_new(max)); - - min = ALLOC(struct mpi_op); - min->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_min, 1, min->op); - mpi_exception(rv); - rb_define_const(cOp, "MIN", op_new(min)); - - sum = ALLOC(struct mpi_op); - sum->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_sum, 1, sum->op); - mpi_exception(rv); - rb_define_const(cOp, "SUM", op_new(sum)); - - prod = ALLOC(struct mpi_op); - prod->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_prod, 1, prod->op); - mpi_exception(rv); - rb_define_const(cOp, "PROD", op_new(prod)); - - id_land = rb_intern("and"); - id_band = rb_intern("&"); - id_lor = rb_intern("or"); - id_bor = rb_intern("|"); - /* lxor is hard coded */ - id_bxor = rb_intern("^"); - - land = ALLOC(struct mpi_op); - land->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_land, 1, land->op); - mpi_exception(rv); - rb_define_const(cOp, "LAND", op_new(land)); - - band = ALLOC(struct mpi_op); - band->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_band, 1, band->op); - mpi_exception(rv); - rb_define_const(cOp, "BAND", op_new(band)); - - lor = ALLOC(struct mpi_op); - lor->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_lor, 1, lor->op); - mpi_exception(rv); - rb_define_const(cOp, "LOR", op_new(lor)); - - bor = ALLOC(struct mpi_op); - bor->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_bor, 1, bor->op); - mpi_exception(rv); - rb_define_const(cOp, "BOR", op_new(bor)); - - lxor = ALLOC(struct mpi_op); - lxor->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_lxor, 1, lxor->op); - mpi_exception(rv); - rb_define_const(cOp, "LXOR", op_new(lxor)); - - bxor = ALLOC(struct mpi_op); - bxor->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_bxor, 1, bxor->op); - mpi_exception(rv); - rb_define_const(cOp, "BXOR", op_new(bxor)); - - - maxloc = ALLOC(struct mpi_op); - maxloc->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_maxloc, 1, maxloc->op); - mpi_exception(rv); - rb_define_const(cOp, "MAXLOC", op_new(maxloc)); - - minloc = ALLOC(struct mpi_op); - minloc->op = ALLOC(MPI_Op); - rv = MPI_Op_create(op_minloc, 1, minloc->op); - mpi_exception(rv); - rb_define_const(cOp, "MINLOC", op_new(minloc)); -} - -void Init_Op() -{ - int i; - - for (i = 0; i < MAX_OPS; i++) { - op_table[i].assigned = 0; - op_table[i].resize = 0; - } - - id_call = rb_intern("call"); - - cOp = rb_define_class_under(mMPI, "Op", rb_cObject); - - init_predef_ops(); - - rb_define_singleton_method(cOp, "create", op_create, 2); -} diff --git a/src/mpi_op.h b/src/mpi_op.h deleted file mode 100644 index 75fd5ba..0000000 --- a/src/mpi_op.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef MPI_RUBY_OP_H -#define MPI_RUBY_OP_H - -#include "mpi.h" -#include "ruby.h" - -extern void op_clear_resize(VALUE rop); -extern int op_get_resize(VALUE rop); -extern MPI_Op *op_get_mpi_op(VALUE rop); -extern void Init_Op(); - -#endif /* MPI_RUBY_OP_H */ diff --git a/src/mpi_op_fns.c b/src/mpi_op_fns.c deleted file mode 100644 index 8a5c2e7..0000000 --- a/src/mpi_op_fns.c +++ /dev/null @@ -1,810 +0,0 @@ - -#define MAX_OPS 25 - -static struct { - VALUE proc; - int assigned, resize; -} op_table[MAX_OPS]; - -static void op_0(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[0].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[0].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_1(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[1].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[1].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_2(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[2].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[2].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_3(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[3].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[3].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_4(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[4].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[4].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_5(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[5].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[5].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_6(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[6].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[6].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_7(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[7].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[7].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_8(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[8].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[8].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_9(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[9].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[9].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_10(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[10].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[10].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_11(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[11].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[11].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_12(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[12].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[12].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_13(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[13].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[13].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_14(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[14].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[14].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_15(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[15].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[15].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_16(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[16].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[16].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_17(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[17].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[17].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_18(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[18].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[18].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_19(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[19].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[19].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_20(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[20].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[20].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_21(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[21].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[21].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_22(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[22].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[22].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_23(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[23].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[23].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static void op_24(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[24].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[24].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -static MPI_User_function *fn_table[MAX_OPS] = { - op_0, - op_1, - op_2, - op_3, - op_4, - op_5, - op_6, - op_7, - op_8, - op_9, - op_10, - op_11, - op_12, - op_13, - op_14, - op_15, - op_16, - op_17, - op_18, - op_19, - op_20, - op_21, - op_22, - op_23, - op_24, -}; diff --git a/src/mpi_request.c b/src/mpi_request.c deleted file mode 100644 index 97ffa11..0000000 --- a/src/mpi_request.c +++ /dev/null @@ -1,695 +0,0 @@ -#include "mpi.h" -#include "ruby.h" -#include -#include "global.h" - -struct mpi_request { - MPI_Request *req; - MPI_Comm *comm; - req_type type; - VALUE obj; - int peer, tag; - /* Transmission is always a two stage process: - - Getting or sending the buffer size - - Getting or sending the actual data - */ - enum {TX_SIZE, TX_DATA} stage; - int buflen; - char *buf; -}; - -VALUE cRequest; - -#define INITIAL_RLIST_CAP 16 -static int capacity = INITIAL_RLIST_CAP; -static struct mpi_request **rlist = NULL; -static void request_watch(struct mpi_request *mr) -{ - int i; - - for (i = 0; i < capacity; i++) { - if (rlist[i] == NULL) { - rlist[i] = mr; - break; - } - } - - if (i == capacity) { - capacity *= 2; - REALLOC_N(rlist, struct mpi_request *, capacity); - rlist[i] = mr; - } -} - -static void request_unwatch(struct mpi_request *mr) -{ - int i; - - for (i = 0; i < capacity; i++) { - if (rlist[i] == mr) { - rlist[i] = NULL; - break; - } - } -} - -static VALUE request_thread(void *data) -{ - int rv, i, flag; - MPI_Status stat; - - while (1) { - for (i = 0; i < capacity; i++) { - if (rlist[i] != NULL) { - rv = MPI_Test(rlist[i]->req, &flag, &stat); - mpi_exception(rv); - - if (flag) { - /* XXX: Is it ok to ignore the status? */ - free(rlist[i]->buf); - rlist[i]->buf = ALLOC_N(char, rlist[i]->buflen + 1); - MPI_Irecv(rlist[i]->buf, rlist[i]->buflen + 1, MPI_BYTE, - rlist[i]->peer, rlist[i]->tag, *rlist[i]->comm, - rlist[i]->req); - rlist[i]->stage = TX_DATA; - rlist[i] = NULL; - } - } - } - rb_thread_schedule(); - } - - return Qtrue; -} - -static void request_mark(struct mpi_request *mr) -{ - rb_gc_mark(mr->obj); -} - -static void request_free(struct mpi_request *mr) -{ - int rv; - - rv = MPI_Request_free(mr->req); - mpi_exception(rv); - - free(mr->req); - free(mr->buf); - free(mr); -} - -/* - request_new(NORMAL, MPI_Request *req); - request_new(P[BSR]SEND, VALUE obj, int dest, int tag, MPI_Comm *comm); - request_new(RECV, int src, int tag, MPI_Comm *comm); -*/ - -VALUE request_new(req_type type, ...) -{ - va_list args; - struct mpi_request *mr; - VALUE tdata; - - mr = ALLOC(struct mpi_request); - mr->type = type; - mr->obj = Qnil; - - va_start(args, type); - switch (type) { - case PSEND: - case PBSEND: - case PSSEND: - case PRSEND: - mr->obj = va_arg(args, VALUE); - /* fall through */ - case RECV: - mr->req = ALLOC(MPI_Request); - mr->peer = va_arg(args, int); - mr->tag = va_arg(args, int); - mr->comm = va_arg(args, MPI_Comm *); - mr->stage = TX_SIZE; - mr->buflen = 0; - mr->buf = NULL; - break; - case NORMAL: - mr->req = va_arg(args, MPI_Request *); - break; - } - va_end(args); - - tdata = Data_Wrap_Struct(cRequest, request_mark, request_free, mr); - rb_obj_call_init(tdata, 0, NULL); - - return tdata; -} - -static VALUE request_wait(VALUE self) -{ - int rv; - struct mpi_request *mr; - MPI_Status *stat; - - Data_Get_Struct(self, struct mpi_request, mr); - - stat = ALLOC(MPI_Status); - - if ((mr->type == RECV) && (mr->stage == TX_SIZE)) { - rv = MPI_Wait(mr->req, stat); - mpi_exception(rv); - - free(mr->buf); - mr->buf = ALLOC_N(char, mr->buflen + 1); - - rv = MPI_Irecv(mr->buf, mr->buflen + 1, MPI_BYTE, mr->peer, mr->tag, - *mr->comm, mr->req); - mpi_exception(rv); - - request_unwatch(mr); - - mr->stage = TX_DATA; - } - - rv = MPI_Wait(mr->req, stat); - mpi_exception(rv); - - if (mr->type == RECV) { - VALUE str; - - str = rb_str_new2(mr->buf); - mr->obj = rb_funcall(mMarshal, id_load, 1, str); - free(mr->buf); - mr->buf = NULL; - } - - return status_new(stat); -} - -static VALUE request_waitany(VALUE self, VALUE rreqs) -{ - int rv; - int i, length, no_sizereqs = 0; - MPI_Status *stat; - MPI_Request *reqs, *sizereqs; - struct mpi_request *mr; - - length = RARRAY(rreqs)->len; - reqs = ALLOCA_N(MPI_Request, length); - sizereqs = ALLOCA_N(MPI_Request, length); - stat = ALLOC(MPI_Status); - - for (i = 0; i < length; i++) { - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - - /* Only requests that are not receives in the receive size stage */ - /* can possibly be ready to go. */ - if ((mr->type == RECV) && (mr->stage == TX_SIZE)) { - reqs[i] = MPI_REQUEST_NULL; - sizereqs[i] = *mr->req; - no_sizereqs++; - } else { - reqs[i] = *mr->req; - sizereqs[i] = MPI_REQUEST_NULL; - } - } - - if (no_sizereqs == length) { - VALUE str; - - /* First to finish getting their length wins */ - rv = MPI_Waitany(length, sizereqs, &i, stat); - mpi_exception(rv); - - if (i == MPI_UNDEFINED) - return UNDEFINED; - - free(mr->buf); - mr->buf = ALLOC_N(char, mr->buflen + 1); - - rv = MPI_Irecv(mr->buf, mr->buflen + 1, MPI_BYTE, mr->peer, mr->tag, - *mr->comm, mr->req); - mpi_exception(rv); - - MPI_Wait(&sizereqs[i], stat); - mpi_exception(rv); - - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - if (sizereqs[i] == MPI_REQUEST_NULL) - *mr->req = MPI_REQUEST_NULL; - - str = rb_str_new2(mr->buf); - mr->obj = rb_funcall(mMarshal, id_load, 1, str); - free(mr->buf); - mr->buf = NULL; - - request_unwatch(mr); - } else { - rv = MPI_Waitany(length, reqs, &i, stat); - mpi_exception(rv); - - if (i == MPI_UNDEFINED) - return UNDEFINED; - - if (reqs[i] == MPI_REQUEST_NULL) { - /* assign the request in rreqs to be request null */ - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - *mr->req = MPI_REQUEST_NULL; - } - } - - return rb_ary_new3(2, rb_fix_new(i), status_new(stat)); -} - -static VALUE request_waitall(VALUE self, VALUE rreqs) -{ - int rv; - int i, length, have_sizereqs = 0; - MPI_Status *stats; - MPI_Request *reqs, *sizereqs; - VALUE rstats; - struct mpi_request *mr; - - length = RARRAY(rreqs)->len; - reqs = ALLOCA_N(MPI_Request, length); - sizereqs = ALLOCA_N(MPI_Request, length); - stats = ALLOCA_N(MPI_Status, length); - - for (i = 0; i < length; i++) { - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - if ((mr->type == RECV) && (mr->stage == TX_SIZE)) { - sizereqs[i] = *mr->req; - have_sizereqs = 1; - } else { - sizereqs[i] = MPI_REQUEST_NULL; - } - - reqs[i] = *mr->req; - } - - /* If any of the requests are for receivers still waiting on buffers, we - have to wait on those first. */ - if (have_sizereqs) { - rv = MPI_Waitall(length, sizereqs, stats); - mpi_exception(rv); - for (i = 0; i < length; i++) { - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - if ((mr->type == RECV) && (mr->stage == TX_SIZE)) { - free(mr->buf); - - mr->buf = ALLOC_N(char, mr->buflen + 1); - rv = MPI_Irecv(mr->buf, mr->buflen + 1, MPI_BYTE, mr->peer, - mr->tag, *mr->comm, mr->req); - mpi_exception(rv); - - mr->stage = TX_DATA; - request_unwatch(mr); - } - reqs[i] = *mr->req; - } - } - - rv = MPI_Waitall(length, reqs, stats); - mpi_exception(rv); - - rstats = rb_ary_new2(length); - for (i = 0; i < length; i++) { - MPI_Status *stat; - - if (reqs[i] == MPI_REQUEST_NULL) { - /* assign the request in rreqs to be request null */ - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - *mr->req = MPI_REQUEST_NULL; - } - - stat = ALLOC(MPI_Status); - *stat = stats[i]; - rb_ary_store(rstats, i, status_new(stat)); - } - - return rstats; -} - -static VALUE request_waitsome(VALUE self, VALUE rreqs) -{ - int rv; - int i, length; - int outcount; - int *indices; - MPI_Status *stats; - MPI_Request *reqs; - VALUE routreqs, rstats; - - length = RARRAY(rreqs)->len; - reqs = ALLOCA_N(MPI_Request, length); - stats = ALLOCA_N(MPI_Status, length); - indices = ALLOCA_N(int, length); - - for (i = 0; i < length; i++) { - struct mpi_request *req; - - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, req); - reqs[i] = *req->req; - } - - rv = MPI_Waitsome(length, reqs, &outcount, indices, stats); - mpi_exception(rv); - - if (outcount == MPI_UNDEFINED) - return UNDEFINED; - - routreqs = rb_ary_new2(outcount); - rstats = rb_ary_new2(outcount); - for (i = 0; i < outcount; i++) { - MPI_Status *stat; - - if (reqs[indices[i]] == MPI_REQUEST_NULL) { - struct mpi_request *req; - - /* assign the request in rreqs to be request null */ - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, req); - *req->req = MPI_REQUEST_NULL; - } - - rb_ary_store(routreqs, i, rb_ary_entry(rreqs, indices[i])); - - stat = ALLOC(MPI_Status); - *stat = stats[indices[i]]; - rb_ary_store(rstats, i, status_new(stat)); - } - - return rb_ary_new3(2, routreqs, rstats); -} - -static VALUE request_test(VALUE self) -{ - int rv, flag; - MPI_Status *stat; - struct mpi_request *mr; - - Data_Get_Struct(self, struct mpi_request, mr); - - if ((mr->type == RECV) && (mr->stage == TX_SIZE)) - return rb_ary_new3(2, Qfalse, Qnil); - - stat = ALLOC(MPI_Status); - - rv = MPI_Test(mr->req, &flag, stat); - mpi_exception(rv); - - return rb_ary_new3(2, flag ? Qtrue: Qfalse, status_new(stat)); -} - -static VALUE request_testany(VALUE self, VALUE rreqs) -{ - int rv, flag; - int i, length; - MPI_Status *stat; - MPI_Request *reqs; - struct mpi_request *mr; - - length = RARRAY(rreqs)->len; - reqs = ALLOCA_N(MPI_Request, length); - stat = ALLOC(MPI_Status); - - for (i = 0; i < length; i++) { - - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - if ((mr->type == RECV) && (mr->stage == TX_SIZE)) - reqs[i] = MPI_REQUEST_NULL; - else - reqs[i] = *mr->req; - } - - rv = MPI_Testany(length, reqs, &i, &flag, stat); - mpi_exception(rv); - - if (i == MPI_UNDEFINED) - return UNDEFINED; - - if (reqs[i] == MPI_REQUEST_NULL) { - /* assign the request in rreqs to be request null */ - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - *mr->req = MPI_REQUEST_NULL; - } - - return rb_ary_new3(3, rb_fix_new(i), flag ? Qtrue:Qfalse, status_new(stat)); -} - -static VALUE request_testall(VALUE self, VALUE rreqs) -{ - int rv, flag; - int i, length; - MPI_Status *stats; - MPI_Request *reqs; - VALUE rstats; - struct mpi_request *mr; - - length = RARRAY(rreqs)->len; - reqs = ALLOCA_N(MPI_Request, length); - stats = ALLOCA_N(MPI_Status, length); - - for (i = 0; i < length; i++) { - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - if ((mr->type == RECV) && (mr->stage == TX_SIZE)) - return rb_ary_new3(2, Qfalse, Qnil); - - reqs[i] = *mr->req; - } - - rv = MPI_Testall(length, reqs, &flag, stats); - mpi_exception(rv); - - rstats = rb_ary_new2(length); - for (i = 0; i < length; i++) { - MPI_Status *stat; - - if (reqs[i] == MPI_REQUEST_NULL) { - /* assign the request in rreqs to be request null */ - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - *mr->req = MPI_REQUEST_NULL; - } - - stat = ALLOC(MPI_Status); - *stat = stats[i]; - rb_ary_store(rstats, i, status_new(stat)); - } - - return rb_ary_new3(2, flag ? Qtrue : Qfalse, rstats); -} - -static VALUE request_testsome(VALUE self, VALUE rreqs) -{ - int rv; - int i, length; - int outcount; - int *indices; - MPI_Status *stats; - MPI_Request *reqs; - VALUE routreqs, rstats; - struct mpi_request *mr; - - length = RARRAY(rreqs)->len; - reqs = ALLOCA_N(MPI_Request, length); - stats = ALLOCA_N(MPI_Status, length); - indices = ALLOCA_N(int, length); - - for (i = 0; i < length; i++) { - - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - reqs[i] = *mr->req; - } - - rv = MPI_Testsome(length, reqs, &outcount, indices, stats); - mpi_exception(rv); - - if (i == MPI_UNDEFINED) - return UNDEFINED; - - routreqs = rb_ary_new2(outcount); - rstats = rb_ary_new2(outcount); - for (i = 0; i < outcount; i++) { - MPI_Status *stat; - - if (reqs[indices[i]] == MPI_REQUEST_NULL) { - /* assign the request in rreqs to be request null */ - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - *mr->req = MPI_REQUEST_NULL; - } - - rb_ary_store(routreqs, i, rb_ary_entry(rreqs, indices[i])); - - stat = ALLOC(MPI_Status); - *stat = stats[indices[i]]; - rb_ary_store(rstats, i, status_new(stat)); - } - - return rb_ary_new3(2, routreqs, rstats); -} - -static VALUE request_cancel(VALUE self) -{ - int rv; - struct mpi_request *mr; - - Data_Get_Struct(self, struct mpi_request, mr); - - switch (mr->type) { - case RECV: - mr->stage = TX_SIZE; - free(mr->buf); - mr->buf = NULL; - request_unwatch(mr); - case PSEND: - case PBSEND: - case PSSEND: - case PRSEND: - case NORMAL: - rv = MPI_Cancel(mr->req); - mpi_exception(rv); - break; - } - - return Qtrue; -} - -VALUE request_start(VALUE self) -{ - int rv; - VALUE dump; - MPI_Request tmp; - struct mpi_request *mr; - - Data_Get_Struct(self, struct mpi_request, mr); - - switch (mr->type) { - case PSEND: - dump = rb_funcall(mMarshal, id_dump, 1, mr->obj); - free(mr->buf); - mr->buf = rb_str2cstr(dump, &mr->buflen); - - rv = MPI_Isend(&mr->buflen, 1, MPI_INT, mr->peer, mr->tag, - *mr->comm, &tmp); - mpi_exception(rv); - - rv = MPI_Isend(&mr->buf, mr->buflen, MPI_BYTE, mr->peer, mr->tag, - *mr->comm, mr->req); - mpi_exception(rv); - break; - case PBSEND: - dump = rb_funcall(mMarshal, id_dump, 1, mr->obj); - free(mr->buf); - mr->buf = rb_str2cstr(dump, &mr->buflen); - - rv = MPI_Ibsend(&mr->buflen, 1, MPI_INT, mr->peer, mr->tag, - *mr->comm, &tmp); - mpi_exception(rv); - - rv = MPI_Ibsend(&mr->buf, mr->buflen, MPI_BYTE, mr->peer, mr->tag, - *mr->comm, mr->req); - mpi_exception(rv); - break; - case PSSEND: - dump = rb_funcall(mMarshal, id_dump, 1, mr->obj); - free(mr->buf); - mr->buf = rb_str2cstr(dump, &mr->buflen); - - rv = MPI_Issend(&mr->buflen, 1, MPI_INT, mr->peer, mr->tag, - *mr->comm, &tmp); - mpi_exception(rv); - - rv = MPI_Issend(&mr->buf, mr->buflen, MPI_BYTE, mr->peer, mr->tag, - *mr->comm, mr->req); - mpi_exception(rv); - break; - case PRSEND: - dump = rb_funcall(mMarshal, id_dump, 1, mr->obj); - free(mr->buf); - mr->buf = rb_str2cstr(dump, &mr->buflen); - - rv = MPI_Irsend(&mr->buflen, 1, MPI_INT, mr->peer, mr->tag, - *mr->comm, &tmp); - mpi_exception(rv); - - rv = MPI_Irsend(&mr->buf, mr->buflen, MPI_BYTE, mr->peer, mr->tag, - *mr->comm, mr->req); - mpi_exception(rv); - break; - case RECV: - rv = MPI_Irecv(&mr->buflen, 1, MPI_INT, mr->peer, mr->tag, - *mr->comm, mr->req); - mpi_exception(rv); - request_watch(mr); - break; - case NORMAL: - rv = MPI_Start(mr->req); - mpi_exception(rv); - break; - } - - return Qtrue; -} - -static VALUE request_startall(VALUE self, VALUE rreqs) -{ - int i, rv, length, noreqs = 0; - MPI_Request *reqs; - - length = RARRAY(rreqs)->len; - reqs = ALLOCA_N(MPI_Request, length); - - for (i = 0; i < length; i++) { - struct mpi_request *mr; - - Data_Get_Struct(rb_ary_entry(rreqs, i), struct mpi_request, mr); - if (mr->type == NORMAL) - reqs[noreqs++] = *mr->req; - else - request_start(self); - } - - rv = MPI_Startall(noreqs, reqs); - mpi_exception(rv); - - return Qtrue; -} - -static VALUE request_null_p(VALUE self) -{ - struct mpi_request *mr; - - Data_Get_Struct(self, struct mpi_request, mr); - - return *mr->req == MPI_REQUEST_NULL; -} - -static VALUE request_object(VALUE self) -{ - struct mpi_request *mr; - - Data_Get_Struct(self, struct mpi_request, mr); - - return mr->obj; -} - -void Init_Request() -{ - rlist = ALLOC_N(struct mpi_request *, INITIAL_RLIST_CAP); - MEMZERO(rlist, struct mpi_request *, INITIAL_RLIST_CAP); - rb_thread_create(request_thread, NULL); - - cRequest = rb_define_class_under(mMPI, "Request", rb_cObject); - rb_define_method(cRequest, "wait", request_wait, 0); - rb_define_singleton_method(cRequest, "waitany", request_waitany, 1); - rb_define_singleton_method(cRequest, "waitall", request_waitall, 1); - rb_define_singleton_method(cRequest, "waitsome", request_waitsome, 1); - rb_define_method(cRequest, "test", request_test, 0); - rb_define_singleton_method(cRequest, "testany", request_testany, 1); - rb_define_singleton_method(cRequest, "testall", request_testall, 1); - rb_define_singleton_method(cRequest, "testsome", request_testsome, 1); - rb_define_method(cRequest, "cancel", request_cancel, 0); - rb_define_method(cRequest, "start", request_start, 0); - rb_define_singleton_method(cRequest, "startall", request_startall, 1); - - rb_define_method(cRequest, "null?", request_null_p, 0); - rb_define_method(cRequest, "object", request_object, 0); -} diff --git a/src/mpi_request.h b/src/mpi_request.h deleted file mode 100644 index ba3ee99..0000000 --- a/src/mpi_request.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef MPI_RUBY_REQUEST_H -#define MPI_RUBY_REQUEST_H - -extern VALUE cRequest; - -/* P = Persistant */ -typedef enum {NORMAL, PSEND, PBSEND, PSSEND, PRSEND, RECV} req_type; - -/* - request_new(NORMAL, MPI_Request *req); - request_new(P[BSR]SEND, VALUE obj, int dest, int tag, MPI_Comm *comm); - request_new(RECV, int src, int tag, MPI_Comm *comm); -*/ - -extern VALUE request_new(req_type type, ...); -extern void Init_Request(); -extern VALUE request_start(VALUE self); -#endif /* MPI_RUBY_REQUEST_H */ diff --git a/src/mpi_status.c b/src/mpi_status.c deleted file mode 100644 index bb579c5..0000000 --- a/src/mpi_status.c +++ /dev/null @@ -1,54 +0,0 @@ -#include "mpi.h" -#include "ruby.h" -#include "global.h" - -VALUE cStatus; - -VALUE status_new(MPI_Status *stat) -{ - VALUE tdata; - - tdata = Data_Wrap_Struct(cStatus, NULL, free, stat); - rb_obj_call_init(tdata, 0, NULL); - - return tdata; -} - -static VALUE status_source(VALUE self) -{ - MPI_Status *stat; - - Data_Get_Struct(self, MPI_Status, stat); - - return rb_fix_new(stat->MPI_SOURCE); -} - -static VALUE status_tag(VALUE self) -{ - MPI_Status *stat; - - Data_Get_Struct(self, MPI_Status, stat); - - return rb_fix_new(stat->MPI_TAG); -} - -static VALUE status_cancelled_p(VALUE self) -{ - int rv, flag; - MPI_Status *stat; - - Data_Get_Struct(self, MPI_Status, stat); - - rv = MPI_Test_cancelled(stat, &flag); - - return flag ? Qtrue : Qfalse; -} - -void Init_Status() -{ - cStatus = rb_define_class_under(mMPI, "Status", rb_cObject); - - rb_define_method(cStatus, "source", status_source, 0); - rb_define_method(cStatus, "tag", status_tag, 0); - rb_define_method(cStatus, "cancelled?", status_cancelled_p, 0); -} diff --git a/src/mpi_status.h b/src/mpi_status.h deleted file mode 100644 index 89cf920..0000000 --- a/src/mpi_status.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef MPI_RUBY_STATUS_H -#define MPI_RUBY_STATUS_H - -extern VALUE cStatus; - -extern VALUE status_new(MPI_Status *stat); -extern void Init_Status(); - -#endif /* MPI_RUBY_STATUS_H */ diff --git a/src/ops.rb b/src/ops.rb deleted file mode 100755 index 1c75518..0000000 --- a/src/ops.rb +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env ruby - -# Horrible hack to get "dynamic" operations - -if ARGV.length > 0 then - size = ARGV[0].to_i -else - size = 25 -end - -puts " -#define MAX_OPS #{size} - -static struct { - VALUE proc; - int assigned, resize; -} op_table[MAX_OPS]; - -" - -size.times do |i| - puts "static void op_#{i}(void *invec, void *inoutvec, int *len, MPI_Datatype *dtype) -{ - int rv, i, size, length; - char *data; - VALUE obj; - - rv = MPI_Type_size(*dtype, &size); - mpi_exception(rv); - - for (i = 0; i < *len; i++) { - VALUE str, arg1, arg2; - - str = rb_str_new(((char *)invec) + (i * size), size); - arg1 = rb_funcall(mMarshal, id_load, 1, str); - - str = rb_str_new(((char *)inoutvec) + (i * size), size); - arg2 = rb_funcall(mMarshal, id_load, 1, str); - - obj = rb_funcall(op_table[#{i}].proc, id_call, 2, arg1, arg2); - - str = rb_funcall(mMarshal, id_dump, 1, obj); - data = rb_str2cstr(str, &length); - - if (length + 1 > size) { - op_table[#{i}].resize = length + 1; - } else { - MEMCPY(((char *)inoutvec) + (i * size), data, char, length + 1); - } - } -} - -" -end - -puts "static MPI_User_function *fn_table[MAX_OPS] = {" -size.times do |i| - puts " op_#{i}," -end -puts "};" diff --git a/stamp-h.in b/stamp-h.in deleted file mode 100644 index 9788f70..0000000 --- a/stamp-h.in +++ /dev/null @@ -1 +0,0 @@ -timestamp