ctags.rb 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +2 -0
- data/Rakefile +23 -0
- data/ctags.rb.gemspec +23 -0
- data/ext/.gitignore +3 -0
- data/ext/extconf.rb +15 -0
- data/ext/vendor/exuberant-ctags/.gitignore +6 -0
- data/ext/vendor/exuberant-ctags/.indent.pro +31 -0
- data/ext/vendor/exuberant-ctags/COPYING +340 -0
- data/ext/vendor/exuberant-ctags/EXTENDING.html +386 -0
- data/ext/vendor/exuberant-ctags/FAQ +371 -0
- data/ext/vendor/exuberant-ctags/INSTALL +215 -0
- data/ext/vendor/exuberant-ctags/INSTALL.oth +73 -0
- data/ext/vendor/exuberant-ctags/MAINTAINERS +88 -0
- data/ext/vendor/exuberant-ctags/Makefile.in +222 -0
- data/ext/vendor/exuberant-ctags/NEWS +871 -0
- data/ext/vendor/exuberant-ctags/README +73 -0
- data/ext/vendor/exuberant-ctags/ant.c +42 -0
- data/ext/vendor/exuberant-ctags/argproc.c +505 -0
- data/ext/vendor/exuberant-ctags/args.c +274 -0
- data/ext/vendor/exuberant-ctags/args.h +63 -0
- data/ext/vendor/exuberant-ctags/asm.c +387 -0
- data/ext/vendor/exuberant-ctags/asp.c +328 -0
- data/ext/vendor/exuberant-ctags/awk.c +81 -0
- data/ext/vendor/exuberant-ctags/basic.c +203 -0
- data/ext/vendor/exuberant-ctags/beta.c +321 -0
- data/ext/vendor/exuberant-ctags/c.c +2932 -0
- data/ext/vendor/exuberant-ctags/cobol.c +50 -0
- data/ext/vendor/exuberant-ctags/config.h.in +277 -0
- data/ext/vendor/exuberant-ctags/configure +7704 -0
- data/ext/vendor/exuberant-ctags/configure.ac +532 -0
- data/ext/vendor/exuberant-ctags/ctags.1 +1186 -0
- data/ext/vendor/exuberant-ctags/ctags.h +28 -0
- data/ext/vendor/exuberant-ctags/ctags.html +2087 -0
- data/ext/vendor/exuberant-ctags/ctags.spec +40 -0
- data/ext/vendor/exuberant-ctags/debug.c +113 -0
- data/ext/vendor/exuberant-ctags/debug.h +70 -0
- data/ext/vendor/exuberant-ctags/descrip.mms +68 -0
- data/ext/vendor/exuberant-ctags/dosbatch.c +42 -0
- data/ext/vendor/exuberant-ctags/e_amiga.h +24 -0
- data/ext/vendor/exuberant-ctags/e_djgpp.h +47 -0
- data/ext/vendor/exuberant-ctags/e_mac.h +143 -0
- data/ext/vendor/exuberant-ctags/e_msoft.h +76 -0
- data/ext/vendor/exuberant-ctags/e_os2.h +37 -0
- data/ext/vendor/exuberant-ctags/e_qdos.h +34 -0
- data/ext/vendor/exuberant-ctags/e_riscos.h +58 -0
- data/ext/vendor/exuberant-ctags/e_vms.h +31 -0
- data/ext/vendor/exuberant-ctags/eiffel.c +1352 -0
- data/ext/vendor/exuberant-ctags/entry.c +847 -0
- data/ext/vendor/exuberant-ctags/entry.h +103 -0
- data/ext/vendor/exuberant-ctags/erlang.c +189 -0
- data/ext/vendor/exuberant-ctags/flex.c +2243 -0
- data/ext/vendor/exuberant-ctags/fortran.c +2197 -0
- data/ext/vendor/exuberant-ctags/general.h +127 -0
- data/ext/vendor/exuberant-ctags/get.c +669 -0
- data/ext/vendor/exuberant-ctags/get.h +50 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/all-wcprops +47 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/entries +112 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/README.txt.svn-base +5 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regcomp.c.svn-base +3818 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex.c.svn-base +74 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex.h.svn-base +575 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex_internal.c.svn-base +1713 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex_internal.h.svn-base +773 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regexec.c.svn-base +4338 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/README.txt +5 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regcomp.c +3818 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regex.c +74 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regex.h +575 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regex_internal.c +1713 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regex_internal.h +773 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regexec.c +4338 -0
- data/ext/vendor/exuberant-ctags/html.c +49 -0
- data/ext/vendor/exuberant-ctags/jscript.c +1572 -0
- data/ext/vendor/exuberant-ctags/keyword.c +258 -0
- data/ext/vendor/exuberant-ctags/keyword.h +34 -0
- data/ext/vendor/exuberant-ctags/lisp.c +139 -0
- data/ext/vendor/exuberant-ctags/lregex.c +704 -0
- data/ext/vendor/exuberant-ctags/lua.c +133 -0
- data/ext/vendor/exuberant-ctags/mac.c +273 -0
- data/ext/vendor/exuberant-ctags/magic.diff +21 -0
- data/ext/vendor/exuberant-ctags/main.c +584 -0
- data/ext/vendor/exuberant-ctags/main.h +32 -0
- data/ext/vendor/exuberant-ctags/maintainer.mak +476 -0
- data/ext/vendor/exuberant-ctags/make.c +217 -0
- data/ext/vendor/exuberant-ctags/matlab.c +44 -0
- data/ext/vendor/exuberant-ctags/mk_bc3.mak +46 -0
- data/ext/vendor/exuberant-ctags/mk_bc5.mak +49 -0
- data/ext/vendor/exuberant-ctags/mk_djg.mak +18 -0
- data/ext/vendor/exuberant-ctags/mk_manx.mak +65 -0
- data/ext/vendor/exuberant-ctags/mk_mingw.mak +31 -0
- data/ext/vendor/exuberant-ctags/mk_mpw.mak +130 -0
- data/ext/vendor/exuberant-ctags/mk_mvc.mak +40 -0
- data/ext/vendor/exuberant-ctags/mk_os2.mak +104 -0
- data/ext/vendor/exuberant-ctags/mk_qdos.mak +100 -0
- data/ext/vendor/exuberant-ctags/mk_sas.mak +63 -0
- data/ext/vendor/exuberant-ctags/mkinstalldirs +40 -0
- data/ext/vendor/exuberant-ctags/ocaml.c +1842 -0
- data/ext/vendor/exuberant-ctags/options.c +1842 -0
- data/ext/vendor/exuberant-ctags/options.h +155 -0
- data/ext/vendor/exuberant-ctags/parse.c +677 -0
- data/ext/vendor/exuberant-ctags/parse.h +129 -0
- data/ext/vendor/exuberant-ctags/parsers.h +63 -0
- data/ext/vendor/exuberant-ctags/pascal.c +267 -0
- data/ext/vendor/exuberant-ctags/perl.c +382 -0
- data/ext/vendor/exuberant-ctags/php.c +237 -0
- data/ext/vendor/exuberant-ctags/python.c +771 -0
- data/ext/vendor/exuberant-ctags/qdos.c +106 -0
- data/ext/vendor/exuberant-ctags/read.c +569 -0
- data/ext/vendor/exuberant-ctags/read.h +116 -0
- data/ext/vendor/exuberant-ctags/readtags.c +959 -0
- data/ext/vendor/exuberant-ctags/readtags.h +252 -0
- data/ext/vendor/exuberant-ctags/rexx.c +39 -0
- data/ext/vendor/exuberant-ctags/routines.c +891 -0
- data/ext/vendor/exuberant-ctags/routines.h +134 -0
- data/ext/vendor/exuberant-ctags/ruby.c +408 -0
- data/ext/vendor/exuberant-ctags/scheme.c +111 -0
- data/ext/vendor/exuberant-ctags/sh.c +115 -0
- data/ext/vendor/exuberant-ctags/slang.c +41 -0
- data/ext/vendor/exuberant-ctags/sml.c +212 -0
- data/ext/vendor/exuberant-ctags/sort.c +230 -0
- data/ext/vendor/exuberant-ctags/sort.h +32 -0
- data/ext/vendor/exuberant-ctags/source.mak +122 -0
- data/ext/vendor/exuberant-ctags/sql.c +2112 -0
- data/ext/vendor/exuberant-ctags/strlist.c +281 -0
- data/ext/vendor/exuberant-ctags/strlist.h +54 -0
- data/ext/vendor/exuberant-ctags/tcl.c +116 -0
- data/ext/vendor/exuberant-ctags/tex.c +524 -0
- data/ext/vendor/exuberant-ctags/verilog.c +340 -0
- data/ext/vendor/exuberant-ctags/vhdl.c +835 -0
- data/ext/vendor/exuberant-ctags/vim.c +636 -0
- data/ext/vendor/exuberant-ctags/vstring.c +232 -0
- data/ext/vendor/exuberant-ctags/vstring.h +85 -0
- data/ext/vendor/exuberant-ctags/yacc.c +40 -0
- data/lib/ctags/exuberant.rb +45 -0
- data/lib/ctags/version.rb +3 -0
- data/lib/ctags.rb +6 -0
- data/test/test_ctags.rb +24 -0
- metadata +233 -0
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
# $Id$
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2009, Darren Hiebert
|
|
4
|
+
#
|
|
5
|
+
# This source code is released for free distribution under the terms
|
|
6
|
+
# of the GNU General Public License.
|
|
7
|
+
|
|
8
|
+
# Process this file with autoconf to produce a configure script.
|
|
9
|
+
|
|
10
|
+
AC_PREREQ([2.61])
|
|
11
|
+
AC_INIT([ctags.h])
|
|
12
|
+
AC_CONFIG_HEADERS([config.h])
|
|
13
|
+
|
|
14
|
+
AH_TEMPLATE([PACKAGE], [Package name.])
|
|
15
|
+
AH_TEMPLATE([VERSION], [Package version.])
|
|
16
|
+
AH_TEMPLATE([clock_t],
|
|
17
|
+
[Define to the appropriate type if <time.h> does not define this.])
|
|
18
|
+
AH_TEMPLATE([fpos_t],
|
|
19
|
+
[Define to long if <stdio.h> does not define this.])
|
|
20
|
+
AH_TEMPLATE([L_tmpnam],
|
|
21
|
+
[Define to the appropriate size for tmpnam() if <stdio.h> does not define
|
|
22
|
+
this.])
|
|
23
|
+
AH_TEMPLATE([HAVE_STAT_ST_INO],
|
|
24
|
+
[Define this macro if the field "st_ino" exists in struct stat in
|
|
25
|
+
<sys/stat.h>.])
|
|
26
|
+
AH_TEMPLATE([remove],
|
|
27
|
+
[Define remove to unlink if you have unlink(), but not remove().])
|
|
28
|
+
AH_TEMPLATE([SEEK_SET],
|
|
29
|
+
[Define this value used by fseek() appropriately if <stdio.h>
|
|
30
|
+
(or <unistd.h> on SunOS 4.1.x) does not define them.])
|
|
31
|
+
AH_TEMPLATE([INT_MAX],
|
|
32
|
+
[Define as the maximum integer on your system if not defined <limits.h>.])
|
|
33
|
+
AH_TEMPLATE([CUSTOM_CONFIGURATION_FILE],
|
|
34
|
+
[You can define this label to be a string containing the name of a
|
|
35
|
+
site-specific configuration file containing site-wide default options. The
|
|
36
|
+
files /etc/ctags.conf and /usr/local/etc/ctags.conf are already checked,
|
|
37
|
+
so only define one here if you need a file somewhere else.])
|
|
38
|
+
AH_TEMPLATE([MACROS_USE_PATTERNS],
|
|
39
|
+
[Define this label if you want macro tags (defined lables) to use patterns
|
|
40
|
+
in the EX command by default (original ctags behavior is to use line
|
|
41
|
+
numbers).])
|
|
42
|
+
AH_VERBATIM([DEFAULT_FILE_FORMAT], [
|
|
43
|
+
/* Define this as desired.
|
|
44
|
+
* 1: Original ctags format
|
|
45
|
+
* 2: Extended ctags format with extension flags in EX-style comment.
|
|
46
|
+
*/
|
|
47
|
+
#define DEFAULT_FILE_FORMAT 2
|
|
48
|
+
])
|
|
49
|
+
AH_TEMPLATE([SYS_INTERPRETER],
|
|
50
|
+
[Define this label if your system supports starting scripts with a line of
|
|
51
|
+
the form "#! /bin/sh" to select the interpreter to use for the script.])
|
|
52
|
+
AH_TEMPLATE([CASE_INSENSITIVE_FILENAMES],
|
|
53
|
+
[Define this label if your system uses case-insensitive file names])
|
|
54
|
+
AH_VERBATIM([EXTERNAL_SORT], [
|
|
55
|
+
/* Define this label to use the system sort utility (which is probably more
|
|
56
|
+
* efficient) over the internal sorting algorithm.
|
|
57
|
+
*/
|
|
58
|
+
#ifndef INTERNAL_SORT
|
|
59
|
+
# undef EXTERNAL_SORT
|
|
60
|
+
#endif
|
|
61
|
+
])
|
|
62
|
+
AH_TEMPLATE([TMPDIR],
|
|
63
|
+
[If you wish to change the directory in which temporary files are stored,
|
|
64
|
+
define this label to the directory desired.])
|
|
65
|
+
AH_TEMPLATE([REGCOMP_BROKEN],
|
|
66
|
+
[Define this label if regcomp() is broken.])
|
|
67
|
+
AH_TEMPLATE([CHECK_REGCOMP],
|
|
68
|
+
[Define this label if you wish to check the regcomp() function at run time
|
|
69
|
+
for correct behavior. This function is currently broken on Cygwin.])
|
|
70
|
+
AH_TEMPLATE([__USE_FIXED_PROTOTYPES__],
|
|
71
|
+
[This corrects the problem of missing prototypes for certain functions
|
|
72
|
+
in some GNU installations (e.g. SunOS 4.1.x).])
|
|
73
|
+
AH_TEMPLATE([NON_CONST_PUTENV_PROTOTYPE],
|
|
74
|
+
[Define this is you have a prototype for putenv() in <stdlib.h>, but
|
|
75
|
+
doesn't declare its argument as "const char *".])
|
|
76
|
+
AH_TEMPLATE([NEED_PROTO_REMOVE],
|
|
77
|
+
[If you receive error or warning messages indicating that you are missing
|
|
78
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
79
|
+
this label and remake.])
|
|
80
|
+
AH_TEMPLATE([NEED_PROTO_UNLINK],
|
|
81
|
+
[If you receive error or warning messages indicating that you are missing
|
|
82
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
83
|
+
this label and remake.])
|
|
84
|
+
AH_TEMPLATE([NEED_PROTO_MALLOC],
|
|
85
|
+
[If you receive error or warning messages indicating that you are missing
|
|
86
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
87
|
+
this label and remake.])
|
|
88
|
+
AH_TEMPLATE([NEED_PROTO_GETENV],
|
|
89
|
+
[If you receive error or warning messages indicating that you are missing
|
|
90
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
91
|
+
this label and remake.])
|
|
92
|
+
AH_TEMPLATE([NEED_PROTO_FGETPOS],
|
|
93
|
+
[If you receive error or warning messages indicating that you are missing
|
|
94
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
95
|
+
this label and remake.])
|
|
96
|
+
AH_TEMPLATE([NEED_PROTO_STAT],
|
|
97
|
+
[If you receive error or warning messages indicating that you are missing
|
|
98
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
99
|
+
this label and remake.])
|
|
100
|
+
AH_TEMPLATE([NEED_PROTO_LSTAT],
|
|
101
|
+
[If you receive error or warning messages indicating that you are missing
|
|
102
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
103
|
+
this label and remake.])
|
|
104
|
+
AH_TEMPLATE([NEED_PROTO_TRUNCATE],
|
|
105
|
+
[If you receive error or warning messages indicating that you are missing
|
|
106
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
107
|
+
this label and remake.])
|
|
108
|
+
AH_TEMPLATE([NEED_PROTO_FTRUNCATE],
|
|
109
|
+
[If you receive error or warning messages indicating that you are missing
|
|
110
|
+
a prototype for, or a type mismatch using, the following function, define
|
|
111
|
+
this label and remake.])
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
# Report system info
|
|
116
|
+
# ------------------
|
|
117
|
+
program_name=[`grep 'PROGRAM_NAME *"' ctags.h | sed -e 's/.*"\([^"]*\)".*/\1/'`]
|
|
118
|
+
program_version=[`grep 'PROGRAM_VERSION *"' ctags.h | sed -e 's/.*"\([^"]*\)".*/\1/'`]
|
|
119
|
+
echo "$program_name, version $program_version"
|
|
120
|
+
uname -mrsv 2>/dev/null
|
|
121
|
+
|
|
122
|
+
# Define convenience macros
|
|
123
|
+
# -------------------------
|
|
124
|
+
# CHECK_HEADER_DEFINE(LABEL, HEADER [,ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ] ])
|
|
125
|
+
AC_DEFUN([CHECK_HEADER_DEFINE], [
|
|
126
|
+
AC_MSG_CHECKING([if $1 is defined in $2])
|
|
127
|
+
AC_EGREP_CPP(yes,
|
|
128
|
+
[#include <$2>
|
|
129
|
+
#ifdef $1
|
|
130
|
+
yes
|
|
131
|
+
#endif
|
|
132
|
+
], [
|
|
133
|
+
AC_MSG_RESULT(yes)
|
|
134
|
+
[$3]
|
|
135
|
+
], [
|
|
136
|
+
AC_MSG_RESULT(no)
|
|
137
|
+
[$4]
|
|
138
|
+
]) ])
|
|
139
|
+
|
|
140
|
+
# Checks for configuration options
|
|
141
|
+
# --------------------------------
|
|
142
|
+
|
|
143
|
+
AC_ARG_WITH(posix-regex,
|
|
144
|
+
[ --with-posix-regex use Posix regex interface, if available])
|
|
145
|
+
|
|
146
|
+
AC_ARG_WITH(readlib,
|
|
147
|
+
[ --with-readlib include readtags library object during install])
|
|
148
|
+
|
|
149
|
+
# AC_ARG_WITH(perl-regex,
|
|
150
|
+
# [ --with-perl-regex use Perl pcre interface, if available])
|
|
151
|
+
|
|
152
|
+
AC_ARG_ENABLE(etags,
|
|
153
|
+
[ --enable-etags enable the installation of links for etags])
|
|
154
|
+
|
|
155
|
+
AC_ARG_ENABLE(extended-format,
|
|
156
|
+
[ --disable-extended-format
|
|
157
|
+
disable extension flags; use original ctags file
|
|
158
|
+
format only],
|
|
159
|
+
AC_DEFINE(DEFAULT_FILE_FORMAT, 1), AC_DEFINE(DEFAULT_FILE_FORMAT, 2))
|
|
160
|
+
|
|
161
|
+
AC_ARG_ENABLE(external-sort,
|
|
162
|
+
[ --disable-external-sort use internal sort algorithm instead of sort program])
|
|
163
|
+
|
|
164
|
+
AC_ARG_ENABLE(custom-config,
|
|
165
|
+
[ --enable-custom-config=FILE
|
|
166
|
+
enable custom config file for site-wide defaults])
|
|
167
|
+
|
|
168
|
+
AC_ARG_ENABLE(macro-patterns,
|
|
169
|
+
[ --enable-macro-patterns use patterns as default method to locate macros
|
|
170
|
+
instead of line numbers])
|
|
171
|
+
|
|
172
|
+
AC_ARG_ENABLE(maintainer-mode,
|
|
173
|
+
[ --enable-maintainer-mode
|
|
174
|
+
use maintainer makefile])
|
|
175
|
+
|
|
176
|
+
AC_ARG_ENABLE(shell-globbing,
|
|
177
|
+
[ --enable-shell-globbing=DIR
|
|
178
|
+
does shell expand wildcards (yes|no)? [yes]])
|
|
179
|
+
|
|
180
|
+
AC_ARG_ENABLE(tmpdir,
|
|
181
|
+
[ --enable-tmpdir=DIR default directory for temporary files [ARG=/tmp]],
|
|
182
|
+
tmpdir_specified=yes)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
# Process configuration options
|
|
186
|
+
# -----------------------------
|
|
187
|
+
|
|
188
|
+
if test "$enable_maintainer_mode" = yes ; then
|
|
189
|
+
AC_MSG_RESULT(enabling maintainer mode)
|
|
190
|
+
fi
|
|
191
|
+
|
|
192
|
+
install_targets="install-ctags"
|
|
193
|
+
AC_MSG_CHECKING(whether to install link to etags)
|
|
194
|
+
if test yes = "$enable_etags"; then
|
|
195
|
+
AC_MSG_RESULT(yes)
|
|
196
|
+
install_targets="$install_targets install-etags"
|
|
197
|
+
else
|
|
198
|
+
AC_MSG_RESULT(no)
|
|
199
|
+
fi
|
|
200
|
+
AC_MSG_CHECKING(whether to install readtags object file)
|
|
201
|
+
if test yes = "$with_readlib"; then
|
|
202
|
+
AC_MSG_RESULT(yes)
|
|
203
|
+
install_targets="$install_targets install-lib"
|
|
204
|
+
else
|
|
205
|
+
AC_MSG_RESULT(no)
|
|
206
|
+
fi
|
|
207
|
+
AC_SUBST(install_targets)
|
|
208
|
+
|
|
209
|
+
if test "$enable_custom_config" = no -o "$enable_custom_config" = yes ; then
|
|
210
|
+
AC_MSG_RESULT(no name supplied for custom configuration file)
|
|
211
|
+
elif test -n "$enable_custom_config" ; then
|
|
212
|
+
AC_DEFINE_UNQUOTED(CUSTOM_CONFIGURATION_FILE, "$enable_custom_config")
|
|
213
|
+
AC_MSG_RESULT($enable_custom_config will be used as custom configuration file)
|
|
214
|
+
fi
|
|
215
|
+
|
|
216
|
+
if test "$enable_macro_patterns" = yes ; then
|
|
217
|
+
AC_DEFINE(MACROS_USE_PATTERNS)
|
|
218
|
+
AC_MSG_RESULT(tag file will use patterns for macros by default)
|
|
219
|
+
fi
|
|
220
|
+
|
|
221
|
+
# Checks for programs
|
|
222
|
+
# -------------------
|
|
223
|
+
|
|
224
|
+
AC_PROG_CC
|
|
225
|
+
|
|
226
|
+
case `uname` in
|
|
227
|
+
HP-UX)
|
|
228
|
+
AC_MSG_CHECKING(HP-UX native compiler)
|
|
229
|
+
if test "$CC" = "cc"; then
|
|
230
|
+
AC_MSG_RESULT(yes; adding compiler options for ANSI support)
|
|
231
|
+
CFLAGS="$CFLAGS -Aa -D_HPUX_SOURCE"
|
|
232
|
+
else
|
|
233
|
+
AC_MSG_RESULT(no)
|
|
234
|
+
fi
|
|
235
|
+
;;
|
|
236
|
+
SunOS)
|
|
237
|
+
if uname -r | grep '5\.' >/dev/null 2>&1; then
|
|
238
|
+
AC_MSG_CHECKING(Solaris native compiler)
|
|
239
|
+
if test "$CC" = "cc" -a "`which cc`" = "/usr/ucb/cc"; then
|
|
240
|
+
AC_MSG_RESULT(yes; adding compiler option for ANSI support)
|
|
241
|
+
CC="$CC -Xa"
|
|
242
|
+
else
|
|
243
|
+
AC_MSG_RESULT(no)
|
|
244
|
+
fi
|
|
245
|
+
fi
|
|
246
|
+
;;
|
|
247
|
+
esac
|
|
248
|
+
|
|
249
|
+
AC_PROG_LN_S
|
|
250
|
+
AC_CHECK_PROG(STRIP, strip, strip, :)
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
# Checks for operating environment
|
|
254
|
+
# --------------------------------
|
|
255
|
+
|
|
256
|
+
# Check for temporary directory
|
|
257
|
+
AC_MSG_CHECKING(directory to use for temporary files)
|
|
258
|
+
if test -n "$enable_tmpdir"; then
|
|
259
|
+
tmpdir="$enable_tmpdir"
|
|
260
|
+
elif test -n "$TMPDIR"; then
|
|
261
|
+
tmpdir="$TMPDIR"
|
|
262
|
+
elif test -n "$TMPDIR"; then
|
|
263
|
+
tmpdir="$TMPDIR"
|
|
264
|
+
elif test -n "$TMP"; then
|
|
265
|
+
tmpdir="$TMP"
|
|
266
|
+
elif test -n "$TEMP"; then
|
|
267
|
+
tmpdir="$TEMP"
|
|
268
|
+
elif test -d "c:/"; then
|
|
269
|
+
tmpdir="c:/"
|
|
270
|
+
else
|
|
271
|
+
tmpdir="/tmp"
|
|
272
|
+
fi
|
|
273
|
+
if test -d $tmpdir ; then
|
|
274
|
+
AC_MSG_RESULT($tmpdir)
|
|
275
|
+
AC_DEFINE_UNQUOTED(TMPDIR, "$tmpdir")
|
|
276
|
+
else
|
|
277
|
+
AC_MSG_ERROR($tmpdir does not exist)
|
|
278
|
+
fi
|
|
279
|
+
|
|
280
|
+
# Check whether system supports #! scripts
|
|
281
|
+
AC_SYS_INTERPRETER
|
|
282
|
+
if test yes = "$interpval"; then
|
|
283
|
+
AC_DEFINE(SYS_INTERPRETER)
|
|
284
|
+
fi
|
|
285
|
+
|
|
286
|
+
# Test for case-insensitive filenames
|
|
287
|
+
AC_MSG_CHECKING(for case-insensitive filenames)
|
|
288
|
+
touch conftest.cif
|
|
289
|
+
if test -f CONFTEST.CIF; then
|
|
290
|
+
AC_MSG_RESULT(yes)
|
|
291
|
+
AC_DEFINE(CASE_INSENSITIVE_FILENAMES)
|
|
292
|
+
else
|
|
293
|
+
AC_MSG_RESULT(no)
|
|
294
|
+
fi
|
|
295
|
+
rm -f conftest.cif
|
|
296
|
+
|
|
297
|
+
AC_MSG_CHECKING(selected sort method)
|
|
298
|
+
if test no = "$enable_external_sort"; then
|
|
299
|
+
AC_MSG_RESULT(simple internal algorithm)
|
|
300
|
+
else
|
|
301
|
+
AC_MSG_RESULT(external sort utility)
|
|
302
|
+
enable_external_sort=no
|
|
303
|
+
AC_CHECK_PROG(sort_found, sort, yes, no)
|
|
304
|
+
if test "$sort_found" = yes ; then
|
|
305
|
+
AC_MSG_CHECKING(if sort accepts our command line)
|
|
306
|
+
touch ${tmpdir}/sort.test
|
|
307
|
+
sort -u -f -o ${tmpdir}/sort.test ${tmpdir}/sort.test 1>/dev/null 2>&1
|
|
308
|
+
if test $? -ne 0 ; then
|
|
309
|
+
AC_MSG_RESULT(no)
|
|
310
|
+
else
|
|
311
|
+
AC_MSG_RESULT(yes)
|
|
312
|
+
AC_DEFINE(EXTERNAL_SORT)
|
|
313
|
+
enable_external_sort=yes
|
|
314
|
+
fi
|
|
315
|
+
rm -f ${tmpdir}/sort.test
|
|
316
|
+
fi
|
|
317
|
+
fi
|
|
318
|
+
if test "$enable_external_sort" != yes ; then
|
|
319
|
+
AC_MSG_RESULT(using internal sort algorithm as fallback)
|
|
320
|
+
fi
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
# Checks for header files
|
|
324
|
+
# -----------------------
|
|
325
|
+
|
|
326
|
+
AC_CHECK_HEADERS_ONCE([dirent.h fcntl.h fnmatch.h stat.h stdlib.h string.h])
|
|
327
|
+
AC_CHECK_HEADERS_ONCE([time.h types.h unistd.h])
|
|
328
|
+
AC_CHECK_HEADERS_ONCE([sys/dir.h sys/stat.h sys/times.h sys/types.h])
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
# Checks for header file macros
|
|
332
|
+
# -----------------------------
|
|
333
|
+
|
|
334
|
+
CHECK_HEADER_DEFINE(L_tmpnam, [stdio.h],, AC_DEFINE(L_tmpnam, 20))
|
|
335
|
+
|
|
336
|
+
CHECK_HEADER_DEFINE(INT_MAX, [limits.h],,
|
|
337
|
+
CHECK_HEADER_DEFINE(MAXINT, [limits.h],
|
|
338
|
+
AC_DEFINE(INT_MAX, MAXINT), AC_DEFINE(INT_MAX, 32767)))
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
# Checks for typedefs
|
|
342
|
+
# -------------------
|
|
343
|
+
|
|
344
|
+
AC_TYPE_SIZE_T
|
|
345
|
+
AC_TYPE_OFF_T
|
|
346
|
+
|
|
347
|
+
AC_MSG_CHECKING(for fpos_t)
|
|
348
|
+
AC_EGREP_HEADER(fpos_t, stdio.h, AC_MSG_RESULT(yes),
|
|
349
|
+
[
|
|
350
|
+
AC_MSG_RESULT(no)
|
|
351
|
+
AC_DEFINE(fpos_t, long)
|
|
352
|
+
])
|
|
353
|
+
|
|
354
|
+
AC_MSG_CHECKING(for clock_t)
|
|
355
|
+
AC_EGREP_HEADER(clock_t, time.h, AC_MSG_RESULT(yes),
|
|
356
|
+
[
|
|
357
|
+
AC_MSG_RESULT(no)
|
|
358
|
+
AC_DEFINE(clock_t, long)
|
|
359
|
+
])
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
# Checks for compiler characteristics
|
|
363
|
+
# -----------------------------------
|
|
364
|
+
|
|
365
|
+
# AC_CYGWIN
|
|
366
|
+
# AC_MINGW32
|
|
367
|
+
AC_C_CONST
|
|
368
|
+
AC_OBJEXT
|
|
369
|
+
AC_EXEEXT
|
|
370
|
+
|
|
371
|
+
AC_MSG_CHECKING(if struct stat contains st_ino)
|
|
372
|
+
AC_TRY_COMPILE([#include <sys/stat.h>], [
|
|
373
|
+
struct stat st;
|
|
374
|
+
stat(".", &st);
|
|
375
|
+
if (st.st_ino > 0)
|
|
376
|
+
exit(0);
|
|
377
|
+
], have_st_ino=yes, have_st_ino=no)
|
|
378
|
+
AC_MSG_RESULT($have_st_ino)
|
|
379
|
+
if test yes = "$have_st_ino"; then
|
|
380
|
+
AC_DEFINE(HAVE_STAT_ST_INO)
|
|
381
|
+
fi
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
# Checks for library functions
|
|
385
|
+
# ----------------------------
|
|
386
|
+
|
|
387
|
+
AC_CHECK_FUNCS(fnmatch)
|
|
388
|
+
AC_CHECK_FUNCS(strstr)
|
|
389
|
+
AC_CHECK_FUNCS(strcasecmp stricmp, break)
|
|
390
|
+
AC_CHECK_FUNCS(strncasecmp strnicmp, break)
|
|
391
|
+
AC_CHECK_FUNCS(fgetpos, have_fgetpos=yes)
|
|
392
|
+
|
|
393
|
+
# SEEK_SET should be in stdio.h, but may be in unistd.h on SunOS 4.1.x
|
|
394
|
+
if test "$have_fgetpos" != yes ; then
|
|
395
|
+
CHECK_HEADER_DEFINE(SEEK_SET, stdio.h,,
|
|
396
|
+
CHECK_HEADER_DEFINE(SEEK_SET, unistd.h,,
|
|
397
|
+
AC_DEFINE(SEEK_SET, 0)))
|
|
398
|
+
fi
|
|
399
|
+
|
|
400
|
+
AC_CHECK_FUNCS(mkstemp, have_mkstemp=yes)
|
|
401
|
+
if test "$have_mkstemp" != yes ; then
|
|
402
|
+
AC_CHECK_FUNCS(tempnam, have_tempnam=yes)
|
|
403
|
+
fi
|
|
404
|
+
if test "$have_mkstemp" != yes -a "$have_tempnam" != yes; then
|
|
405
|
+
AC_CHECK_FUNCS(chmod)
|
|
406
|
+
if test "$tmpdir_specified" = yes ; then
|
|
407
|
+
AC_MSG_RESULT(use of tmpnam overrides temporary directory selection)
|
|
408
|
+
fi
|
|
409
|
+
fi
|
|
410
|
+
|
|
411
|
+
AC_CHECK_FUNCS(opendir findfirst _findfirst, break)
|
|
412
|
+
AC_CHECK_FUNCS(strerror)
|
|
413
|
+
AC_CHECK_FUNCS(clock times, break)
|
|
414
|
+
AC_CHECK_FUNCS(remove, have_remove=yes,
|
|
415
|
+
CHECK_HEADER_DEFINE(remove, unistd.h,, AC_DEFINE(remove, unlink)))
|
|
416
|
+
|
|
417
|
+
AC_CHECK_FUNCS(truncate, have_truncate=yes)
|
|
418
|
+
# === Cannot nest AC_CHECK_FUNCS() calls
|
|
419
|
+
if test "$have_truncate" != yes ; then
|
|
420
|
+
AC_CHECK_FUNCS(ftruncate, have_ftruncate=yes)
|
|
421
|
+
if test "$have_ftruncate" != yes ; then
|
|
422
|
+
AC_CHECK_FUNCS(chsize)
|
|
423
|
+
fi
|
|
424
|
+
fi
|
|
425
|
+
|
|
426
|
+
AC_CHECK_FUNCS(setenv, have_setenv=yes)
|
|
427
|
+
# === Cannot nest AC_CHECK_FUNCS() calls
|
|
428
|
+
if test "$have_setenv" != yes ; then
|
|
429
|
+
AC_CHECK_FUNCS(putenv, have_putenv=yes)
|
|
430
|
+
if test "$have_putenv" = yes ; then
|
|
431
|
+
AC_EGREP_HEADER(putenv, stdlib.h, have_putenv_prototype=yes)
|
|
432
|
+
if test "$have_putenv_prototype" = yes ; then
|
|
433
|
+
AC_MSG_CHECKING(putenv prototype)
|
|
434
|
+
AC_EGREP_HEADER([[^A-Za-zo-9_]putenv[ ]*\(.*const.*\)[ ]*;],
|
|
435
|
+
stdlib.h, AC_MSG_RESULT(correct),
|
|
436
|
+
[
|
|
437
|
+
AC_MSG_RESULT(no const)
|
|
438
|
+
AC_DEFINE(NON_CONST_PUTENV_PROTOTYPE)
|
|
439
|
+
])
|
|
440
|
+
fi
|
|
441
|
+
fi
|
|
442
|
+
fi
|
|
443
|
+
|
|
444
|
+
#
|
|
445
|
+
# if test yes = "$CYGWIN"; then with_posix_regex=no; fi
|
|
446
|
+
if test no != "$with_posix_regex"; then
|
|
447
|
+
AC_CHECK_FUNCS(regcomp)
|
|
448
|
+
AC_MSG_CHECKING(if regcomp works)
|
|
449
|
+
AC_TRY_RUN([
|
|
450
|
+
#include <sys/types.h>
|
|
451
|
+
#include <regex.h>
|
|
452
|
+
main() {
|
|
453
|
+
regex_t patbuf;
|
|
454
|
+
exit (regcomp (&patbuf, "/hello/", 0) != 0);
|
|
455
|
+
}],regcomp_works=yes,regcomp_works=no,AC_DEFINE(CHECK_REGCOMP))
|
|
456
|
+
AC_MSG_RESULT($regcomp_works)
|
|
457
|
+
if test yes != "$regcomp_works"; then
|
|
458
|
+
AC_DEFINE(REGCOMP_BROKEN)
|
|
459
|
+
fi
|
|
460
|
+
fi
|
|
461
|
+
|
|
462
|
+
# if test yes = "$with_perl_regex"; then
|
|
463
|
+
# AC_MSG_CHECKING(for Perl regex library)
|
|
464
|
+
# pcre_candidates="$with_perl_regex $HOME/local/lib* /usr*/local/lib* /usr/lib*"
|
|
465
|
+
# for lib in $pcre_candidates; do
|
|
466
|
+
# if test -f $lib/libpcreposix.so; then
|
|
467
|
+
# pcre_lib="-L$lib -lpcreposix"
|
|
468
|
+
# break
|
|
469
|
+
# elif test -f $lib/libpcreposix.a; then
|
|
470
|
+
# pcre_lib="$lib/libpcreposix.a"
|
|
471
|
+
# break
|
|
472
|
+
# fi
|
|
473
|
+
# done
|
|
474
|
+
# if test -z "$pcre_lib"; then
|
|
475
|
+
# AC_MSG_RESULT(not found)
|
|
476
|
+
# else
|
|
477
|
+
# AC_MSG_RESULT($lib)
|
|
478
|
+
# AC_DEFINE(HAVE_REGCOMP)
|
|
479
|
+
# LDFLAGS="$LDFLAGS $pcre_lib"
|
|
480
|
+
# have_regex=yes
|
|
481
|
+
# fi
|
|
482
|
+
# fi
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
# Checks for missing prototypes
|
|
486
|
+
# -----------------------------
|
|
487
|
+
AC_CHECKING(for new missing prototypes)
|
|
488
|
+
|
|
489
|
+
AC_DEFUN(CHECK_PROTO, [
|
|
490
|
+
AC_EGREP_HEADER([[^A-Za-z0-9_]$1([ ]+[A-Za-z0-9_]*)?[ ]*\(],
|
|
491
|
+
$2,
|
|
492
|
+
,
|
|
493
|
+
[
|
|
494
|
+
AC_MSG_RESULT([adding prototype for $1])
|
|
495
|
+
AC_DEFINE(patsubst([NEED_PROTO_NAME], [NAME], translit([$1], [[a-z]], [[A-Z]])))
|
|
496
|
+
])])
|
|
497
|
+
|
|
498
|
+
if test "$have_remove" = yes ; then
|
|
499
|
+
CHECK_PROTO(remove, stdio.h)
|
|
500
|
+
else
|
|
501
|
+
CHECK_PROTO(unlink, unistd.h)
|
|
502
|
+
fi
|
|
503
|
+
CHECK_PROTO(malloc, stdlib.h)
|
|
504
|
+
CHECK_PROTO(getenv, stdlib.h)
|
|
505
|
+
CHECK_PROTO(stat, sys/stat.h)
|
|
506
|
+
CHECK_PROTO(lstat, sys/stat.h)
|
|
507
|
+
if test "$have_fgetpos" = yes ; then
|
|
508
|
+
CHECK_PROTO(fgetpos, stdio.h)
|
|
509
|
+
fi
|
|
510
|
+
if test "$have_truncate" = yes ; then
|
|
511
|
+
CHECK_PROTO(truncate, unistd.h)
|
|
512
|
+
fi
|
|
513
|
+
if test "$have_ftruncate" = yes ; then
|
|
514
|
+
CHECK_PROTO(ftruncate, unistd.h)
|
|
515
|
+
fi
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
# Output files
|
|
519
|
+
# ------------
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
rm -f Makefile
|
|
523
|
+
if test "$enable_maintainer_mode" = yes ; then
|
|
524
|
+
AC_MSG_RESULT(creating maintainer Makefile)
|
|
525
|
+
ln -s maintainer.mak Makefile
|
|
526
|
+
makefile_out=
|
|
527
|
+
else
|
|
528
|
+
makefile_out=Makefile
|
|
529
|
+
fi
|
|
530
|
+
AC_OUTPUT($makefile_out)
|
|
531
|
+
|
|
532
|
+
# vim:ts=4:sw=4:
|