Skip to content

Releases: fortran-lang/fpm

Fpm alpha version 0.4.0

27 Aug 08:40
04da9a1
Compare
Choose a tag to compare

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

Linux executable
MacOS executable
Windows executable
Source file
Source archive

Alpha release update

23 Jun 11:03
c3ab3e1
Compare
Choose a tag to compare

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

Linux executable
MacOS executable
Windows executable
Source file
Source archive

Alpha release update

30 Mar 08:22
799fcac
Compare
Choose a tag to compare

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:

  • Add support for specifying an include directory (#377)

  • Implement --flag command line option (#390)

Fixes:

  • Fix problems when building with local paths (#327,#390)

  • Fix for executable link libraries when auto discovery is enabled (#398)

  • Fix fpm_strings::join for null inputs (#404)

Download statistic

Linux executable
MacOS executable
Windows executable
Source file
Source archive

Alpha release update

06 Mar 11:41
79d7fb6
Compare
Choose a tag to compare

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 to fpm 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

Linux executable
MacOS executable
Windows executable
Source file
Source archive

Alpha release update

18 Dec 11:34
483f23b
Compare
Choose a tag to compare

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

Linux executable
MacOS executable
Windows executable
Source file
Source archive

Alpha release update

08 Dec 16:03
6e46fba
Compare
Choose a tag to compare

Fixes:

  • Bug in enumeration of non-library link objects (#267)
  • Bug in Windows release affecting fpm run and fpm test commands (#271)

Changes to the Haskell version:

  • Add -fcoarray=single to default gfortran flags (#262)
  • Fixes: dependency tracking issue (#268)

Download statistic

Linux executable
MacOS executable
Windows executable
Source file
Source archive

Alpha release update

05 Dec 10:01
af67eae
Compare
Choose a tag to compare

Fixes:

  • Major bug with the Windows release build (#260)

Adds:

  • Incremental rebuilds (#248)

Changes to bootstrap version:

  • Support coarray programs with gfortran (#262)

Download statistic

Linux executable
MacOS executable
Windows executable
Source file
Source archive

Initial alpha release

25 Nov 16:06
105644c
Compare
Choose a tag to compare

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

Linux executable
MacOS executable
Windows executable
Source file
Source archive