.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "DH_FORTRAN_MOD 1" .TH DH_FORTRAN_MOD 1 "2019-01-29" "dh-fortran-mod v0.12" "dh-fortran-mod" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" dh_fortran_mod \- Install Fortran 90 .mod files and add dependency information. .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBdh_fortran_mod\fR [\fB\-\-sourcedir=\fR\fIdir\fR] [$<\fIdebhelper options\fR>] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBdh_fortran_mod\fR is a debhelper program that finds Fortran module and submodule files and adds dependencies to \fBgfortran\-$version\fR as required to the package using via the variable \fB${Fortran\-Mod}\fR. .PP \&\fBdh_fortran_mod\fR is expected to be automatically added using the debhelper \*(L"addon\*(R" \fBfortran_mod\fR ie. using the debian/rules line: .PP .Vb 1 \& dh $@ \-\-with fortran_mod .Ve .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-\-sourcedir=\fR\fIdir\fR" 4 .IX Item "--sourcedir=dir" Look in the specified directory for files to be installed. .Sp Typically Fortran module files are included in library development packages. .SH "TODO" .IX Header "TODO" .RS 4 \&\fBdh_fortran_mod\fR will be expanded to find mod files automatically from the \fIdebian/tmp\fR directory. It will enable the installation of mod files in parallel for multiple compilers. It will install .smod files for Fortran 2018. .Sp The fortran-mod file syntax follows dh_install: pairs of sources and optional target directories. The default directory will be \f(CW$fmoddir\fR ( /usr/lib/$multiarch/fortran/$compiler_mod_directory/) If the target directory is absolute (starts with a '/'), this directory is used in the target package. If the target does not absolute, it will be treated as a subdirectory of \f(CW$fmoddir\fR. .Sp \&\f(CW$compiler_mod_directory\fR is based on the compiler module version: currently gfortran\-mod\-15 for gfortran\-8, and flang\-mod\-33 for flang\-7. These will be updated for incompatible compiler versions. There is a symlink in \f(CW$libdir\fR/fortran/ for the 'canonical' compiler name, linking to this, e.g. /usr/lib/$multiarch/fortran/x86_64\-linux\-gnu\-gfortran\-8 \-> gfortran\-mod\-15 This enables makefile fragments to construct \f(CW$fmoddir\fR as required from : .Sp .Vb 2 \& FC:=$(shell basename $(shell readlink \-f /usr/bin/gfortran)) \& FMODDIR:=/usr/lib/$(shell dpkg\-architecture \-qDEB_HOST_MULTIARCH)/fortran/$(FC) .Ve .Sp Its not clear what happens on module version changes in Flang/F18. While the version number signifies format changes, it appears the design is currently to be backward compatible and read previous versions. Hence symlinks for flang handling may be required. .RE .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBdebhelper\fR\|(7) .SH "AUTHORS" .IX Header "AUTHORS" Se\*'bastien Villemot Alastair McKinstry .PP Lots of code stolen shamelessly from dh_install (Joey Hess ).