summaryrefslogtreecommitdiff
path: root/parallel
diff options
context:
space:
mode:
authorasau <asau>2009-12-12 23:30:01 +0000
committerasau <asau>2009-12-12 23:30:01 +0000
commit90505d0a129be5aec77e86c7ea3f237cc15efccc (patch)
treec94b5caac417ac95d4a9e497a92273e0cf82e4dd /parallel
parent19ef55d39d6aa53e91d7d8463ef12032d7c16b5f (diff)
downloadpkgsrc-90505d0a129be5aec77e86c7ea3f237cc15efccc.tar.gz
Import OpenMPI 1.4 as parallel/openmpi.
OpenMPI is open source MPI-2 implementation.
Diffstat (limited to 'parallel')
-rw-r--r--parallel/openmpi/DESCR28
-rw-r--r--parallel/openmpi/Makefile31
-rw-r--r--parallel/openmpi/PLIST508
-rw-r--r--parallel/openmpi/PLIST.vt76
-rw-r--r--parallel/openmpi/buildlink3.mk12
-rw-r--r--parallel/openmpi/distinfo16
-rw-r--r--parallel/openmpi/options.mk21
-rw-r--r--parallel/openmpi/patches/patch-aa23
-rw-r--r--parallel/openmpi/patches/patch-ab15
-rw-r--r--parallel/openmpi/patches/patch-ac28
-rw-r--r--parallel/openmpi/patches/patch-ad18
-rw-r--r--parallel/openmpi/patches/patch-ae18
-rw-r--r--parallel/openmpi/patches/patch-af15
-rw-r--r--parallel/openmpi/patches/patch-ag15
-rw-r--r--parallel/openmpi/patches/patch-ah174
-rw-r--r--parallel/openmpi/patches/patch-ai39
-rw-r--r--parallel/openmpi/patches/patch-aj46
-rw-r--r--parallel/openmpi/patches/patch-ak39
18 files changed, 1122 insertions, 0 deletions
diff --git a/parallel/openmpi/DESCR b/parallel/openmpi/DESCR
new file mode 100644
index 00000000000..df10ebe8f58
--- /dev/null
+++ b/parallel/openmpi/DESCR
@@ -0,0 +1,28 @@
+The Open MPI Project is an open source MPI-2 implementation
+that is developed and maintained by a consortium of academic,
+research, and industry partners. Open MPI is therefore able to
+combine the expertise, technologies, and resources from all
+across the High Performance Computing community in order to
+build the best MPI library available. Open MPI offers advantages
+for system and software vendors, application developers and
+computer science researchers.
+
+Features implemented or in short-term development for Open MPI
+include:
+
+ - Full MPI-2 standards conformance
+ - Thread safety and concurrency
+ - Dynamic process spawning
+ - Network and process fault tolerance
+ - Support network heterogeneity
+ - Single library supports all networks
+ - Run-time instrumentation
+ - Many job schedulers supported
+ - Many OS's supported (32 and 64 bit)
+ - Production quality software
+ - High performance on all platforms
+ - Portable and maintainable
+ - Tunable by installers and end-users
+ - Component-based design, documented APIs
+ - Active, responsive mailing list
+ - Open source license based on the BSD license
diff --git a/parallel/openmpi/Makefile b/parallel/openmpi/Makefile
new file mode 100644
index 00000000000..b112f41f8c9
--- /dev/null
+++ b/parallel/openmpi/Makefile
@@ -0,0 +1,31 @@
+# $NetBSD: Makefile,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+DISTNAME= openmpi-1.4
+CATEGORIES= parallel
+MASTER_SITES= http://www.open-mpi.org/software/ompi/v1.4/downloads/
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= asau@inbox.ru
+HOMEPAGE= http://www.open-mpi.org/
+COMMENT= Open source MPI-2 implementation
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+GNU_CONFIGURE= yes
+USE_LANGUAGES= c c++ fortran
+USE_LIBTOOL= yes
+LIBTOOL_OVERRIDE= ${WRKSRC}/libtool
+SHLIBTOOL_OVERRIDE= ${WRKSRC}/config/libtool.m4
+
+CONFIGURE_ARGS+= --disable-mpi-f90
+CONFIGURE_ARGS+= --with-wrapper-ldflags="-L${PREFIX}/lib ${LINKER_RPATH_FLAG}${PREFIX}/lib"
+CONFIGURE_ENV+= ompi_cv_f77_have_INTEGERp8=no # no "INTEGER*8"??
+BUILD_MAKE_FLAGS= LIBLTDL=$(BUILDLINK_PREFIX.libltdl)/lib/libltdl.la # configure doesn't allow overriding it
+CONFIGURE_ARGS+= OPAL_HAVE_LTDL_ADVISE=0
+
+.include "options.mk"
+
+TEST_TARGET= check
+
+.include "../../devel/libltdl/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/parallel/openmpi/PLIST b/parallel/openmpi/PLIST
new file mode 100644
index 00000000000..e8ed2ce685e
--- /dev/null
+++ b/parallel/openmpi/PLIST
@@ -0,0 +1,508 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+bin/mpiCC
+bin/mpic++
+bin/mpicc
+bin/mpicxx
+bin/mpiexec
+bin/mpif77
+bin/mpif90
+bin/mpirun
+bin/ompi-checkpoint
+bin/ompi-clean
+bin/ompi-iof
+bin/ompi-ps
+bin/ompi-restart
+bin/ompi-server
+bin/ompi_info
+bin/opal_wrapper
+bin/orte-clean
+bin/orte-iof
+bin/orte-ps
+bin/orted
+bin/orterun
+include/mpi.h
+include/mpif-common.h
+include/mpif-config.h
+include/mpif-mpi-io.h
+include/mpif.h
+include/openmpi/ompi/mpi/cxx/comm.h
+include/openmpi/ompi/mpi/cxx/comm_inln.h
+include/openmpi/ompi/mpi/cxx/constants.h
+include/openmpi/ompi/mpi/cxx/datatype.h
+include/openmpi/ompi/mpi/cxx/datatype_inln.h
+include/openmpi/ompi/mpi/cxx/errhandler.h
+include/openmpi/ompi/mpi/cxx/errhandler_inln.h
+include/openmpi/ompi/mpi/cxx/exception.h
+include/openmpi/ompi/mpi/cxx/file.h
+include/openmpi/ompi/mpi/cxx/file_inln.h
+include/openmpi/ompi/mpi/cxx/functions.h
+include/openmpi/ompi/mpi/cxx/functions_inln.h
+include/openmpi/ompi/mpi/cxx/group.h
+include/openmpi/ompi/mpi/cxx/group_inln.h
+include/openmpi/ompi/mpi/cxx/info.h
+include/openmpi/ompi/mpi/cxx/info_inln.h
+include/openmpi/ompi/mpi/cxx/intercomm.h
+include/openmpi/ompi/mpi/cxx/intercomm_inln.h
+include/openmpi/ompi/mpi/cxx/intracomm.h
+include/openmpi/ompi/mpi/cxx/intracomm_inln.h
+include/openmpi/ompi/mpi/cxx/mpicxx.h
+include/openmpi/ompi/mpi/cxx/op.h
+include/openmpi/ompi/mpi/cxx/op_inln.h
+include/openmpi/ompi/mpi/cxx/request.h
+include/openmpi/ompi/mpi/cxx/request_inln.h
+include/openmpi/ompi/mpi/cxx/status.h
+include/openmpi/ompi/mpi/cxx/status_inln.h
+include/openmpi/ompi/mpi/cxx/topology.h
+include/openmpi/ompi/mpi/cxx/topology_inln.h
+include/openmpi/ompi/mpi/cxx/win.h
+include/openmpi/ompi/mpi/cxx/win_inln.h
+lib/libmca_common_sm.la
+lib/libmpi.la
+lib/libmpi_cxx.la
+lib/libmpi_f77.la
+lib/libopen-pal.la
+lib/libopen-rte.la
+lib/openmpi/libompi_dbg_msgq.la
+lib/openmpi/mca_allocator_basic.la
+lib/openmpi/mca_allocator_bucket.la
+lib/openmpi/mca_bml_r2.la
+lib/openmpi/mca_btl_self.la
+lib/openmpi/mca_btl_sm.la
+lib/openmpi/mca_btl_tcp.la
+lib/openmpi/mca_carto_auto_detect.la
+lib/openmpi/mca_carto_file.la
+lib/openmpi/mca_coll_basic.la
+lib/openmpi/mca_coll_hierarch.la
+lib/openmpi/mca_coll_inter.la
+lib/openmpi/mca_coll_self.la
+lib/openmpi/mca_coll_sm.la
+lib/openmpi/mca_coll_sync.la
+lib/openmpi/mca_coll_tuned.la
+lib/openmpi/mca_crs_none.la
+lib/openmpi/mca_dpm_orte.la
+lib/openmpi/mca_errmgr_default.la
+lib/openmpi/mca_ess_env.la
+lib/openmpi/mca_ess_hnp.la
+lib/openmpi/mca_ess_singleton.la
+lib/openmpi/mca_ess_tool.la
+lib/openmpi/mca_filem_rsh.la
+lib/openmpi/mca_grpcomm_bad.la
+lib/openmpi/mca_grpcomm_basic.la
+lib/openmpi/mca_io_romio.la
+lib/openmpi/mca_iof_hnp.la
+lib/openmpi/mca_iof_orted.la
+lib/openmpi/mca_iof_tool.la
+lib/openmpi/mca_maffinity_first_use.la
+lib/openmpi/mca_mpool_fake.la
+lib/openmpi/mca_mpool_rdma.la
+lib/openmpi/mca_mpool_sm.la
+lib/openmpi/mca_notifier_syslog.la
+lib/openmpi/mca_odls_default.la
+lib/openmpi/mca_oob_tcp.la
+lib/openmpi/mca_osc_pt2pt.la
+lib/openmpi/mca_osc_rdma.la
+lib/openmpi/mca_paffinity_posix.la
+lib/openmpi/mca_plm_rsh.la
+lib/openmpi/mca_pml_cm.la
+lib/openmpi/mca_pml_csum.la
+lib/openmpi/mca_pml_ob1.la
+lib/openmpi/mca_pml_v.la
+lib/openmpi/mca_pubsub_orte.la
+lib/openmpi/mca_rcache_vma.la
+lib/openmpi/mca_rmaps_load_balance.la
+lib/openmpi/mca_rmaps_rank_file.la
+lib/openmpi/mca_rmaps_round_robin.la
+lib/openmpi/mca_rmaps_seq.la
+lib/openmpi/mca_rml_oob.la
+lib/openmpi/mca_routed_binomial.la
+lib/openmpi/mca_routed_direct.la
+lib/openmpi/mca_routed_linear.la
+lib/openmpi/mca_topo_unity.la
+lib/openmpi/mca_vprotocol_pessimist.la
+man/man1/mpiCC.1
+man/man1/mpic++.1
+man/man1/mpicc.1
+man/man1/mpicxx.1
+man/man1/mpiexec.1
+man/man1/mpif77.1
+man/man1/mpif90.1
+man/man1/mpirun.1
+man/man1/ompi-checkpoint.1
+man/man1/ompi-clean.1
+man/man1/ompi-iof.1
+man/man1/ompi-ps.1
+man/man1/ompi-restart.1
+man/man1/ompi-server.1
+man/man1/ompi_info.1
+man/man1/opal_wrapper.1
+man/man1/orte-clean.1
+man/man1/orte-iof.1
+man/man1/orte-ps.1
+man/man1/orted.1
+man/man1/orterun.1
+man/man3/MPI.3
+man/man3/MPI_Abort.3
+man/man3/MPI_Accumulate.3
+man/man3/MPI_Add_error_class.3
+man/man3/MPI_Add_error_code.3
+man/man3/MPI_Add_error_string.3
+man/man3/MPI_Address.3
+man/man3/MPI_Allgather.3
+man/man3/MPI_Allgatherv.3
+man/man3/MPI_Alloc_mem.3
+man/man3/MPI_Allreduce.3
+man/man3/MPI_Alltoall.3
+man/man3/MPI_Alltoallv.3
+man/man3/MPI_Alltoallw.3
+man/man3/MPI_Attr_delete.3
+man/man3/MPI_Attr_get.3
+man/man3/MPI_Attr_put.3
+man/man3/MPI_Barrier.3
+man/man3/MPI_Bcast.3
+man/man3/MPI_Bsend.3
+man/man3/MPI_Bsend_init.3
+man/man3/MPI_Buffer_attach.3
+man/man3/MPI_Buffer_detach.3
+man/man3/MPI_Cancel.3
+man/man3/MPI_Cart_coords.3
+man/man3/MPI_Cart_create.3
+man/man3/MPI_Cart_get.3
+man/man3/MPI_Cart_map.3
+man/man3/MPI_Cart_rank.3
+man/man3/MPI_Cart_shift.3
+man/man3/MPI_Cart_sub.3
+man/man3/MPI_Cartdim_get.3
+man/man3/MPI_Close_port.3
+man/man3/MPI_Comm_accept.3
+man/man3/MPI_Comm_c2f.3
+man/man3/MPI_Comm_call_errhandler.3
+man/man3/MPI_Comm_compare.3
+man/man3/MPI_Comm_connect.3
+man/man3/MPI_Comm_create.3
+man/man3/MPI_Comm_create_errhandler.3
+man/man3/MPI_Comm_create_keyval.3
+man/man3/MPI_Comm_delete_attr.3
+man/man3/MPI_Comm_disconnect.3
+man/man3/MPI_Comm_dup.3
+man/man3/MPI_Comm_f2c.3
+man/man3/MPI_Comm_free.3
+man/man3/MPI_Comm_free_keyval.3
+man/man3/MPI_Comm_get_attr.3
+man/man3/MPI_Comm_get_errhandler.3
+man/man3/MPI_Comm_get_name.3
+man/man3/MPI_Comm_get_parent.3
+man/man3/MPI_Comm_group.3
+man/man3/MPI_Comm_join.3
+man/man3/MPI_Comm_rank.3
+man/man3/MPI_Comm_remote_group.3
+man/man3/MPI_Comm_remote_size.3
+man/man3/MPI_Comm_set_attr.3
+man/man3/MPI_Comm_set_errhandler.3
+man/man3/MPI_Comm_set_name.3
+man/man3/MPI_Comm_size.3
+man/man3/MPI_Comm_spawn.3
+man/man3/MPI_Comm_spawn_multiple.3
+man/man3/MPI_Comm_split.3
+man/man3/MPI_Comm_test_inter.3
+man/man3/MPI_Dims_create.3
+man/man3/MPI_Errhandler_create.3
+man/man3/MPI_Errhandler_free.3
+man/man3/MPI_Errhandler_get.3
+man/man3/MPI_Errhandler_set.3
+man/man3/MPI_Error_class.3
+man/man3/MPI_Error_string.3
+man/man3/MPI_Exscan.3
+man/man3/MPI_File_c2f.3
+man/man3/MPI_File_call_errhandler.3
+man/man3/MPI_File_close.3
+man/man3/MPI_File_create_errhandler.3
+man/man3/MPI_File_delete.3
+man/man3/MPI_File_f2c.3
+man/man3/MPI_File_get_amode.3
+man/man3/MPI_File_get_atomicity.3
+man/man3/MPI_File_get_byte_offset.3
+man/man3/MPI_File_get_errhandler.3
+man/man3/MPI_File_get_group.3
+man/man3/MPI_File_get_info.3
+man/man3/MPI_File_get_position.3
+man/man3/MPI_File_get_position_shared.3
+man/man3/MPI_File_get_size.3
+man/man3/MPI_File_get_type_extent.3
+man/man3/MPI_File_get_view.3
+man/man3/MPI_File_iread.3
+man/man3/MPI_File_iread_at.3
+man/man3/MPI_File_iread_shared.3
+man/man3/MPI_File_iwrite.3
+man/man3/MPI_File_iwrite_at.3
+man/man3/MPI_File_iwrite_shared.3
+man/man3/MPI_File_open.3
+man/man3/MPI_File_preallocate.3
+man/man3/MPI_File_read.3
+man/man3/MPI_File_read_all.3
+man/man3/MPI_File_read_all_begin.3
+man/man3/MPI_File_read_all_end.3
+man/man3/MPI_File_read_at.3
+man/man3/MPI_File_read_at_all.3
+man/man3/MPI_File_read_at_all_begin.3
+man/man3/MPI_File_read_at_all_end.3
+man/man3/MPI_File_read_ordered.3
+man/man3/MPI_File_read_ordered_begin.3
+man/man3/MPI_File_read_ordered_end.3
+man/man3/MPI_File_read_shared.3
+man/man3/MPI_File_seek.3
+man/man3/MPI_File_seek_shared.3
+man/man3/MPI_File_set_atomicity.3
+man/man3/MPI_File_set_errhandler.3
+man/man3/MPI_File_set_info.3
+man/man3/MPI_File_set_size.3
+man/man3/MPI_File_set_view.3
+man/man3/MPI_File_sync.3
+man/man3/MPI_File_write.3
+man/man3/MPI_File_write_all.3
+man/man3/MPI_File_write_all_begin.3
+man/man3/MPI_File_write_all_end.3
+man/man3/MPI_File_write_at.3
+man/man3/MPI_File_write_at_all.3
+man/man3/MPI_File_write_at_all_begin.3
+man/man3/MPI_File_write_at_all_end.3
+man/man3/MPI_File_write_ordered.3
+man/man3/MPI_File_write_ordered_begin.3
+man/man3/MPI_File_write_ordered_end.3
+man/man3/MPI_File_write_shared.3
+man/man3/MPI_Finalize.3
+man/man3/MPI_Finalized.3
+man/man3/MPI_Free_mem.3
+man/man3/MPI_Gather.3
+man/man3/MPI_Gatherv.3
+man/man3/MPI_Get.3
+man/man3/MPI_Get_address.3
+man/man3/MPI_Get_count.3
+man/man3/MPI_Get_elements.3
+man/man3/MPI_Get_processor_name.3
+man/man3/MPI_Get_version.3
+man/man3/MPI_Graph_create.3
+man/man3/MPI_Graph_get.3
+man/man3/MPI_Graph_map.3
+man/man3/MPI_Graph_neighbors.3
+man/man3/MPI_Graph_neighbors_count.3
+man/man3/MPI_Graphdims_get.3
+man/man3/MPI_Grequest_complete.3
+man/man3/MPI_Grequest_start.3
+man/man3/MPI_Group_c2f.3
+man/man3/MPI_Group_compare.3
+man/man3/MPI_Group_difference.3
+man/man3/MPI_Group_excl.3
+man/man3/MPI_Group_f2c.3
+man/man3/MPI_Group_free.3
+man/man3/MPI_Group_incl.3
+man/man3/MPI_Group_intersection.3
+man/man3/MPI_Group_range_excl.3
+man/man3/MPI_Group_range_incl.3
+man/man3/MPI_Group_rank.3
+man/man3/MPI_Group_size.3
+man/man3/MPI_Group_translate_ranks.3
+man/man3/MPI_Group_union.3
+man/man3/MPI_Ibsend.3
+man/man3/MPI_Info_c2f.3
+man/man3/MPI_Info_create.3
+man/man3/MPI_Info_delete.3
+man/man3/MPI_Info_dup.3
+man/man3/MPI_Info_f2c.3
+man/man3/MPI_Info_free.3
+man/man3/MPI_Info_get.3
+man/man3/MPI_Info_get_nkeys.3
+man/man3/MPI_Info_get_nthkey.3
+man/man3/MPI_Info_get_valuelen.3
+man/man3/MPI_Info_set.3
+man/man3/MPI_Init.3
+man/man3/MPI_Init_thread.3
+man/man3/MPI_Initialized.3
+man/man3/MPI_Intercomm_create.3
+man/man3/MPI_Intercomm_merge.3
+man/man3/MPI_Iprobe.3
+man/man3/MPI_Irecv.3
+man/man3/MPI_Irsend.3
+man/man3/MPI_Is_thread_main.3
+man/man3/MPI_Isend.3
+man/man3/MPI_Issend.3
+man/man3/MPI_Keyval_create.3
+man/man3/MPI_Keyval_free.3
+man/man3/MPI_Lookup_name.3
+man/man3/MPI_Op_c2f.3
+man/man3/MPI_Op_create.3
+man/man3/MPI_Op_f2c.3
+man/man3/MPI_Op_free.3
+man/man3/MPI_Open_port.3
+man/man3/MPI_Pack.3
+man/man3/MPI_Pack_external.3
+man/man3/MPI_Pack_external_size.3
+man/man3/MPI_Pack_size.3
+man/man3/MPI_Pcontrol.3
+man/man3/MPI_Probe.3
+man/man3/MPI_Publish_name.3
+man/man3/MPI_Put.3
+man/man3/MPI_Query_thread.3
+man/man3/MPI_Recv.3
+man/man3/MPI_Recv_init.3
+man/man3/MPI_Reduce.3
+man/man3/MPI_Reduce_scatter.3
+man/man3/MPI_Register_datarep.3
+man/man3/MPI_Request_c2f.3
+man/man3/MPI_Request_f2c.3
+man/man3/MPI_Request_free.3
+man/man3/MPI_Request_get_status.3
+man/man3/MPI_Rsend.3
+man/man3/MPI_Rsend_init.3
+man/man3/MPI_Scan.3
+man/man3/MPI_Scatter.3
+man/man3/MPI_Scatterv.3
+man/man3/MPI_Send.3
+man/man3/MPI_Send_init.3
+man/man3/MPI_Sendrecv.3
+man/man3/MPI_Sendrecv_replace.3
+man/man3/MPI_Sizeof.3
+man/man3/MPI_Ssend.3
+man/man3/MPI_Ssend_init.3
+man/man3/MPI_Start.3
+man/man3/MPI_Startall.3
+man/man3/MPI_Status_c2f.3
+man/man3/MPI_Status_f2c.3
+man/man3/MPI_Status_set_cancelled.3
+man/man3/MPI_Status_set_elements.3
+man/man3/MPI_Test.3
+man/man3/MPI_Test_cancelled.3
+man/man3/MPI_Testall.3
+man/man3/MPI_Testany.3
+man/man3/MPI_Testsome.3
+man/man3/MPI_Topo_test.3
+man/man3/MPI_Type_c2f.3
+man/man3/MPI_Type_commit.3
+man/man3/MPI_Type_contiguous.3
+man/man3/MPI_Type_create_darray.3
+man/man3/MPI_Type_create_f90_complex.3
+man/man3/MPI_Type_create_f90_integer.3
+man/man3/MPI_Type_create_f90_real.3
+man/man3/MPI_Type_create_hindexed.3
+man/man3/MPI_Type_create_hvector.3
+man/man3/MPI_Type_create_indexed_block.3
+man/man3/MPI_Type_create_keyval.3
+man/man3/MPI_Type_create_resized.3
+man/man3/MPI_Type_create_struct.3
+man/man3/MPI_Type_create_subarray.3
+man/man3/MPI_Type_delete_attr.3
+man/man3/MPI_Type_dup.3
+man/man3/MPI_Type_extent.3
+man/man3/MPI_Type_f2c.3
+man/man3/MPI_Type_free.3
+man/man3/MPI_Type_free_keyval.3
+man/man3/MPI_Type_get_attr.3
+man/man3/MPI_Type_get_contents.3
+man/man3/MPI_Type_get_envelope.3
+man/man3/MPI_Type_get_extent.3
+man/man3/MPI_Type_get_name.3
+man/man3/MPI_Type_get_true_extent.3
+man/man3/MPI_Type_hindexed.3
+man/man3/MPI_Type_hvector.3
+man/man3/MPI_Type_indexed.3
+man/man3/MPI_Type_lb.3
+man/man3/MPI_Type_match_size.3
+man/man3/MPI_Type_set_attr.3
+man/man3/MPI_Type_set_name.3
+man/man3/MPI_Type_size.3
+man/man3/MPI_Type_struct.3
+man/man3/MPI_Type_ub.3
+man/man3/MPI_Type_vector.3
+man/man3/MPI_Unpack.3
+man/man3/MPI_Unpack_external.3
+man/man3/MPI_Unpublish_name.3
+man/man3/MPI_Wait.3
+man/man3/MPI_Waitall.3
+man/man3/MPI_Waitany.3
+man/man3/MPI_Waitsome.3
+man/man3/MPI_Win_c2f.3
+man/man3/MPI_Win_call_errhandler.3
+man/man3/MPI_Win_complete.3
+man/man3/MPI_Win_create.3
+man/man3/MPI_Win_create_errhandler.3
+man/man3/MPI_Win_create_keyval.3
+man/man3/MPI_Win_delete_attr.3
+man/man3/MPI_Win_f2c.3
+man/man3/MPI_Win_fence.3
+man/man3/MPI_Win_free.3
+man/man3/MPI_Win_free_keyval.3
+man/man3/MPI_Win_get_attr.3
+man/man3/MPI_Win_get_errhandler.3
+man/man3/MPI_Win_get_group.3
+man/man3/MPI_Win_get_name.3
+man/man3/MPI_Win_lock.3
+man/man3/MPI_Win_post.3
+man/man3/MPI_Win_set_attr.3
+man/man3/MPI_Win_set_errhandler.3
+man/man3/MPI_Win_set_name.3
+man/man3/MPI_Win_start.3
+man/man3/MPI_Win_test.3
+man/man3/MPI_Win_unlock.3
+man/man3/MPI_Win_wait.3
+man/man3/MPI_Wtick.3
+man/man3/MPI_Wtime.3
+man/man3/OpenMPI.3
+man/man7/ompi_crcp.7
+man/man7/opal_crs.7
+man/man7/orte_filem.7
+man/man7/orte_hosts.7
+man/man7/orte_snapc.7
+share/openmpi/amca-param-sets/example.conf
+share/openmpi/examples/openmpi-default-hostfile
+share/openmpi/examples/openmpi-mca-params.conf
+share/openmpi/examples/openmpi-totalview.tcl
+share/openmpi/help-coll-sync.txt
+share/openmpi/help-dash-host.txt
+share/openmpi/help-ess-base.txt
+share/openmpi/help-hostfile.txt
+share/openmpi/help-mca-base.txt
+share/openmpi/help-mca-bml-r2.txt
+share/openmpi/help-mca-coll-base.txt
+share/openmpi/help-mca-param.txt
+share/openmpi/help-mpi-api.txt
+share/openmpi/help-mpi-btl-base.txt
+share/openmpi/help-mpi-common-sm.txt
+share/openmpi/help-mpi-errors.txt
+share/openmpi/help-mpi-runtime.txt
+share/openmpi/help-mpool-base.txt
+share/openmpi/help-odls-default.txt
+share/openmpi/help-ompi-crcp-base.txt
+share/openmpi/help-ompi-dpm-base.txt
+share/openmpi/help-ompi-dpm-orte.txt
+share/openmpi/help-ompi-pubsub-orte.txt
+share/openmpi/help-ompi-server.txt
+share/openmpi/help-ompi_info.txt
+share/openmpi/help-opal-carto-file.txt
+share/openmpi/help-opal-crs-base.txt
+share/openmpi/help-opal-crs-none.txt
+share/openmpi/help-opal-runtime.txt
+share/openmpi/help-opal-util.txt
+share/openmpi/help-opal-wrapper.txt
+share/openmpi/help-orte-clean.txt
+share/openmpi/help-orte-filem-base.txt
+share/openmpi/help-orte-filem-rsh.txt
+share/openmpi/help-orte-iof.txt
+share/openmpi/help-orte-odls-base.txt
+share/openmpi/help-orte-ps.txt
+share/openmpi/help-orte-rmaps-base.txt
+share/openmpi/help-orte-rmaps-lb.txt
+share/openmpi/help-orte-rmaps-rr.txt
+share/openmpi/help-orte-rmaps-seq.txt
+share/openmpi/help-orte-runtime.txt
+share/openmpi/help-orte-snapc-base.txt
+share/openmpi/help-orted.txt
+share/openmpi/help-orterun.txt
+share/openmpi/help-plm-base.txt
+share/openmpi/help-plm-rsh.txt
+share/openmpi/help-ras-base.txt
+share/openmpi/help-rmaps_rank_file.txt
+share/openmpi/mpiCC-wrapper-data.txt
+share/openmpi/mpic++-wrapper-data.txt
+share/openmpi/mpicc-wrapper-data.txt
+share/openmpi/mpicxx-wrapper-data.txt
+share/openmpi/mpif77-wrapper-data.txt
+share/openmpi/mpif90-wrapper-data.txt
diff --git a/parallel/openmpi/PLIST.vt b/parallel/openmpi/PLIST.vt
new file mode 100644
index 00000000000..cef36efb329
--- /dev/null
+++ b/parallel/openmpi/PLIST.vt
@@ -0,0 +1,76 @@
+@comment $NetBSD: PLIST.vt,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+bin/mpiCC-vt
+bin/mpic++-vt
+bin/mpicc-vt
+bin/mpicxx-vt
+bin/mpif77-vt
+bin/mpif90-vt
+bin/opari
+bin/otfaux
+bin/otfcompress
+bin/otfconfig
+bin/otfdecompress
+bin/otfdump
+bin/otfinfo
+bin/otfmerge
+bin/vtcc
+bin/vtcxx
+bin/vtf77
+bin/vtf90
+bin/vtfilter
+bin/vtunify
+include/vampirtrace/OTF_CopyHandler.h
+include/vampirtrace/OTF_Definitions.h
+include/vampirtrace/OTF_File.h
+include/vampirtrace/OTF_FileManager.h
+include/vampirtrace/OTF_Filenames.h
+include/vampirtrace/OTF_HandlerArray.h
+include/vampirtrace/OTF_MasterControl.h
+include/vampirtrace/OTF_RBuffer.h
+include/vampirtrace/OTF_RStream.h
+include/vampirtrace/OTF_Reader.h
+include/vampirtrace/OTF_WBuffer.h
+include/vampirtrace/OTF_WStream.h
+include/vampirtrace/OTF_Writer.h
+include/vampirtrace/OTF_inttypes.h
+include/vampirtrace/OTF_inttypes_unix.h
+include/vampirtrace/opari_omp.h
+include/vampirtrace/otf.h
+include/vampirtrace/pomp_lib.h
+include/vampirtrace/vt_user.h
+include/vampirtrace/vt_user.inc
+include/vampirtrace/vt_user_comment.h
+include/vampirtrace/vt_user_comment.inc
+include/vampirtrace/vt_user_count.h
+include/vampirtrace/vt_user_count.inc
+lib/libotf.la
+lib/libvt.a
+lib/libvt.fmpi.a
+lib/libvt.mpi.a
+share/openmpi/mpiCC-vt-wrapper-data.txt
+share/openmpi/mpic++-vt-wrapper-data.txt
+share/openmpi/mpicc-vt-wrapper-data.txt
+share/openmpi/mpicxx-vt-wrapper-data.txt
+share/openmpi/mpif77-vt-wrapper-data.txt
+share/openmpi/mpif90-vt-wrapper-data.txt
+share/vampirtrace/FILTER.SPEC
+share/vampirtrace/GROUPS.SPEC
+share/vampirtrace/METRICS.SPEC
+share/vampirtrace/doc/ChangeLog
+share/vampirtrace/doc/LICENSE
+share/vampirtrace/doc/UserManual.html
+share/vampirtrace/doc/UserManual.pdf
+share/vampirtrace/doc/opari/ChangeLog
+share/vampirtrace/doc/opari/LICENSE
+share/vampirtrace/doc/opari/Readme.html
+share/vampirtrace/doc/opari/lacsi01.pdf
+share/vampirtrace/doc/opari/lacsi01.ps.gz
+share/vampirtrace/doc/opari/opari-logo-100.gif
+share/vampirtrace/doc/otf/ChangeLog
+share/vampirtrace/doc/otf/LICENSE
+share/vampirtrace/doc/otf/otftools.pdf
+share/vampirtrace/doc/otf/specification.pdf
+share/vampirtrace/vtcc-wrapper-data.txt
+share/vampirtrace/vtcxx-wrapper-data.txt
+share/vampirtrace/vtf77-wrapper-data.txt
+share/vampirtrace/vtf90-wrapper-data.txt
diff --git a/parallel/openmpi/buildlink3.mk b/parallel/openmpi/buildlink3.mk
new file mode 100644
index 00000000000..0a23a2e8b51
--- /dev/null
+++ b/parallel/openmpi/buildlink3.mk
@@ -0,0 +1,12 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+BUILDLINK_TREE+= openmpi
+
+.if !defined(OPENMPI_BUILDLINK3_MK)
+OPENMPI_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.openmpi+= openmpi>=1.2.6
+BUILDLINK_PKGSRCDIR.openmpi?= ../../parallel/openmpi
+.endif # OPENMPI_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -openmpi
diff --git a/parallel/openmpi/distinfo b/parallel/openmpi/distinfo
new file mode 100644
index 00000000000..c8b7b6dc68c
--- /dev/null
+++ b/parallel/openmpi/distinfo
@@ -0,0 +1,16 @@
+$NetBSD: distinfo,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+SHA1 (openmpi-1.4.tar.bz2) = 8e98ceae223f52f147d5151779ed1a43f2865a7f
+RMD160 (openmpi-1.4.tar.bz2) = 61f7665c69ea019d347b983062a1eee0ae807c9b
+Size (openmpi-1.4.tar.bz2) = 6699638 bytes
+SHA1 (patch-aa) = dfc2eb59ea592823d93a7ae3e223e703450201ad
+SHA1 (patch-ab) = c4be561af983b38803ba1f76a4ff5a6646072c3a
+SHA1 (patch-ac) = 2eb37bf842278c712561e30457d7e00889d12dcd
+SHA1 (patch-ad) = ee74acac5c7a7b022ee9a03957f8f3d71c2579fd
+SHA1 (patch-ae) = a4848899dcd0413caa1c99832477a4bd86b51112
+SHA1 (patch-af) = 812e623c39235098565762c098a40c1cb4f51f23
+SHA1 (patch-ag) = fc29742c423d2376893d4d5c3da7a0514f311262
+SHA1 (patch-ah) = bbc7422eeede4468590262ee84c54d8d0b911445
+SHA1 (patch-ai) = e341eefb09df978cf1d43c2176f5f8c6d09f703e
+SHA1 (patch-aj) = 4521e29de16a6cd5bf1a9ea7677b51cd0e6eb86c
+SHA1 (patch-ak) = d9a10360eec6dab95e08d4ac0a4d7da603ac4737
diff --git a/parallel/openmpi/options.mk b/parallel/openmpi/options.mk
new file mode 100644
index 00000000000..3b72308c166
--- /dev/null
+++ b/parallel/openmpi/options.mk
@@ -0,0 +1,21 @@
+# $NetBSD: options.mk,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.openmpi
+PKG_SUPPORTED_OPTIONS= debug openmpi-vampirtrace
+PKG_SUGGESTED_OPTIONS= openmpi-vampirtrace
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mdebug)
+CONFIGURE_ARGS+= --enable-debug
+.endif
+
+# Allow coexistance of OpenMPI and libotf by disabling OpenMPI parts:
+.if !empty(PKG_OPTIONS:Mopenmpi-vampirtrace)
+CONFLICTS+= libotf-[0-9]*
+PLIST_SRC+= PLIST.vt
+.else
+CONFIGURE_ARGS+= --enable-contrib-no-build=vt
+.endif
+
+PLIST_SRC+= PLIST
diff --git a/parallel/openmpi/patches/patch-aa b/parallel/openmpi/patches/patch-aa
new file mode 100644
index 00000000000..10bcc72d104
--- /dev/null
+++ b/parallel/openmpi/patches/patch-aa
@@ -0,0 +1,23 @@
+$NetBSD: patch-aa,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Missing RPATH support.
+
+--- opal/tools/wrappers/opal_wrapper.c.orig 2008-08-25 23:16:48.000000000 +0400
++++ opal/tools/wrappers/opal_wrapper.c 2008-09-04 11:41:17.000000000 +0400
+@@ -57,6 +57,7 @@
+ #if !defined(__WINDOWS__)
+ #define OPAL_INCLUDE_FLAG "-I"
+ #define OPAL_LIBDIR_FLAG "-L"
++#define OPAL_RPATH_FLAG "-R"
+ #else
+ #define OPAL_INCLUDE_FLAG "/I"
+ #define OPAL_LIBDIR_FLAG "/LIBPATH:"
+@@ -301,6 +302,8 @@
+ #else
+ asprintf(&line, OPAL_LIBDIR_FLAG"%s",
+ options_data[parse_options_idx].path_libdir);
++ asprintf(&line, OPAL_RPATH_FLAG"%s",
++ options_data[parse_options_idx].path_libdir);
+ #endif /* defined(__WINDOWS__) */
+ opal_argv_append_nosize(&options_data[parse_options_idx].link_flags, line);
+ free(line);
diff --git a/parallel/openmpi/patches/patch-ab b/parallel/openmpi/patches/patch-ab
new file mode 100644
index 00000000000..9d59443edb7
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ab
@@ -0,0 +1,15 @@
+$NetBSD: patch-ab,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Force our libltdl.
+
+--- opal/Makefile.in.orig 2009-01-19 20:24:00.000000000 +0300
++++ opal/Makefile.in 2009-02-05 13:23:01.000000000 +0300
+@@ -568,7 +568,7 @@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBLTDL = @LIBLTDL@
+-LIBLTDL_SUBDIR = @LIBLTDL_SUBDIR@
++LIBLTDL_SUBDIR =
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
diff --git a/parallel/openmpi/patches/patch-ac b/parallel/openmpi/patches/patch-ac
new file mode 100644
index 00000000000..4e71ac06953
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ac
@@ -0,0 +1,28 @@
+$NetBSD: patch-ac,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Force our libltdl.
+
+--- configure.orig 2009-01-19 20:23:17.000000000 +0300
++++ configure 2009-02-06 01:59:45.000000000 +0300
+@@ -163871,9 +163871,10 @@
+ "") enable_ltdl_convenience=yes
+ ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+ esac
+-LIBLTDL='${top_build_prefix}'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
++#LIBLTDL='${top_build_prefix}'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
++#LIBLTDL=libltdl.la
+ LTDLDEPS=$LIBLTDL
+-LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
++#LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
+
+
+
+@@ -180176,7 +180177,7 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <opal/libltdl/ltdl.h>
++#include <ltdl.h>
+
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
diff --git a/parallel/openmpi/patches/patch-ad b/parallel/openmpi/patches/patch-ad
new file mode 100644
index 00000000000..068f949ded0
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ad
@@ -0,0 +1,18 @@
+$NetBSD: patch-ad,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Force our libltdl.
+
+--- opal/mca/base/mca_base_component_find.c.orig 2009-10-21 04:05:57.000000000 +0400
++++ opal/mca/base/mca_base_component_find.c 2009-10-27 11:46:51.000000000 +0300
+@@ -41,11 +41,7 @@
+ #endif
+
+ #if OMPI_WANT_LIBLTDL
+- #ifndef __WINDOWS__
+- #include "opal/libltdl/ltdl.h"
+- #else
+ #include "ltdl.h"
+- #endif
+ #endif
+
+ #include "opal/util/output.h"
diff --git a/parallel/openmpi/patches/patch-ae b/parallel/openmpi/patches/patch-ae
new file mode 100644
index 00000000000..4067c5e7da3
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ae
@@ -0,0 +1,18 @@
+$NetBSD: patch-ae,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Force our libltdl.
+
+--- opal/mca/base/mca_base_component_repository.c.orig 2009-10-21 04:05:57.000000000 +0400
++++ opal/mca/base/mca_base_component_repository.c 2009-10-27 11:47:50.000000000 +0300
+@@ -27,11 +27,7 @@
+ #include <stdio.h>
+
+ #if OMPI_WANT_LIBLTDL
+- #ifndef __WINDOWS__
+- #include "opal/libltdl/ltdl.h"
+- #else
+ #include "ltdl.h"
+- #endif
+ #endif
+
+ #include "opal/class/opal_list.h"
diff --git a/parallel/openmpi/patches/patch-af b/parallel/openmpi/patches/patch-af
new file mode 100644
index 00000000000..4085637c9de
--- /dev/null
+++ b/parallel/openmpi/patches/patch-af
@@ -0,0 +1,15 @@
+$NetBSD: patch-af,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Force our libltdl.
+
+--- test/support/components.h.orig 2008-11-04 23:56:21.000000000 +0300
++++ test/support/components.h 2009-02-15 04:08:24.000000000 +0300
+@@ -20,7 +20,7 @@
+ #ifndef OMPI_SUPPORT_COMPONENTS_H
+ #define OMPI_SUPPORT_COMPONENTS_H
+
+-#include "opal/libltdl/ltdl.h"
++#include "ltdl.h"
+ #include "opal/mca/mca.h"
+
+ #if defined(c_plusplus) || defined(__cplusplus)
diff --git a/parallel/openmpi/patches/patch-ag b/parallel/openmpi/patches/patch-ag
new file mode 100644
index 00000000000..dd39ea7a0d0
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ag
@@ -0,0 +1,15 @@
+$NetBSD: patch-ag,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Force our libltdl.
+
+--- test/support/components.c.orig 2008-11-04 23:56:21.000000000 +0300
++++ test/support/components.c 2009-02-15 04:08:30.000000000 +0300
+@@ -23,7 +23,7 @@
+ #include "ompi/constants.h"
+ #include "opal/constants.h"
+ #include "opal/mca/mca.h"
+-#include "opal/libltdl/ltdl.h"
++#include "ltdl.h"
+
+ #include "components.h"
+
diff --git a/parallel/openmpi/patches/patch-ah b/parallel/openmpi/patches/patch-ah
new file mode 100644
index 00000000000..ff603615f22
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ah
@@ -0,0 +1,174 @@
+$NetBSD: patch-ah,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Rewrite network interface configuration using getifaddrs(3) for BSD,
+this should fix OpenMPI for NetBSD. By Kevin M. Buckley.
+
+--- opal/util/if.c.orig 2009-12-08 23:36:09.000000000 +0300
++++ opal/util/if.c 2009-12-13 00:06:38.000000000 +0300
+@@ -38,6 +38,9 @@
+ #endif
+ #ifdef HAVE_NETINET_IN_H
+ #include <netinet/in.h>
++#if defined(__DragonFly__)
++#define IN_LINKLOCAL(i) (((u_int32_t)(i) & 0xffff0000) == 0xa9fe0000)
++#endif
+ #endif
+ #ifdef HAVE_ARPA_INET_H
+ #include <arpa/inet.h>
+@@ -164,6 +167,145 @@
+ false, false, (int)false, &sd);
+ do_not_resolve = OPAL_INT_TO_BOOL(sd);
+
++#if defined(__NetBSD__) || defined(__FreeBSD__) || \
++ defined(__OpenBSD__) || defined(__DragonFly__)
++ /* configure using getifaddrs(3) */
++ {
++ OBJ_CONSTRUCT(&opal_if_list, opal_list_t);
++
++ struct ifaddrs **ifadd_list;
++ struct ifaddrs *cur_ifaddrs;
++ struct sockaddr_in* sin_addr;
++
++ /*
++ * the manpage claims that getifaddrs() allocates the memory,
++ * and freeifaddrs() is later used to release the allocated memory.
++ * however, without this malloc the call to getifaddrs() segfaults
++ */
++ ifadd_list = (struct ifaddrs **) malloc(sizeof(struct ifaddrs*));
++
++ /* create the linked list of ifaddrs structs */
++ if(getifaddrs(ifadd_list) < 0) {
++ opal_output(0, "opal_ifinit: getifaddrs() failed with error=%d\n",
++ errno);
++ return OPAL_ERROR;
++ }
++
++ for(cur_ifaddrs = *ifadd_list; NULL != cur_ifaddrs;
++ cur_ifaddrs = cur_ifaddrs->ifa_next) {
++
++ opal_if_t intf;
++ opal_if_t *intf_ptr;
++ struct in_addr a4;
++
++#if 0
++ printf("interface %s.\n", cur_ifaddrs->ifa_name);
++#endif
++ /* skip non- af_inet interface addresses */
++ if(AF_INET != cur_ifaddrs->ifa_addr->sa_family) {
++#if 0
++ printf("skipping non- af_inet interface %s, family %d.\n",
++ cur_ifaddrs->ifa_name, cur_ifaddrs->ifa_addr->sa_family);
++#endif
++ continue;
++ }
++
++ /* skip interface if it is down (IFF_UP not set) */
++ if(0 == (cur_ifaddrs->ifa_flags & IFF_UP)) {
++#if 0
++ printf("skipping non-up interface %s.\n", cur_ifaddrs->ifa_name);
++#endif
++ continue;
++ }
++
++ /* skip interface if it is a loopback device (IFF_LOOPBACK set) */
++ /* or if it is a point-to-point interface */
++ /* TODO: do we really skip p2p? */
++ if(0 != (cur_ifaddrs->ifa_flags & IFF_LOOPBACK)
++ || 0!= (cur_ifaddrs->ifa_flags & IFF_POINTOPOINT)) {
++#if 0
++ printf("skipping loopback interface %s.\n", cur_ifaddrs->ifa_name);
++#endif
++ continue;
++ }
++
++#if 0
++ printf("sa_len %d.\n", cur_ifaddrs->ifa_addr->sa_len);
++#endif
++ sin_addr = (struct sockaddr_in *) cur_ifaddrs->ifa_addr;
++
++ /* Do we really need to skip link-local addresses? */
++#if 0
++ /* skip link local address: */
++ if(IN_LINKLOCAL (htonl(((struct sockaddr_in*)cur_ifaddrs->ifa_addr)->sin_addr.s_addr))) {
++#if 0
++ opal_output(0, "opal_ifinit: skipping link-local ip address on interface %s.\n",
++ cur_ifaddrs->ifa_name);
++#endif
++ continue;
++ }
++#endif
++
++ memset(&intf, 0, sizeof(intf));
++ OBJ_CONSTRUCT(&intf, opal_list_item_t);
++#if 0
++ char *addr_name = (char *) malloc(48*sizeof(char));
++ inet_ntop(AF_INET, &sin_addr->sin_addr, addr_name, 48*sizeof(char));
++ opal_output(0, "inet capable interface %s discovered, address %s.\n",
++ cur_ifaddrs->ifa_name, addr_name);
++ free(addr_name);
++#endif
++
++ /* fill values into the opal_if_t */
++ memcpy(&a4, &(sin_addr->sin_addr), sizeof(struct in_addr));
++
++ strncpy(intf.if_name, cur_ifaddrs->ifa_name, IF_NAMESIZE);
++ intf.if_index = opal_list_get_size(&opal_if_list) + 1;
++ ((struct sockaddr_in*) &intf.if_addr)->sin_addr = a4;
++ ((struct sockaddr_in*) &intf.if_addr)->sin_family = AF_INET;
++ ((struct sockaddr_in*) &intf.if_addr)->sin_len = cur_ifaddrs->ifa_addr->sa_len;
++
++ /* since every scope != 0 is ignored, we just set the scope to 0 */
++ /* There's no scope_id in the non-ipv6 stuff
++ ((struct sockaddr_in6*) &intf.if_addr)->sin6_scope_id = 0;
++ */
++
++ /*
++ * hardcoded netmask, adrian says that's ok
++ */
++ /* Non-NetBSD uses intf.if_mask = prefix(((struct sockaddr_in*) &ifr->ifr_addr)->sin_addr.s_addr); */
++ /* intf.if_mask = 64; */
++ intf.if_mask = prefix( sin_addr->sin_addr.s_addr);
++ intf.if_flags = cur_ifaddrs->ifa_flags;
++
++ /*
++ * FIXME: figure out how to gain access to the kernel index
++ * (or create our own), getifaddrs() does not contain such
++ * data
++ */
++
++ intf.if_kernel_index = (uint16_t) if_nametoindex(cur_ifaddrs->ifa_name);
++
++ intf_ptr = (opal_if_t*) calloc(1, sizeof(opal_if_t));
++ if(NULL == intf_ptr) {
++ opal_output(0, "opal_ifinit: unable to allocate %lu bytes\n",
++ sizeof(opal_if_t));
++ OBJ_DESTRUCT(&intf);
++ return OPAL_ERR_OUT_OF_RESOURCE;
++ }
++ memcpy(intf_ptr, &intf, sizeof(intf));
++
++#if 0
++ printf("About to append interface %s.\n", cur_ifaddrs->ifa_name);
++#endif
++ /* opal_list_append(&opal_if_list, &intf_ptr->super); */
++ opal_list_append(&opal_if_list, (opal_list_item_t*) intf_ptr);
++
++ OBJ_DESTRUCT(&intf);
++ } /* of for loop over ifaddrs list */
++
++ }
++#else
+ /* create the internet socket to test off */
+ /*
+ Change AF_INET to AF_UNSPEC (or AF_INET6) and everything will fail.
+@@ -356,6 +498,10 @@
+ }
+ free(ifconf.ifc_req);
+ close(sd);
++
++#endif /* anything other than {Net,Open,Free}BSD and DragonFly */
++
++
+ #if OPAL_WANT_IPV6
+ #ifdef __linux__ /* Linux does not have SIOCGL*, so parse
+ /proc/net/if_inet6 instead */
diff --git a/parallel/openmpi/patches/patch-ai b/parallel/openmpi/patches/patch-ai
new file mode 100644
index 00000000000..b56ec992f00
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ai
@@ -0,0 +1,39 @@
+$NetBSD: patch-ai,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Install configuration files into example directory.
+
+--- orte/etc/Makefile.in.orig 2009-11-11 17:04:47.000000000 +0300
++++ orte/etc/Makefile.in 2009-12-04 05:00:13.000000000 +0300
+@@ -899,6 +899,7 @@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
++exampledir = $(pkgdatadir)/examples
+ target_alias = @target_alias@
+ timer_aix_LIBS = @timer_aix_LIBS@
+ top_build_prefix = @top_build_prefix@
+@@ -1086,19 +1087,19 @@
+ # details why the mkdir is in install-data-local.
+
+ install-data-local:
+- $(mkdir_p) $(DESTDIR)$(sysconfdir)
++ $(mkdir_p) $(DESTDIR)$(exampledir)
+ @ p="$(orte_config_files)"; \
+ for file in $$p; do \
+- if test -f $(DESTDIR)$(sysconfdir)/$$file; then \
++ if test -f $(DESTDIR)$(exampledir)/$$file; then \
+ echo "******************************* WARNING ************************************"; \
+ echo "*** Not installing new $$file over existing file in:"; \
+- echo "*** $(DESTDIR)$(sysconfdir)/$$file"; \
++ echo "*** $(DESTDIR)$(exampledir)/$$file"; \
+ echo "******************************* WARNING ************************************"; \
+ else \
+ if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$file | sed -e 's|^.*/||'`"; \
+- echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f"; \
+- $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f; \
++ echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(exampledir)/$$f"; \
++ $(INSTALL_DATA) $$d$$file $(DESTDIR)$(exampledir)/$$f; \
+ fi; \
+ done
+
diff --git a/parallel/openmpi/patches/patch-aj b/parallel/openmpi/patches/patch-aj
new file mode 100644
index 00000000000..2898bbd4d90
--- /dev/null
+++ b/parallel/openmpi/patches/patch-aj
@@ -0,0 +1,46 @@
+$NetBSD: patch-aj,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Install configuration files into example directory.
+
+--- opal/etc/Makefile.in.orig 2009-11-11 17:04:16.000000000 +0300
++++ opal/etc/Makefile.in 2009-12-04 04:33:04.000000000 +0300
+@@ -36,6 +36,7 @@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
++exampledir = $(pkgdatadir)/examples
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+@@ -1085,24 +1086,24 @@
+ # details why the mkdir is in install-data-local.
+
+ install-data-local:
+- $(mkdir_p) $(DESTDIR)$(sysconfdir)
++ $(mkdir_p) $(DESTDIR)$(exampledir)
+ @ p="$(opal_config_files)"; \
+ if test "$(opal_file_from_platform)" = "yes"; then \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+- echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/openmpi-mca-params.conf"; \
+- $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/openmpi-mca-params.conf; \
++ echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(exampledir)/openmpi-mca-params.conf"; \
++ $(INSTALL_DATA) $$d$$p $(DESTDIR)$(exampledir)/openmpi-mca-params.conf; \
+ else \
+ for file in $$p; do \
+- if test -f $(DESTDIR)$(sysconfdir)/openmpi-mca-params.conf; then \
++ if test -f $(DESTDIR)$(exampledir)/openmpi-mca-params.conf; then \
+ echo "******************************* WARNING ************************************"; \
+ echo "*** Not installing new $$file over existing file in:"; \
+- echo "*** $(DESTDIR)$(sysconfdir)/$$file"; \
++ echo "*** $(DESTDIR)$(exampledir)/$$file"; \
+ echo "******************************* WARNING ************************************"; \
+ else \
+ if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$file | sed -e 's|^.*/||'`"; \
+- echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f"; \
+- $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f; \
++ echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(exampledir)/$$f"; \
++ $(INSTALL_DATA) $$d$$file $(DESTDIR)$(exampledir)/$$f; \
+ fi; \
+ done \
+ fi;
diff --git a/parallel/openmpi/patches/patch-ak b/parallel/openmpi/patches/patch-ak
new file mode 100644
index 00000000000..2e39bb51c05
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ak
@@ -0,0 +1,39 @@
+$NetBSD: patch-ak,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
+
+Install configuration files into example directory.
+
+--- ompi/etc/Makefile.in.orig 2009-12-04 04:54:39.000000000 +0300
++++ ompi/etc/Makefile.in 2009-12-04 05:02:08.000000000 +0300
+@@ -36,6 +36,7 @@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
++exampledir = $(pkgdatadir)/examples
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+@@ -1086,19 +1087,19 @@
+ # details why the mkdir is in install-data-local.
+
+ install-data-local:
+- $(mkdir_p) $(DESTDIR)$(sysconfdir)
++ $(mkdir_p) $(DESTDIR)$(exampledir)
+ @ p="$(ompi_config_files)"; \
+ for file in $$p; do \
+- if test -f $(DESTDIR)$(sysconfdir)/$$file; then \
++ if test -f $(DESTDIR)$(exampledir)/$$file; then \
+ echo "******************************* WARNING ************************************"; \
+ echo "*** Not installing new $$file over existing file in:"; \
+- echo "*** $(DESTDIR)$(sysconfdir)/$$file"; \
++ echo "*** $(DESTDIR)$(exampledir)/$$file"; \
+ echo "******************************* WARNING ************************************"; \
+ else \
+ if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$file | sed -e 's|^.*/||'`"; \
+- echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f"; \
+- $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f; \
++ echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(exampledir)/$$f"; \
++ $(INSTALL_DATA) $$d$$file $(DESTDIR)$(exampledir)/$$f; \
+ fi; \
+ done
+