Releases: fortran-lang/fpm
Fpm alpha version 0.4.0
Alpha release update for the Fortran package manager (fpm).
Changes
-
bootstrap script is now based on 0.3.0 (#504)
-
executable, example and test names are checked to contain only alphanumeric characters (#511)
-
optimize file listing (#507)
New Features
-
generate
build/.gitignore
to avoid disallow committing build artifacts (#528) -
allow extra section in package manifest (#533)
-
support MPI wrappers and LFortran compiler (#527)
Fixes
-
initialize executable names before comparison (#516)
-
don't access unallocated variables in fpm-run (#517)
-
cleanup help texts and remove unallocated variables (#522)
-
fix compilation errors for building fpm with
ifort
(#523) -
always call git init in case of backfilling with fpm-new (#536)
-
use correct symbols on MacOS/ARM64 (#548)
Download statistic
Alpha release update
Changes:
-
Add check for duplicate module names (not allowed) (#412)
-
Add support for detecting OpenBSD (#468)
-
Exit more gracefully with useful error messages for
build
,run
,test
(#491)
New features:
-
Add
external-modules
manifest field to allow using installed library modules (#438) -
Add
-C
/--directory
flag to change working directory (#483) -
Add automatic discovery of manifest files in parent directories (#483)
-
Add simple support for invoking plugins from fpm (#484)
-
Add support for specifying command line inputs via response files
-
Add support for reading package version from file (#500)
Fixes:
-
Fix default flags for Intel fortran on Windows (#431)
-
Remove
-coarray=single
flag from default Intel flags (#437) -
Allow using the
lib
archiver in Windows (#442) -
Invoke matching c compiler when compiling c code (#433)
-
Fix spurious output when checking for archiver (#489)
-
Fix to module statement parsing (#490)
-
Fix for specifying compiler flags containing an equals(=) sign (#497)
Download statistic
Alpha release update
Changes:
-
Replace deprecated flags in gfortran debug profile (#386)
-
--release
flag is replaced by--profile release
(#390) -
Programs can use modules defined in relative subdirectories (#409)
-
Add omp_lib to intrinsic modules list (#413)
New features:
Fixes:
-
Fix for executable link libraries when auto discovery is enabled (#398)
-
Fix fpm_strings::join for null inputs (#404)
Download statistic
Alpha release update
Changes:
- Change the default behaviour of
fpm run
when there are multiple executables (#370)
New features:
-
fpm build --show-model
for displaying the internal representation (#291) -
Allow hyphen in fpm new project names (#337)
-
Add
--full
and--bare
options tofpm new
(#316)
Fixes:
-
Remove
-ffast-math
from default build flags (#315) -
Fix for severe performance regression (#335)
-
Use dynamic openmp scheduling for better parallel build performance (#345)
-
Correct path for default examples (#346)
-
Fix inconsistency in intel build flags (#372)
Changes to the Haskell version:
- Remove
-ffast-math
from default build flags (#315)
Download statistic
Alpha release update
New features:
-
fpm install
command for installing package executables (#257) -
fpm update
command for dependency handling (#266) -
Support for example programs (#280)
-
Support for detecting
.f
and.F
files for legacy packages (#294)
Fixes:
-
Duplicate program names in manifest not checked (#286)
-
Incorrect help text shown for
fpm help -h
(#292) -
Incorrect top-level manifest keys not detected (#293)
-
Invalid passive support for coarrays with
ifort
compiler (#300) -
Source parsing bugs (#303)
-
Output file collisions between program objects and executables (#307)
Changes to the Haskell version:
- Expanded support for different compilers (#289)
Download statistic
Alpha release update
Alpha release update
Initial alpha release
Note: this repository comprises two different implementations of fpm: the bootstrap
version, written in Haskell, and the Fortran
version, written in Fortran — where the former is used to bootstrap build the latter.
Feature summary
In this initial release, both fpm
implementations support the following features:
- Packages containing library modules and executable apps/tests
fpm.toml
manifest file describing package configuration- Building of sources in the correct order, accounting for module dependencies
- External package dependencies: both local and remote (using git)
- Fortran submodules
- Initialise a new
fpm
project in a new directory - Specifying a custom
--runner
when executing apps/tests
The bootstrap
implementation additionally supports:
- Specifying a custom build script or Makefile
- Specifying custom compiler flags
- Partial/incremental rebuilds
The Fortran
implementation additionally supports:
- Packages including simple
c
code sources - Specification of link flags to link with external library
- Auto-discovery of executable apps/tests not specified in manifest
This is an alpha release: some planned features are not yet implemented and no promises of future backward compatibility are given.
Download statistic