blob: b2811757dccf39d1b5a1008059baf7be9c6b9eca (
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
|
#! /bin/sh
if test -z "$CPP"; then
CPP="cc -E"
fi
if test -z "$srcdir"; then
srcdir=.
fi
rm -f core*
sed < $srcdir/osdef.h.in -n -e '/^extern/s@.*[)* ][)* ]*\([^ *]*\) __P.*@/[)*, ]\1[ (]/i\\\
\\/\\[^a-zA-Z_\\]\1 __P\\/d@p' > osdef1.sed
cat << EOF > osdef0.c
#include "config.h"
#include <sys/types.h>
#include <stdio.h>
#include <signal.h>
#include <sys/stat.h>
#include <pwd.h>
#ifdef SHADOWPW
#include <shadow.h>
#endif
#ifndef sun
#include <sys/ioctl.h>
#endif
#ifdef linux
#include <string.h>
#include <stdlib.h>
#endif
#ifndef NAMEDPIPE
#include <sys/socket.h>
#endif
#ifndef NOSYSLOG
#include <syslog.h>
#endif
#include "os.h"
#if defined(UTMPOK) && defined (GETTTYENT) && !defined(GETUTENT)
#include <ttyent.h>
#endif
#ifdef SVR4
# include <sys/resource.h>
#endif
EOF
cat << EOF > osdef2.sed
1i\\
/*
1i\\
* This file is automagically created from osdef.sh -- DO NOT EDIT
1i\\
*/
EOF
$CPP -I. -I$srcdir osdef0.c | sed -n -f osdef1.sed >> osdef2.sed
sed -f osdef2.sed < $srcdir/osdef.h.in > osdef.h
rm osdef0.c osdef1.sed osdef2.sed
if test -f core*; then
file core*
echo " Sorry, your sed is broken. Call the system administrator."
echo " Meanwhile, you may try to compile screen with an empty osdef.h file."
echo " But if your compiler needs to have all functions declared, you should"
echo " retry 'make' now and only remove offending lines from osdef.h later."
exit 1
fi
if eval test "`diff osdef.h $srcdir/osdef.h.in | wc -l`" -eq 4; then
echo " Hmm, sed is very pessimistic about your system header files."
echo " But it did not dump core -- strange! Let's continue carefully..."
echo " If this fails, you may want to remove offending lines from osdef.h"
echo " or try with an empty osdef.h file, if your compiler can do without"
echo " function declarations."
fi
|