Skip to content

Commit 617ffc1

Browse files
author
Damian Rouson
committed
Bumped the version number up to 1.0.3 and updated the installation instructions to reflect the availability of the MacPorts OpenCoarrays port.
Signed-off-by: Damian Rouson <damian@sourceryinstitute.org>
1 parent 7866681 commit 617ffc1

File tree

2 files changed

+43
-33
lines changed

2 files changed

+43
-33
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.0)
22

33
#Name project and specify source languages
4-
project(opencoarrays VERSION 1.0.2 LANGUAGES C Fortran)
4+
project(opencoarrays VERSION 1.0.3 LANGUAGES C Fortran)
55

66
#Print an error message on an attempt to build inside the source directory tree:
77
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")

INSTALL.md

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,39 +26,39 @@ source code.
2626
### OS X###
2727
</a>
2828

29-
We have developed a Portfile that we will submit for inclusion into the
30-
[MacPorts] package management software after posting the OpenCoarrays 1.0.0
31-
tar ball online. Once the OpenCoarrays Portfile has been incorporated into
32-
MacPorts, users can install OpenCoarrays on OS X by installing MacPorts and
33-
then typing the following:
29+
OS X users might find it easiest to install OpenCoarrays using the [MacPorts]
30+
package management system. After installing MacPorts, type the following:
3431

3532
sudo port selfupdate
3633
sudo port upgrade outdated
3734
sudo port install opencoarrays
3835

39-
Administrator privileges are required for issuing the above "sudo" commands.
40-
Also, the first two steps above are required only if your MacPorts ports
41-
were last updated prior to the incorporation of the OpenCoarrays Portfile
42-
into MacPorts. The above process can be repeated to obtain updates in the
43-
form of future OpenCoarrays releases.
36+
where the "sudo" command requires Administrator privileges and where the first
37+
two steps above are required only if the MacPorts ports were last updated prior
38+
to 30 September 2015, when the OpenCoarrays port was incorporated into MacPorts.
39+
Repeating the first two steps above will also update OpenCoarrays to the latest
40+
release.
4441

4542
<a name="windows">
4643
### Windows ###
4744
</a>
4845
Windows users will find it easiest to download the Lubuntu Linux virtual
49-
machine from the [Sourcery Store]. The virtual machine boots inside the
50-
open-source [VirtualBox] virtualization package. In addition to containing
46+
machine from the [Sourcery Institute Store]. The virtual machine boots inside
47+
the open-source [VirtualBox] virtualization package. In addition to containing
5148
GCC 4.9, 5.2, and 6.0, MPICH, OpenMPI, and OpenCoarrays, the virtual machine
5249
contains dozens of other open-source software packages that support software
5350
development in modern Fortran. See the [download and installation instructions]
5451
for a partial list of the included packages.
5552

53+
Alternatively, if you desire to use OpenCoarrays under Cygwin, please submit a
54+
feature request via our [Issues] page.
55+
5656
<a name="linux">
5757
### Linux ###
5858
</a>
5959

6060
Linux users who prefer not to build OpenCoarrays from source might access
61-
OpenCoarrays via the the Lubuntu Linux virtual machine from the [Sourcery Store]
61+
OpenCoarrays via the the Lubuntu Linux virtual machine from the [Sourcery Institute Store]
6262
after installing the version of [VirtualBox] that is suitable for the relevant
6363
Linux distribution.
6464

@@ -82,6 +82,18 @@ install the following:
8282
Fortran and C compilers (preferably the [MPICH] or [MVAPICH] implementations for
8383
robustness and high performance)
8484

85+
The [install_prerequisites] directory contains experimental [buildgcc], [buildmpich], and
86+
[buildcmake] bash shell scripts that can download and build any one of several versions of the
87+
[GCC] C, C++, and Fortran compilers; the [CMake] build sytem; and the [MPICH] communication
88+
library. (Because newer parts of the GNU Fortran compiler gfortran are written in C++,
89+
installing the GNU Fortran compiler from source requires also installing the GNU C++ compiler
90+
g++.) The CMake scripts that build OpenCoarrays also copy [buildgcc], [buildmpich], and
91+
[buildcmake] into the "bin" directory of the OpenCoarrays installation for later use.
92+
93+
We have tested the build scripts on OS X and Linux. Please submit suggestions for improving
94+
the scripts to our [Issues] page or preferably suggeste edits by forking a copy of the
95+
[OpenCoarrays] repository, making the suggested edits, and submitting a pull request.
96+
8597
If installing the above prerequisites is infeasible, then a limited coverage of CAF
8698
features is available via the OpenCoarrays "caf" compiler wrapper and the
8799
[opencoarrays] module, for which the installation prerequisites are the following:
@@ -128,7 +140,7 @@ Advanced options (most users should not use these):
128140
-DLEGACY_ARCHITECTURE=OFF enables the use of FFT libraries that employ AVX instructions
129141
-DHIGH_RESOLUTION_TIMER=ON enables timers that tick once per clock cycle
130142
-DCOMPILER_SUPPORTS_ATOMICS enables support for the proposed Fortran 2015 events feature
131-
-DUSE_EXTENSIONS builds the [opencoarrys] module for use with non-OpenCoarrays-aware compilers
143+
-DUSE_EXTENSIONS builds the [opencoarrays] module for use with non-OpenCoarrays-aware compilers
132144

133145
The first two flags above are not portable and the third enables code that is incomplete as
134146
of release 1.0.0. The fourth is set automatically by the CMake scripts based on the compiler
@@ -160,34 +172,27 @@ system settings. For example, you might need to remove the "-Werror" option fro
160172
compiler flags or name a different compiler. In order to activate efficient strided-array
161173
transfer support, uncomment the -DSTRIDED flag inside the [make.inc] file.
162174

163-
## <a name="obtaingcc">Obtaining GCC</a> ##
175+
## <a name="obtaingcc">Obtaining GCC, MPICH, and CMake</a> ##
164176

165-
[GCC] 5 binary builds are available at [https://gcc.gnu.org/wiki/GFortranBinaries]. Also,
177+
[GFortran Binaries] 5 binary builds are available at [https://gcc.gnu.org/wiki/GFortranBinaries]. Also,
166178
the Lubuntu Linux virtual machine available for download in the [Sourcery Store] includes
167-
builds of GCC 4.9, 5.2, and 6.0 as well as a rudimentary script (/opt/sourcery/bin/buildgcc)
168-
that builds [GCC] from source on Linux and OS X.
179+
builds of GCC 4.9, 5.2, and 6.0.
169180

170-
To build the most up-to-date version of GCC from source manually, you might first try the
171-
steps employed in the buildgcc script:
181+
To build all prerequisites from source, including the current development branch of GCC,
182+
you might first try the running the provided scripts in a manner similar to the following:
172183

173-
svn co svn://gcc.gnu.org/svn/gcc/trunk
174-
cd trunk
175-
./contrib/download_prerequisites
176-
cd ..
177-
mkdir -p trunk-build
184+
cd install_prerequisites
185+
./buildgcc trunk
178186
cd trunk-build
179-
../trunk/configure --prefix=${PWD} --enable-languages=c,c++,fortran,lto --disable-multilib --disable-werror
180-
make -j 2 bootstrap
181187
make install
188+
CC=gcc FC=gfortran CXX=g++ ./buildmpich default
189+
make install
190+
./buildcmake default
182191

183-
where the "2" in the penultimate line launches a multi-threaded build with 2 threads. Use more
184-
threads for additional speedup, depending on your platform.
185-
186-
See the [GFortran Binaries] web page for additional details and the [Installing GCC] page
187-
for an exhaustive description of the build process and options.
188192

189193
[End-User Installation]: #end-user-installation
190194
[OS X]: #os-x
195+
[ticket]: https://trac.macports.org/ticket/47806
191196
[Windows]: #windows
192197
[Linux]: #linux
193198
[Building from Source]: #building-from-source
@@ -196,13 +201,18 @@ for an exhaustive description of the build process and options.
196201
[Make]: #make
197202
[Obtaining GCC]: #obtaining-gcc
198203
[Sourcery Store]: http://www.sourceryinstitute.org/store
204+
[Sourcery Institute Store]: http://www.sourceryinstitute.org/store
199205
[Virtualbox]: http://www.virtualbox.org
200206
[download and installation instructions]: http://www.sourceryinstitute.org/uploads/4/9/9/6/49967347/overview.pdf
201207
[yum]: http://yum.baseurl.org
202208
[apt-get]: https://en.wikipedia.org/wiki/Advanced_Packaging_Tool
203209
[Issues]: https://github.com/sourceryinstitute/opencoarrays/issues
204210
[make.inc]: ./src/make.inc
205211
[opencoarrays]: ./src/extensions/opencoarrays.F90
212+
[install_prerequisites]: ./install_prerequisites
213+
[buildgcc]: ./install_prerequisites/buildgcc
214+
[buildmpich]: ./install_prerequisites/buildmpich
215+
[buildcmake]: ./install_prerequisites/buildcmake
206216
[MPICH]: http://www.mpich.org
207217
[MVAPICH]:http://mvapich.cse.ohio-state.edu
208218
[Macports]: http://www.macports.org

0 commit comments

Comments
 (0)