File: alias_mancnst

package info (click to toggle)
mpich 5.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 251,828 kB
  • sloc: ansic: 1,323,147; cpp: 82,869; f90: 72,420; javascript: 40,763; perl: 28,296; sh: 19,399; python: 16,191; xml: 14,418; makefile: 9,468; fortran: 8,046; java: 4,635; pascal: 352; asm: 324; ruby: 176; awk: 27; lisp: 19; php: 8; sed: 4
file content (47 lines) | stat: -rwxr-xr-x 1,228 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#! /usr/bin/env perl
##
## Copyright (C) by Argonne National Laboratory
##     See COPYRIGHT in top-level directory
##

# This script renames man/man3/Constants.3 into man/man3/mpiconsts.3
# to avoid collision with other packages. Then it creates alias man
# pages for individual constants.

use strict;

my $srcdir = ".";
foreach my $a (@ARGV) {
    if ($a =~ /--?srcdir=(.+)/) {
        $srcdir = $1;
    }
}

if (!-e "man/man3/Constants.3") {
    die "man/man3/Constants.3 not found.\n";
}

rename "man/man3/Constants.3", "man/man3/mpiconsts.3";

open In, "man/man3/mpiconsts.3" or die "Can't open man/man3/mpiconsts.3\n";
while (<In>) {
    if (/^\.B\s+(MPIX?_\w+)/) {
        open Out, "> man/man3/$1.3" or die "Can't create man/man3/$1.3\n";
        print Out ".so man3/mpiconsts.3\n";
        close Out;
    }
}
close In;

# large count routines
my $poly_aliases_lst = "$srcdir/src/binding/c/mansrc/poly_aliases.lst";
open In, $poly_aliases_lst or die "Failed to open $poly_aliases_lst\n";
while (<In>) {
    # e.g. MPI_Recv - MPI_Recv_c
    if (/^(MPI\w+) - (MPI\w+)/) {
        open Out, "> man/man3/$2.3" or die "Can't create man/man3/$2.3\n";
        print Out ".so man3/$1.3\n";
        close Out;
    }
}
close In;