File: alias_mancnst

package info (click to toggle)
mpich 4.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 101,184 kB
  • sloc: ansic: 1,040,629; cpp: 82,270; javascript: 40,763; perl: 27,933; python: 16,041; sh: 14,676; xml: 14,418; f90: 12,916; makefile: 9,270; fortran: 8,046; java: 4,635; asm: 324; ruby: 103; 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;