This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add probes for prctl () and prctl (PR_SET_NAME, ...)
[metaconfig.git] / U / perl / d_prctl.U
1 ?RCS: $Id$
2 ?RCS:
3 ?RCS: Copyright (c) 2010 H.Merijn Brand
4 ?RCS:
5 ?RCS: You may distribute under the terms of either the GNU General Public
6 ?RCS: License or the Artistic License, as specified in the README file.
7 ?RCS:
8 ?MAKE:d_prctl d_prctl_set_name: Inlibc cat Compile run rm_try
9 ?MAKE:  -pick add $@ %<
10 ?S:d_prctl:
11 ?S:     This variable conditionally defines the HAS_PRCTL symbol, which
12 ?S:     indicates to the C program that the prctl() routine is available.
13 ?S:.
14 ?S:d_prctl_set_name:
15 ?S:     This variable conditionally defines the HAS_PRCTL symbol, which
16 ?S:     indicates to the C program that the prctl() routine is available.
17 ?S:.
18 ?C:HAS_PRCTL:
19 ?C:     This symbol, if defined, indicates that the prctl routine is
20 ?C:     available to set process title.
21 ?C:.
22 ?C:HAS_PRCTL_SET_NAME:
23 ?C:     This symbol, if defined, indicates that the prctl routine is
24 ?C:     available to set process title and supports PR_SET_NAME.
25 ?C:.
26 ?H:#$d_prctl HAS_PRCTL          /**/
27 ?H:#$d_prctl_set_name HAS_PRCTL_SET_NAME                /**/
28 ?H:.
29 ?F:!try
30 ?LINT:set d_prctl
31 : see if prctl exists
32 set prctl d_prctl
33 eval $inlibc
34
35 : see if prctl supports PR_SET_NAME
36 d_prctl_set_name=$undef
37 case $d_prctl in
38     $define)
39         $cat >try.c <<EOM
40 #include <sys/prctl.h>
41
42 int main (int argc, char *argv[])
43 {
44     return (prctl (PR_SET_NAME, "Test"));
45     } /* main */
46 EOM
47         set try
48         if eval $compile_ok && $run ./try; then
49             echo "Your prctl (PR_SET_NAME, ...) works"
50             d_prctl_set_name=$define
51             fi
52         $rm_try
53         ;;
54     esac
55