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
134
135
|
dnl Process this file with autoconf to produce a configure script.
AC_INIT(ruby.h)
PROGS="ruby"
AC_SUBST(PROGS)dnl
dnl Checks for programs.
AC_PROG_CC
AC_PROG_GCC_TRADITIONAL
AC_PROG_YACC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
dnl Checks for libraries.
AC_CHECK_LIB(m, pow)
AC_CHECK_LIB(crypt, crypt)
AC_CHECK_LIB(dl, dlopen, [:])
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h limits.h sys/file.h sys/ioctl.h sys/time.h unistd.h\
stdlib.h syscall.h a.out.h string.h utime.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_UID_T
AC_TYPE_SIZE_T
AC_STRUCT_ST_BLKSIZE
AC_STRUCT_ST_BLOCKS
AC_STRUCT_ST_RDEV
dnl Checks for library functions.
AC_TYPE_GETGROUPS
AC_TYPE_SIGNAL
AC_FUNC_ALLOCA
AC_FUNC_VFORK
AC_REPLACE_FUNCS(memmove mkdir strerror strftime\
strstr strtoul strdup)
AC_CHECK_FUNCS(fmod killpg random wait4 waitpid syscall getcwd\
setruid seteuid setreuid setrgid setegid setregid\
getpriority sigprocmask dlopen utimes)
AC_CHECK_FUNC(setenv, [], AC_CHECK_FUNCS(putenv))
if test "$ac_cv_func strftime" = no; then
AC_STRUCT_TIMEZONE
AC_TRY_LINK([],
[extern int daylight; int i = daylight;], AC_DEFINE(HAVE_DAYLIGHT))
fi
AC_C_BIGENDIAN
AC_MSG_CHECKING(std stdio)
AC_CACHE_VAL(rb_cv_stdstdio,
[AC_TRY_COMPILE([#include <stdio.h>],
[stdin->_cnt > 0;],
rb_cv_stdstdio=yes,
rb_cv_stdstdio=no)])
AC_MSG_RESULT($rb_cv_stdstdio)
if test "$rb_cv_stdstdio" = yes; then
AC_DEFINE(STDSTDIO)
fi
AC_MSG_CHECKING(struct passwd)
AC_EGREP_HEADER(pw_change, pwd.h, AC_DEFINE(PW_CHANGE))
AC_EGREP_HEADER(pw_quota, pwd.h, AC_DEFINE(PW_QUOTA))
AC_EGREP_HEADER(pw_age, pwd.h, AC_DEFINE(PW_AGE))
AC_EGREP_HEADER(pw_class, pwd.h, AC_DEFINE(PW_CLASS))
AC_EGREP_HEADER(pw_comment, pwd.h, AC_DEFINE(PW_COMMENT))
AC_EGREP_HEADER(pw_expire, pwd.h, AC_DEFINE(PW_EXPIRE))
AC_MSG_RESULT(done)
if test "$ac_cv_header_a_out_h" = yes; then
AC_MSG_CHECKING(whether matz's dln works)
cp confdefs.h config.h
AC_CACHE_VAL(rb_cv_mydln,
[AC_TRY_COMPILE([
#define USE_MY_DLN
#include "dln.c"
],
[],
rb_cv_mydln=yes,
rb_cv_mydln=no)])
AC_MSG_RESULT($rb_cv_mydln)
if test "$rb_cv_mydln" = yes; then
AC_DEFINE(USE_MY_DLN)
fi
fi
AC_SUBST(STATIC)dnl
AC_SUBST(CCDLFLAGS)dnl
AC_SUBST(LDDLFLAGS)dnl
AC_SUBST(DLEXT)dnl
AC_SUBST(EXTMAKE)dnl
EXTMAKE=
STATIC=
if test "$rb_cv_mydln" = yes; then
EXTMAKE=extmake
if test "$HOSTTYPE" = sparc; then
if test "$ac_cv_prog_CC" = gcc; then
STATIC=-static
else
STATIC=-Bstatic
fi
fi
DLEXT=o
AC_DEFINE(DLEXT, ".o")
CCDLFLAGS=
LDCMD=
elif test "$ac_cv_lib_dl" = yes || test "$ac_cv_func_dlopen" = yes; then
AC_CANONICAL_HOST
echo "please mail this value to matz -- $host_os"
EXTMAKE=extmake
DLEXT=so
AC_DEFINE(DLEXT, ".so")
if test "$ac_cv_prog_CC" = gcc; then
CCDLFLAGS=-fpic
else
case "$host_os" in
hpux*) CCDLFLAGS='+z' ;;
solaris*|irix*) CCDLFLAGS='-K pic' ;;
sunos*) CCDLFLAGS='-pic' ;;
svr4*|esix*) CCDLFLAGS='-Kpic' ;;
*) CCDLFLAGS='' ;;
esac
fi
case "$host_os" in
hpux*) LDDLFLAGS='-b' ;;
solaris*) LDDLFLAGS='-G' ;;
sunos*) LDDLFLAGS='-assert nodefinitions' ;;
svr4*|esix*) LDDLFLAGS="-G $LDFLAGS" ;;
*) LDDLFLAGS="" ;;
esac
fi
cp confdefs.h config.h
AC_OUTPUT(Makefile ext/extmk.rb)
|