summaryrefslogtreecommitdiff
path: root/scripts/mkc_check_custom.1
blob: fbe6784033e254d815931527abed6888fc39a83f (plain)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
.\"	$NetBSD$
.\"
.\" Copyright (c) 2009-2014 by Aleksey Cheusov (vle@gmx.net)
.\" Absolutely no warranty.
.\"
.\" ------------------------------------------------------------------
.de VS \" Verbatim Start
.ft CW
.nf
.ne \\$1
..
.de VE \" Verbatim End
.ft R
.fi
..
.\" ------------------------------------------------------------------
.TH MKC_CHECK_CUSTOM 1 "Nov 22, 2009" "" ""
.SH NAME
mkc_check_custom \- run user's custom checks.
.SH SYNOPSIS
.BI mkc_check_custom " [-r] sourcefile"
.br
.BI mkc_check_custom " cmd [args...]"
.br
.BI mkc_check_custom " -h"
.SH DESCRIPTION
If
.I cmd
is executable
.B mkc_check_custom
runs
.IR "cmd args" .
Otherwise it tries to compile
.IR sourcefile
and output 1 if compilation succeeded and 0 otherwise.
If -r option was applied it runs a compiled program.
What type of compiler to use depends on
.I sourcefile
extension. '.c' corresponds to
.I ${CC}
(C language), '.cc', '.cxx', '.C' and '.cpp' correspond to
.I ${CXX}
(C++ language), '.f' -- to
.I ${FC}
(Fortran).
.SH OPTIONS
.TP
.B "-h"
Display help message.
.TP
.B "-r"
Run executable compiled from
.IR sourcefile .
.TP
.BI "-p " text
Prefix of the generated cache file. The default is "custom".
.TP
.BI "-n " text
Name part of the generated cache file.
.br
The default is `basename <sourcefile>`.
.TP
.BI "-m " text
Message
.B mkc_check_custom
outputs.
.br
The default is "custom test sourcefile_or_cmd".
.TP
.BI -s
.B mkc_check_custom 
outputs an exit status of
.IR "cmd args" .
.TP
.BI -d
Delete cache files.
.TP
.BI -e
Print 0 if compiler/cmd print something to stderr.
.TP
.B -b
Print yes/no instead of 1/0.
.SH ENVIRONMENT
.TP
.B CC
C compiler
.TP
.B CXX
C++ compiler
.TP
.B CARGS
Options passed to compiler (CC, CXX or FC)
.TP
.B FC
Fortran compiler
.TP
.B CPPFLAGS
Preprocessor flags for C and C++
.TP
.B CFLAGS
Compilation flags for C
.TP
.B CXXFLAGS
Compilation flags for C++
.TP
.B FFLAGS
Compilation flags for Fortran
.TP
.B MKC_VERBOSE
If set to 1, verbose messages are output to stderr.
.TP
.B MKC_SHOW_CACHED
If set to 1 and MKC_VERBOSE is set to 1, cached results
are output to stderr.
.TP
.B MKC_CACHEDIR
Directory where temporary and cache files are created.
If unset they are created in a current directory.
.TP
.B MKC_NOCACHE
All results are cached unless MKC_NOCACHE variable is set
to 1.
.TP
.B MKC_DELETE_TMPFILES
If set to 1, temporary files are removed.
.SH EXAMPLES
.VS
   mkc_check_custom alloca_in_stdlib.c
   mkc_check_custom custom_checks/cxx_foo_test.cc
   mkc_check_custom /full/path/to/yacc_need_liby
.VE
.SH AUTHOR
Aleksey Cheusov <vle@gmx.net>