ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/configure.ac
(Generate patch)

Comparing rxvt-unicode/configure.ac (file contents):
Revision 1.77 by ayin, Wed Oct 17 08:15:42 2007 UTC vs.
Revision 1.163 by sf-exg, Sun May 28 10:25:52 2023 UTC

1dnl# 1dnl#
2dnl# Process this file with autoconf to produce a configure script. 2dnl# Process this file with autoconf to produce a configure script.
3dnl# 3dnl#
4 4
5AC_INIT 5AC_INIT
6AC_PREREQ(2.50) 6AC_PREREQ(2.71)
7AC_CONFIG_SRCDIR([src/feature.h]) 7AC_CONFIG_SRCDIR([src/feature.h])
8AC_CONFIG_HEADER(config.h:config.h.in) 8AC_CONFIG_HEADERS(config.h:config.h.in)
9
10AC_CANONICAL_HOST
11 9
12dnl RXVT version 10dnl RXVT version
13changequote(, )dnl
14VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` 11VERSION=`sed -n -e 's/^.* VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
15DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` 12DATE=`sed -n -e 's/^.* DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
16dnl LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
17changequote([, ])dnl
18AC_SUBST(VERSION)dnl 13AC_SUBST(VERSION)dnl
19AC_SUBST(DATE)dnl 14AC_SUBST(DATE)dnl
20AC_SUBST(LSMDATE)dnl 15
21AC_SUBST(LIBVERSION)dnl
22echo "" 16echo ""
23echo "configuring for rxvt $VERSION" 17echo "configuring for rxvt $VERSION"
24echo "" 18echo ""
25 19
26orig_CXXFLAGS="$CXXFLAGS" 20orig_CXXFLAGS="$CXXFLAGS"
27 21
28dnl# Checks for programs. 22dnl# Checks for programs.
29dnl AC_MAKE_SET
30
31AC_PROG_CC 23AC_PROG_CC
32AC_PROG_CXX 24AC_PROG_CXX
33AC_PROG_CPP
34AC_PROG_INSTALL 25AC_PROG_INSTALL
35 26
36AC_AIX 27AC_USE_SYSTEM_EXTENSIONS
37AC_ISC_POSIX
38AC_LANG(C++) 28AC_LANG(C++)
39 29
30LINKER="$CXX"
40dnl check wether we can link with gcc -lsupc++ 31dnl check whether we can link with gcc -lsupc++
41if test x$GCC = xyes && test x$GXX = xyes; then 32if test x$GCC = xyes && test x$GXX = xyes; then
42 dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it 33 dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it
43 AC_MSG_CHECKING([for working libsupc++]) 34 AC_MSG_CHECKING([for working libsupc++])
44 save_CXX="$CXX" 35 save_CXX="$CXX"
45 save_LIBS="$LIBS" 36 save_LIBS="$LIBS"
46 CXX="$CC" 37 CXX="$CC"
47 LIBS="$LIBS -lsupc++" 38 LIBS="$LIBS -lsupc++"
48 LINKER="$CC"
49 AC_LINK_IFELSE( 39 AC_LINK_IFELSE(
50 [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])], 40 [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])],
51 [AC_MSG_RESULT(ok)], 41 [AC_MSG_RESULT(ok)
42 LINKER="$CC"],
52 [ 43 [
53 AC_MSG_RESULT([no, making everything bigger and slower]) 44 AC_MSG_RESULT([no, making everything bigger and slower])
54 LIBS="$save_LIBS" 45 LIBS="$save_LIBS"
55 LINKER="$save_CXX"
56 ] 46 ]
57 ) 47 )
58 CXX="$save_CXX" 48 CXX="$save_CXX"
59fi 49fi
60AC_SUBST(LINKER,[$LINKER]) 50AC_SUBST(LINKER,[$LINKER])
62dnl# -------------------------------------------------------------------------- 52dnl# --------------------------------------------------------------------------
63dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure' 53dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure'
64dnl# 54dnl#
65if test -z "$orig_CXXFLAGS"; then 55if test -z "$orig_CXXFLAGS"; then
66 if test x$GCC = xyes && test "x$GXX" = xyes; then 56 if test x$GCC = xyes && test "x$GXX" = xyes; then
67 CXXFLAGS="-g -O3 -fno-threadsafe-statics -fno-enforce-eh-specs" 57 CXXFLAGS="-g -O3 -fno-rtti -fvisibility-inlines-hidden -fno-threadsafe-statics -fno-enforce-eh-specs"
68 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="-g -O3"]) 58 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="-g -O3"])
69 else 59 else
70 CXXFLAGS="-O" 60 CXXFLAGS="-O"
71 fi 61 fi
72 CFLAGS="$CXXFLAGS" 62 CFLAGS="$CXXFLAGS"
73fi 63fi
74 64
75AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.)
76
77case $host in
78 *-*-solaris* )
79 AC_DEFINE(_XOPEN_SOURCE, 500, Needed to get declarations for msg_control and msg_controllen on Solaris)
80 ;;
81esac
82
83dnl if test x$GXX = xyes; then
84dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now...
85dnl fi
86
87dnl# FreeBSD needs to link libxpg4 65dnl# FreeBSD needs to link libxpg4
88AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) 66AC_SEARCH_LIBS(setlocale, xpg4)
89 67
90dnl# solaris needs to link libnsl and socket 68dnl# solaris needs to link libnsl and socket
91AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])]) 69AC_SEARCH_LIBS(gethostbyname, nsl)
92AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])]) 70AC_SEARCH_LIBS(socket, socket)
93
94dnl AC_ENABLE_SHARED(no)dnl# libtool
95dnl AC_ENABLE_STATIC(yes)dnl# libtool
96dnl AC_PROG_LIBTOOL()dnl# libtool
97 71
98support_frills=yes 72support_frills=yes
99support_inheritpixmap=yes 73support_inheritpixmap=yes
100support_fading=yes 74support_fading=yes
101support_keepscrolling=yes 75support_keepscrolling=yes
105support_text_blink=yes 79support_text_blink=yes
106support_pointer_blank=yes 80support_pointer_blank=yes
107support_scroll_rxvt=yes 81support_scroll_rxvt=yes
108support_scroll_next=yes 82support_scroll_next=yes
109support_scroll_xterm=yes 83support_scroll_xterm=yes
110support_scroll_plain=yes
111support_xim=yes 84support_xim=yes
112support_afterimage=yes 85support_pixbuf=yes
113support_afterstep=yes 86support_startup_notification=yes
114support_xft=yes 87support_xft=yes
115support_unicode3=no 88support_unicode3=no
116support_combining=yes 89support_combining=yes
117support_8bitctrls=no 90support_8bitctrls=no
118support_iso14755=yes 91support_iso14755=yes
122 95
123dnl# -------------------------------------------------------------------------- 96dnl# --------------------------------------------------------------------------
124dnl# CHECKING COMMAND LINE OPTIONS 97dnl# CHECKING COMMAND LINE OPTIONS
125dnl# -------------------------------------------------------------------------- 98dnl# --------------------------------------------------------------------------
126 99
127if test "x$enable_shared" = xyes; then
128 AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only)
129 INSTALL_LIBRXVT=yes
130fi
131AC_SUBST(INSTALL_LIBRXVT)
132
133AC_ARG_ENABLE(everything, 100AC_ARG_ENABLE(everything,
134 [ --enable-everything enable standard non-multichoice features 101 [AS_HELP_STRING([--enable-everything],
102 [enable standard non-multichoice features
135 NOTE: this option is order dependent 103 NOTE: this option is order dependent])],
136 NOTE: automatically enabled with --enable-shared],
137 [ 104 [
138 if test x$enableval = xno; then 105 if test x$enableval = xno; then
139 support_frills=no 106 support_frills=no
140 support_inheritpixmap=no 107 support_inheritpixmap=no
141 support_fading=no 108 support_fading=no
142 support_keepscrolling=no 109 support_keepscrolling=no
143 support_selectionscrolling=no 110 support_selectionscrolling=no
144 support_lastlog=no
145 support_mousewheel=no 111 support_mousewheel=no
146 support_mouseslipwheel=no 112 support_mouseslipwheel=no
147 support_text_blink=no 113 support_text_blink=no
148 support_pointer_blank=no 114 support_pointer_blank=no
149 support_scroll_rxvt=no 115 support_scroll_rxvt=no
150 support_scroll_next=no 116 support_scroll_next=no
151 support_scroll_xterm=no 117 support_scroll_xterm=no
152 support_scroll_plain=no
153 support_utmp=no
154 support_wtmp=no
155 support_xim=no 118 support_xim=no
156 support_afterimage=no 119 support_pixbuf=no
157 support_afterstep=no 120 support_startup_notification=no
158 support_xft=no 121 support_xft=no
159 support_unicode3=no 122 support_unicode3=no
160 support_combining=no 123 support_combining=no
161 support_8bitctrls=no 124 support_8bitctrls=no
162 support_iso14755=no 125 support_iso14755=no
168 support_frills=yes 131 support_frills=yes
169 support_inheritpixmap=yes 132 support_inheritpixmap=yes
170 support_fading=yes 133 support_fading=yes
171 support_keepscrolling=yes 134 support_keepscrolling=yes
172 support_selectionscrolling=yes 135 support_selectionscrolling=yes
173 support_lastlog=yes
174 support_mousewheel=yes 136 support_mousewheel=yes
175 support_mouseslipwheel=yes 137 support_mouseslipwheel=yes
176 support_text_blink=yes 138 support_text_blink=yes
177 support_pointer_blank=yes 139 support_pointer_blank=yes
178 support_scroll_rxvt=yes 140 support_scroll_rxvt=yes
179 support_scroll_next=yes 141 support_scroll_next=yes
180 support_scroll_xterm=yes 142 support_scroll_xterm=yes
181 support_scroll_plain=yes
182 support_utmp=yes
183 support_wtmp=yes
184 support_xim=yes 143 support_xim=yes
185 support_afterimage=yes
186 support_afterstep=yes 144 support_pixbuf=yes
145 support_startup_notification=yes
187 support_xft=yes 146 support_xft=yes
188 support_unicode3=yes 147 support_unicode3=yes
189 support_combining=yes 148 support_combining=yes
190 #support_8bitctrls=yes 149 #support_8bitctrls=yes
191 support_iso14755=yes 150 support_iso14755=yes
193 support_perl=yes 152 support_perl=yes
194 codesets=all 153 codesets=all
195 fi 154 fi
196 ]) 155 ])
197 156
157support_assertions=no
158AC_ARG_ENABLE(assert,
159 [AS_HELP_STRING([--enable-assert],
160 [enable assertions])],
161 [if test x$enableval = xyes; then
162 support_assertions=yes
163 fi])
164if test x$support_assertions = xno; then
165 AC_DEFINE(NDEBUG, 1, Disable assertions (good for debugging))
166fi
167
168support_warnings=no
169AC_ARG_ENABLE(warnings,
170 [AS_HELP_STRING([--enable-warnings],
171 [turn on g++ warnings])],
172 [if test x$enableval = xyes; then
173 support_warnings=yes
174 fi])
175if test x$GXX = xyes; then
176 if test $support_warnings = yes; then
177 save_CXXFLAGS="$CXXFLAGS"
178 for warning in \
179 -Wall \
180 -Wno-parentheses \
181 -Wno-reorder \
182 -Wno-sign-compare \
183 -Wno-unused-value \
184 ; do
185 CXXFLAGS="$CXXFLAGS $warning"
186 done
187 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="$save_CXXFLAGS"])
188 else
189 CXXFLAGS="$CXXFLAGS -w"
190 fi
191fi
192
193support_256_color=no
194AC_ARG_ENABLE(256-color,
195 [AS_HELP_STRING([--enable-256-color],
196 [enable 256-color support])],
197 [if test x$enableval = xyes; then
198 support_256_color=yes
199 fi])
200if test x$support_256_color = xyes; then
201 AC_DEFINE(USE_256_COLORS, 1, Define if you want 256-color support)
202fi
203
198AC_ARG_ENABLE(unicode3, 204AC_ARG_ENABLE(unicode3,
205 [AS_HELP_STRING([--enable-unicode3],
199 [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters], 206 [use 21 instead of 16 bits to represent unicode characters])],
200 [if test x$enableval = xyes -o x$enableval = xno; then 207 [if test x$enableval = xyes -o x$enableval = xno; then
201 support_unicode3=$enableval 208 support_unicode3=$enableval
202 fi]) 209 fi])
203 210
204AC_ARG_ENABLE(combining, 211AC_ARG_ENABLE(combining,
212 [AS_HELP_STRING([--enable-combining],
205 [ --enable-combining enable composition of base and combining characters], 213 [enable composition of base and combining characters])],
206 [if test x$enableval = xyes -o x$enableval = xno; then 214 [if test x$enableval = xyes -o x$enableval = xno; then
207 support_combining=$enableval 215 support_combining=$enableval
208 fi]) 216 fi])
209 217
210AC_ARG_ENABLE(xft, 218AC_ARG_ENABLE(xft,
211 [ --enable-xft enable xft support on systems that have it], 219 [AS_HELP_STRING([--enable-xft],
220 [enable xft support on systems that have it])],
212 [if test x$enableval = xyes -o x$enableval = xno; then 221 [if test x$enableval = xyes -o x$enableval = xno; then
213 support_xft=$enableval 222 support_xft=$enableval
214 fi]) 223 fi])
215 224
216AC_ARG_ENABLE(font-styles, 225AC_ARG_ENABLE(font-styles,
217 [ --enable-font-styles enable bold and italic support], 226 [AS_HELP_STRING([--enable-font-styles],
227 [enable bold and italic support])],
218 [if test x$enableval = xyes -o x$enableval = xno; then 228 [if test x$enableval = xyes -o x$enableval = xno; then
219 support_styles=$enableval 229 support_styles=$enableval
220 fi]) 230 fi])
221 231
222AC_ARG_ENABLE(afterimage, 232AC_ARG_ENABLE(pixbuf,
223 [ --enable-afterimage enable integration with libAfterImage for background images], 233 [AS_HELP_STRING([--enable-pixbuf],
224 [if test x$enableval = xyes -o x$enableval = xno; then 234 [enable integration with gdk-pixbuf for background images])],
225 support_afterimage=$enableval
226 fi])
227
228AC_ARG_WITH(afterimage_config,
229 [ --with-afterimage-config=DIR use libAfterImage config script in DIR],
230 [if test "x$withval" != x; then
231 afterimage_config=$withval/afterimage-config
232 fi])
233
234dnl AC_ARG_ENABLE(afterstep,
235dnl [ --enable-afterstep enable integration with AfterStep window manager],
236dnl [if test x$enableval = xyes -o x$enableval = xno; then 235 [if test x$enableval = xyes -o x$enableval = xno; then
237dnl support_afterstep=$enableval 236 support_pixbuf=$enableval
238dnl fi]) 237 fi])
238
239AC_ARG_ENABLE(startup-notification,
240 [AS_HELP_STRING([--enable-startup-notification],
241 [enable freedesktop startup notification support])],
242 [if test x$enableval = xyes -o x$enableval = xno; then
243 support_startup_notification=$enableval
244 fi])
239 245
240AC_ARG_ENABLE(transparency, 246AC_ARG_ENABLE(transparency,
241 [ --enable-transparency enable transparent backgrounds], 247 [AS_HELP_STRING([--enable-transparency],
248 [enable transparent backgrounds])],
242 [if test x$enableval = xyes -o x$enableval = xno; then 249 [if test x$enableval = xyes -o x$enableval = xno; then
243 support_inheritpixmap=$enableval 250 support_inheritpixmap=$enableval
244 fi]) 251 fi])
245 252
246AC_ARG_ENABLE(fading, 253AC_ARG_ENABLE(fading,
247 [ --enable-fading enable colors fading when off focus], 254 [AS_HELP_STRING([--enable-fading],
255 [enable colors fading when off focus])],
248 [if test x$enableval = xyes -o x$enableval = xno; then 256 [if test x$enableval = xyes -o x$enableval = xno; then
249 support_fading=$enableval 257 support_fading=$enableval
250 fi]) 258 fi])
251 259
252AC_ARG_ENABLE(rxvt-scroll, 260AC_ARG_ENABLE(rxvt-scroll,
253 [ --enable-rxvt-scroll enable rxvt style scrollbar], 261 [AS_HELP_STRING([--enable-rxvt-scroll],
262 [enable rxvt style scrollbar])],
254 [if test x$enableval = xyes -o x$enableval = xno; then 263 [if test x$enableval = xyes -o x$enableval = xno; then
255 support_scroll_rxvt=$enableval 264 support_scroll_rxvt=$enableval
256 fi]) 265 fi])
257 266
258AC_ARG_ENABLE(next-scroll, 267AC_ARG_ENABLE(next-scroll,
259 [ --enable-next-scroll enable NeXT style scrollbar], 268 [AS_HELP_STRING([--enable-next-scroll],
269 [enable NeXT style scrollbar])],
260 [if test x$enableval = xyes -o x$enableval = xno; then 270 [if test x$enableval = xyes -o x$enableval = xno; then
261 support_scroll_next=$enableval 271 support_scroll_next=$enableval
262 fi]) 272 fi])
263 273
264AC_ARG_ENABLE(xterm-scroll, 274AC_ARG_ENABLE(xterm-scroll,
265 [ --enable-xterm-scroll enable Xterm style scrollbar], 275 [AS_HELP_STRING([--enable-xterm-scroll],
276 [enable Xterm style scrollbar])],
266 [if test x$enableval = xyes -o x$enableval = xno; then 277 [if test x$enableval = xyes -o x$enableval = xno; then
267 support_scroll_xterm=$enableval 278 support_scroll_xterm=$enableval
268 fi]) 279 fi])
269 280
270AC_ARG_ENABLE(perl, 281AC_ARG_ENABLE(perl,
271 [ --enable-perl enable embedded perl interpreter], 282 [AS_HELP_STRING([--enable-perl],
283 [enable embedded perl interpreter])],
272 [if test x$enableval = xyes -o x$enableval = xno; then 284 [if test x$enableval = xyes -o x$enableval = xno; then
273 support_perl=$enableval 285 support_perl=$enableval
274 fi]) 286 fi])
275 287
276AC_ARG_ENABLE(plain-scroll,
277 [ --enable-plain-scroll enable plain style scrollbar],
278 [if test x$enableval = xyes -o x$enableval = xno; then
279 support_scroll_plain=$enableval
280 fi])
281
282AC_ARG_WITH(codesets, 288AC_ARG_WITH(codesets,
289 [AS_HELP_STRING([--with-codesets=CS,...],
283 [ --with-codesets=CS,... compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], 290 [compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)])],
284 [codesets="$withval"]) 291 [codesets="$withval"])
285 292
286AC_ARG_ENABLE(xim, 293AC_ARG_ENABLE(xim,
287 [ --enable-xim XIM (X Input Method) protocol support], 294 [AS_HELP_STRING([--enable-xim],
295 [XIM (X Input Method) protocol support])],
288 [if test x$enableval = xyes -o x$enableval = xno; then 296 [if test x$enableval = xyes -o x$enableval = xno; then
289 support_xim=$enableval 297 support_xim=$enableval
290 fi]) 298 fi])
291 299
292AC_ARG_ENABLE(backspace-key, 300AC_ARG_ENABLE(backspace-key,
293 [ --disable-backspace-key disable handling of the backspace key], 301 [AS_HELP_STRING([--disable-backspace-key],
302 [disable handling of the backspace key])],
294 [if test x$enableval = xno; then 303 [if test x$enableval = xno; then
295 AC_DEFINE(NO_BACKSPACE_KEY, 1, Define if you don't want support for the backspace key) 304 AC_DEFINE(NO_BACKSPACE_KEY, 1, Define if you don't want support for the backspace key)
296 fi]) 305 fi])
297 306
298AC_ARG_ENABLE(delete-key, 307AC_ARG_ENABLE(delete-key,
299 [ --disable-delete-key disable handling of the delete key], 308 [AS_HELP_STRING([--disable-delete-key],
309 [disable handling of the delete key])],
300 [if test x$enableval = xno; then 310 [if test x$enableval = xno; then
301 AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key) 311 AC_DEFINE(NO_DELETE_KEY, 1, Define if you don't want support for the (non-keypad) delete key)
302 fi]) 312 fi])
303 313
314support_resources=yes
304AC_ARG_ENABLE(resources, 315AC_ARG_ENABLE(resources,
305 [ --disable-resources disable all resource checking], 316 [AS_HELP_STRING([--disable-resources],
317 [disable all resource checking])],
306 [if test x$enableval = xno; then 318 [if test x$enableval = xno; then
307 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read) 319 support_resources=no
308 fi]) 320 fi])
309 321
310AC_ARG_ENABLE(8bitctrls, 322AC_ARG_ENABLE(8bitctrls,
311 [ --enable-8bitctrls enable 8 bit control sequences (not recommended)], 323 [AS_HELP_STRING([--enable-8bitctrls],
324 [enable 8 bit control sequences (not recommended)])],
312 [if test x$enableval = xyes -o x$enableval = xno; then 325 [if test x$enableval = xyes -o x$enableval = xno; then
313 support_8bitctrls=$enableval 326 support_8bitctrls=$enableval
314 fi]) 327 fi])
315 328
316RESFALLBACK=Rxvt 329RESFALLBACK=Rxvt
317AC_ARG_ENABLE(fallback, 330AC_ARG_ENABLE(fallback,
318 [ --enable-fallback@<:@=CLASS@:>@ fall back on CLASS resources in addition to URxvt ones (default: Rxvt)], 331 [AS_HELP_STRING([--enable-fallback@<:@=CLASS@:>@],
332 [fall back on CLASS resources in addition to URxvt ones (default: Rxvt)])],
319 [ 333 [
320 test x$enableval = xyes && enableval=Rxvt 334 test x$enableval = xyes && enableval=Rxvt
321 test x$enableval = xno && enableval= 335 test x$enableval = xno && enableval=
322 RESFALLBACK="$enableval" 336 RESFALLBACK="$enableval"
323 ]) 337 ])
326 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class]) 340 AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class])
327fi 341fi
328 342
329RESNAME=urxvt 343RESNAME=urxvt
330AC_ARG_WITH(res-name, 344AC_ARG_WITH(res-name,
331 [ --with-res-name=NAME use this as default resource name (default: urxvt)], 345 [AS_HELP_STRING([--with-res-name=NAME],
346 [set the default resource name (default: urxvt)])],
332 [RESNAME="$withval"]) 347 [RESNAME="$withval"])
333AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name]) 348AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name])
334 349
335RESCLASS=URxvt 350RESCLASS=URxvt
336AC_ARG_WITH(res-class, 351AC_ARG_WITH(res-class,
337 [ --with-res-class=CLASS use this as the resource class (default: URxvt)], 352 [AS_HELP_STRING([--with-res-class=CLASS],
353 [set the resource class (default: URxvt)])],
338 [RESCLASS="$withval"]) 354 [RESCLASS="$withval"])
339AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class]) 355AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class])
340 356
341RXVTNAME=urxvt 357RXVTNAME=urxvt
342AC_ARG_WITH(name, 358AC_ARG_WITH(name,
359 [AS_HELP_STRING([--with-name=NAME],
343 [ --with-name=NAME set the basename for the installed binaries (default: urxvt)], 360 [set the basename for the installed binaries (default: urxvt)])],
344 [RXVTNAME="$withval"]) 361 [RXVTNAME="$withval"])
345AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name]) 362AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name])
346 363
347RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"`
348AC_SUBST(RXVTNAME) 364AC_SUBST(RXVTNAME)
349 365
350AC_ARG_ENABLE(swapscreen, 366AC_ARG_ENABLE(swapscreen,
351 [ --disable-swapscreen disable swap screen support], 367 [AS_HELP_STRING([--disable-swapscreen],
368 [disable swap screen support])],
352 [if test x$enableval = xno; then 369 [if test x$enableval = xno; then
353 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace) 370 AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace)
354 fi]) 371 fi])
355 372
356AC_ARG_ENABLE(iso14755, 373AC_ARG_ENABLE(iso14755,
374 [AS_HELP_STRING([--enable-iso14755],
357 [ --enable-iso14755 enable support for extended ISO 14755 modes], 375 [enable support for extended ISO 14755 modes])],
358 [if test x$enableval = xyes -o x$enableval = xno; then 376 [if test x$enableval = xyes -o x$enableval = xno; then
359 support_iso14755=$enableval 377 support_iso14755=$enableval
360 fi]) 378 fi])
361 379
362AC_ARG_ENABLE(frills, 380AC_ARG_ENABLE(frills,
363 [ --enable-frills enable support for rarely used features], 381 [AS_HELP_STRING([--enable-frills],
382 [enable support for rarely used features])],
364 [if test x$enableval = xyes -o x$enableval = xno; then 383 [if test x$enableval = xyes -o x$enableval = xno; then
365 support_frills=$enableval 384 support_frills=$enableval
366 fi]) 385 fi])
367 386
368AC_ARG_ENABLE(keepscrolling, 387AC_ARG_ENABLE(keepscrolling,
369 [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press], 388 [AS_HELP_STRING([--enable-keepscrolling],
389 [enable continual scrolling on scrollbar arrow press])],
370 [if test x$enableval = xyes -o x$enableval = xno; then 390 [if test x$enableval = xyes -o x$enableval = xno; then
371 support_keepscrolling=$enableval 391 support_keepscrolling=$enableval
372 fi]) 392 fi])
373 393
374AC_ARG_ENABLE(selectionscrolling, 394AC_ARG_ENABLE(selectionscrolling,
375 [ --enable-selectionscrolling enable scrolling during selections], 395 [AS_HELP_STRING([--enable-selectionscrolling],
396 [enable scrolling during selections])],
376 [if test x$enableval = xyes -o x$enableval = xno; then 397 [if test x$enableval = xyes -o x$enableval = xno; then
377 support_selectionscrolling=$enableval 398 support_selectionscrolling=$enableval
378 fi]) 399 fi])
379 400
380AC_ARG_ENABLE(mousewheel, 401AC_ARG_ENABLE(mousewheel,
402 [AS_HELP_STRING([--enable-mousewheel],
381 [ --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5], 403 [enable scrolling via mouse wheel or buttons 4 & 5])],
382 [if test x$enableval = xyes -o x$enableval = xno; then 404 [if test x$enableval = xyes -o x$enableval = xno; then
383 support_mousewheel=$enableval 405 support_mousewheel=$enableval
384 fi]) 406 fi])
385 407
386AC_ARG_ENABLE(slipwheeling, 408AC_ARG_ENABLE(slipwheeling,
409 [AS_HELP_STRING([--enable-slipwheeling],
387 [ --enable-slipwheeling enable slip wheel scrolling (requires --enable-mousewheel)], 410 [enable slip wheel scrolling (requires --enable-mousewheel)])],
388 [if test x$enableval = xyes -o x$enableval = xno; then 411 [if test x$enableval = xyes -o x$enableval = xno; then
389 support_mouseslipwheel=$enableval 412 support_mouseslipwheel=$enableval
390 fi]) 413 fi])
391 414
392AC_ARG_ENABLE(smart-resize, 415AC_ARG_ENABLE(smart-resize,
393 [ --enable-smart-resize enable smart growth/shrink behaviour], 416 [AS_HELP_STRING([--enable-smart-resize],
417 [enable smart growth/shrink behaviour])],
394 [if test x$enableval = xyes; then 418 [if test x$enableval = xyes; then
395 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior) 419 AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
396 fi]) 420 fi])
397 421
398AC_ARG_ENABLE(text-blink, 422AC_ARG_ENABLE(text-blink,
399 [ --enable-text-blink enable blinking text], 423 [AS_HELP_STRING([--enable-text-blink],
424 [enable blinking text])],
400 [if test x$enableval = xyes -o x$enableval = xno; then 425 [if test x$enableval = xyes -o x$enableval = xno; then
401 support_text_blink=$enableval 426 support_text_blink=$enableval
402 fi]) 427 fi])
403 428
404AC_ARG_ENABLE(pointer-blank, 429AC_ARG_ENABLE(pointer-blank,
405 [ --enable-pointer-blank enable pointer blank when typing or inactive pointer], 430 [AS_HELP_STRING([--enable-pointer-blank],
431 [enable pointer blanking when typing or inactive])],
406 [if test x$enableval = xyes -o x$enableval = xno; then 432 [if test x$enableval = xyes -o x$enableval = xno; then
407 support_pointer_blank=$enableval 433 support_pointer_blank=$enableval
408 fi]) 434 fi])
409 435
410AC_ARG_WITH(term, 436AC_ARG_WITH(term,
411 [ --with-term=NAME set the terminal to NAME (default: rxvt)], 437 [AS_HELP_STRING([--with-term=VALUE],
438 [set the value of the TERM environment variable (default: rxvt)])],
412 [if test x$withval != x; then 439 [if test x$withval != x; then
413 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval" 440 AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval"
414 fi]) 441 fi])
415 442
416AC_ARG_WITH(terminfo, 443AC_ARG_WITH(terminfo,
417 [ --with-terminfo=PATH set the path to the terminfo tree to PATH], 444 [AS_HELP_STRING([--with-terminfo=VALUE],
445 [set the value of the TERMINFO environment variable])],
418 [if test x$withval != x; then 446 [if test x$withval != x; then
419 AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval" 447 AC_DEFINE_UNQUOTED(RXVT_TERMINFO, "$withval", Set TERMINFO value to the value given by configure) terminfo="$withval"
420 fi]) 448 fi])
421 449
450if test x$support_resources = xno; then
451 if test x$support_frills = xyes || test x$support_perl = xyes; then
452 AC_MSG_ERROR([--disable-resources requires --disable-frills --disable-perl])
453 fi
454
455 AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read)
456fi
457
458dnl# --------------------------------------------------------------------------
459
460LIBEV_M4_AVOID_LIBRT=1
461m4_include([libev/libev.m4])
462
422dnl# -------------------------------------------------------------------------- 463dnl# --------------------------------------------------------------------------
423 464
424AC_PATH_PROG(TIC, tic, :) 465AC_PATH_PROG(TIC, tic, :)
425 466
426dnl# need a neat way to detect SVR4 or its features
427dnl# in src/command.c we use these functions:
428dnl# grantpt(), unlockpt(), ptsname(), which are defined in <sys/ptms.h>
429dnl# - but are these also defined for other systems?
430
431dnl# hack to find if this is SVR4 -- who knows?
432dnl## AC_MSG_CHECKING(for SVR4)
433dnl## AC_EGREP_CPP(yes,
434dnl## [#if defined (SVR4) || defined (_SVR4) || defined (__svr4__)
435dnl## yes;
436dnl## #endif
437dnl## ], [AC_MSG_RESULT(yes); AC_DEFINE(PERHAPS_SVR4)], AC_MSG_RESULT(perhaps not?))
438
439AC_PATH_XTRA 467AC_PATH_XTRA
440 468
441AFTERIMAGE_CFLAGS= 469AC_PATH_TOOL(PKG_CONFIG, pkg-config, no)
442AFTERIMAGE_LIBS=
443AFTERIMAGE_VERSION=
444 470
471RXVT_CHECK_MODULES([PTYTTY], [libptytty], [:], [
472 AC_MSG_ERROR([unable to find libptytty])
473])
474
475AC_SUBST(PTYTTY_CFLAGS)
476AC_SUBST(PTYTTY_LIBS)
477
478image_lib=none
479
480PIXBUF_CFLAGS=
481PIXBUF_LIBS=
482
483if test x$support_pixbuf = xyes; then
484 RXVT_CHECK_MODULES([PIXBUF], [gdk-pixbuf-2.0], [
485 image_lib=gdk-pixbuf
486 AC_DEFINE(HAVE_PIXBUF, 1, Define if you want to use gdk-pixbuf for image processing)
487 ], [:])
488fi
489
490AC_SUBST(PIXBUF_CFLAGS)
491AC_SUBST(PIXBUF_LIBS)
492
493STARTUP_NOTIFICATION_CFLAGS=
494STARTUP_NOTIFICATION_LIBS=
495
496if test x$support_startup_notification = xyes; then
497 RXVT_CHECK_MODULES([STARTUP_NOTIFICATION], [libstartup-notification-1.0], [
498 AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, Define if freedesktop startup notifications should be supported)
499 ], [:])
500fi
501
502AC_SUBST(STARTUP_NOTIFICATION_CFLAGS)
503AC_SUBST(STARTUP_NOTIFICATION_LIBS)
504
445if test x$support_afterimage = xyes; then 505if test x$support_frills = xyes; then
446 support_afterimage=no 506 RXVT_CHECK_MODULES([XMU], [xmu], [
447 507 X_LIBS="$XMU_LIBS $X_LIBS"
448 if test "x$afterimage_config" = "x" ; then 508 CPPFLAGS="$CPPFLAGS $XMU_CFLAGS"
449 AC_PATH_PROG(afterimage_config, afterimage-config, no) 509 AC_DEFINE(HAVE_XMU, 1, Define to enable Xmu support)
450 fi 510 ], [:])
451 if test "x$afterimage_config" != "xno" ; then
452 AC_MSG_CHECKING(for libAfterImage version >= 1.15)
453 xAFTERIMAGE_VERSION=`$afterimage_config --version`
454 if test -n "$xAFTERIMAGE_VERSION" ; then
455 xAFTERIMAGE_CFLAGS=`$afterimage_config --cflags`
456 xAFTERIMAGE_LIBS=`$afterimage_config --libs`
457 if test "x$xAFTERIMAGE_LIBS" != "x"; then
458 libai_ver_major=`echo $xAFTERIMAGE_VERSION | cut -f 1 -d .`
459 libai_ver_minor=`echo $xAFTERIMAGE_VERSION | cut -f 2 -d .`
460 if test $libai_ver_major -gt 1 -o \( $libai_ver_major -eq 1 -a $libai_ver_minor -ge 15 \); then
461 support_afterimage=yes
462 AFTERIMAGE_CFLAGS="$xAFTERIMAGE_CFLAGS"
463 AFTERIMAGE_LIBS="$xAFTERIMAGE_LIBS"
464 AFTERIMAGE_VERSION="$xAFTERIMAGE_VERSION"
465 fi
466 fi
467 fi
468 if test "x$support_afterimage" = "xyes"; then
469 AC_MSG_RESULT($AFTERIMAGE_LIBS)
470 else
471 AC_MSG_RESULT(no)
472 fi
473 fi
474fi 511fi
475 512
476dnl# -------------------------------------------------------------------------- 513dnl# --------------------------------------------------------------------------
477dnl# CHECKING FOR HEADER FILES 514dnl# CHECKING FOR HEADER FILES
478dnl# -------------------------------------------------------------------------- 515dnl# --------------------------------------------------------------------------
479AC_HEADER_SYS_WAIT
480AC_CHECK_HEADERS( \ 516AC_CHECK_HEADERS( \
481 assert.h \
482 fcntl.h \
483 stdarg.h \
484 stdlib.h \
485 string.h \
486 termios.h \
487 unistd.h \
488 sys/byteorder.h \ 517 sys/byteorder.h \
489 sys/ioctl.h \ 518 sys/ioctl.h \
490 sys/select.h \
491 sys/sockio.h \ 519 sys/sockio.h \
492 sys/strredir.h \ 520 sys/strredir.h \
493 sys/time.h \
494 stdint.h \ 521 stdint.h \
495 wchar.h \ 522 wchar.h \
496 cwchar \
497 clocale \
498) 523)
499 524
500AC_HEADER_TIME
501
502dnl# check to allow both <termios.h> and <sys/ioctl.h>
503AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl,
504[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
505#include <sys/ioctl.h>
506#ifdef HAVE_TERMIOS_H
507#include <termios.h>
508#endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])])
509
510AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer,
511[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])])
512if test x$rxvt_cv_xpointer = xyes; then
513 AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef)
514fi
515
516AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access, 525AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_cv_xlib_illegal_access,
517[AC_COMPILE_IFELSE( 526[AC_COMPILE_IFELSE(
518 [AC_LANG_PROGRAM([ 527 [AC_LANG_PROGRAM([
519#define XLIB_ILLEGAL_ACCESS 528#define XLIB_ILLEGAL_ACCESS
520#include <X11/Xlib.h> 529#include <X11/Xlib.h>
521 ],[ 530 ],[
522 Display *dpy; 531 Display *dpy;
523 dpy->xdefaults = (char *)0; 532 dpy->xdefaults = (char *)0;
524 ])], 533 ])],
525 [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no] 534 [rxvt_cv_xlib_illegal_access=yes],[rxvt_cv_xlib_illegal_access=no]
526)]) 535)])
527if test x$rxvt_xlib_illegal_access = xyes; then 536if test x$rxvt_cv_xlib_illegal_access = xyes; then
528 AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it) 537 AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it)
529fi 538fi
530
531AC_C_CONST
532AC_C_INLINE
533
534dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow.
535 539
536dnl# -------------------------------------------------------------------------- 540dnl# --------------------------------------------------------------------------
537dnl# CHECKING FOR MISSING TYPEDEFS 541dnl# CHECKING FOR MISSING TYPEDEFS
538dnl# -------------------------------------------------------------------------- 542dnl# --------------------------------------------------------------------------
539dnl# Missing typedefs and replacements 543dnl# Missing typedefs and replacements
540AC_TYPE_MODE_T 544AC_TYPE_MODE_T
541dnl> AC_CHECK_TYPE(umode_t, int)
542dnl> AC_CHECK_TYPE(off_t, long)
543AC_TYPE_PID_T 545AC_TYPE_PID_T
544AC_TYPE_UID_T 546AC_TYPE_UID_T
545 547AC_TYPE_INT16_T
546AC_CHECK_SIZEOF(short, 2) 548AC_TYPE_UINT16_T
547AC_CHECK_SIZEOF(int, 4) 549AC_TYPE_INT32_T
548dnl AC_CHECK_SIZEOF(long, 4) 550AC_TYPE_UINT32_T
549AC_CHECK_SIZEOF(long long, 8)
550AC_CHECK_SIZEOF(int *, 4)
551
552dnl# see usage below
553AC_DEFUN([RXVT_CHECK_SIZE],
554 [AC_CACHE_CHECK([for $2], $1,
555 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[$2 dummy;]])],[$1=yes],[dnl
556if test "$ac_cv_sizeof_char" -ge $3; then
557 $1="$4 char"
558else
559 if test "$ac_cv_sizeof_short" -ge $3; then
560 $1="$4 short"
561 else
562 if test "$ac_cv_sizeof_int" -ge $3; then
563 $1="$4 int"
564 else
565 if test "$ac_cv_sizeof_long" -ge $3; then
566 $1="$4 long"
567 else
568 if test "$ac_cv_sizeof_long_long" -ge $3; then
569 $1="$4 long long"
570 else
571 $1="$4 $5" # we _must_ have a (possibly wrong) default
572 fi
573 fi
574 fi
575 fi
576fi])])]
577if test x"$$1" != xyes; then
578 $6="typedef $$1 $2;"
579else
580 if test x"$4" = x; then
581 $6="/* typedef $5 $2; */"
582 else
583 $6="/* typedef $4 $5 $2; */"
584 fi
585fi dnl
586)
587dnl#
588dnl# Look for types the system may know about anyway.
589dnl#
590RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef)
591AC_SUBST(rxvt_int16_typedef)
592RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef)
593AC_SUBST(rxvt_uint16_typedef)
594RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef)
595AC_SUBST(rxvt_int32_typedef)
596RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef)
597AC_SUBST(rxvt_uint32_typedef)
598dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef)
599dnl AC_SUBST(rxvt_int64_typedef)
600dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef)
601dnl AC_SUBST(rxvt_uint64_typedef)
602dnl#
603dnl# Now look for another we use
604dnl#
605if test "$ac_cv_sizeof_int_p" -eq 8; then
606 rxvt_intp_define="#define intp_t int64_t"
607 rxvt_u_intp_define="#define u_intp_t u_int64_t"
608else
609 if test "$ac_cv_sizeof_int_p" -eq 4; then
610 rxvt_intp_define="#define intp_t int32_t"
611 rxvt_u_intp_define="#define u_intp_t u_int32_t"
612 else
613 if test "$ac_cv_sizeof_int_p" -eq 2; then
614 rxvt_intp_define="#define intp_t int16_t"
615 rxvt_u_intp_define="#define u_intp_t u_int16_t"
616 else
617 rxvt_intp_define="#error set intp_t"
618 rxvt_u_intp_define="#error set u_intp_t"
619 fi
620 fi
621fi
622AC_SUBST(rxvt_intp_define)
623AC_SUBST(rxvt_u_intp_define)
624 551
625dnl# -------------------------------------------------------------------------- 552dnl# --------------------------------------------------------------------------
626dnl# CHECKING FOR LIBRARY FUNCTIONS 553dnl# CHECKING FOR LIBRARY FUNCTIONS
627dnl# -------------------------------------------------------------------------- 554dnl# --------------------------------------------------------------------------
628AC_TYPE_SIGNAL 555AC_CHECK_FUNCS(unsetenv)
629dnl> AC_FUNC_VPRINTF
630 556
631AC_CHECK_FUNCS( \
632 unsetenv \
633 setutent \
634 on_exit \
635)
636
637UTMP_CHECK
638
639dnl# -------------------------------------------------------------------------- 557dnl# --------------------------------------------------------------------------
640
641dnl# find ttys/ttytab
642AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab,
643[for ttys_file in dnl
644 /etc/ttys /etc/ttytab;
645do
646 if test -f "$ttys_file" ; then
647 rxvt_cv_path_ttytab=$ttys_file
648 break
649 fi
650done
651])
652if test x$rxvt_cv_path_ttytab != x; then
653 AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab)
654fi
655 558
656dnl# -------------------------------------------------------------------------- 559dnl# --------------------------------------------------------------------------
657dnl# -------------------------------------------------------------------------- 560dnl# --------------------------------------------------------------------------
658 561
659dnl# this is a really hack test for some basic Xlocale stuff 562dnl# this is a really hack test for some basic Xlocale stuff
660ac_save_LIBS=$LIBS 563save_LIBS=$LIBS
661ac_save_CFLAGS=$CFLAGS 564save_CXXFLAGS=$CXXFLAGS
662CFLAGS="$CFLAGS $X_CFLAGS" 565CXXFLAGS="$CXXFLAGS $X_CFLAGS"
663LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" 566LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11"
664if test x$support_xim = xyes; then 567if test x$support_xim = xyes; then
665 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, 568 AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale,
666 [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h> 569 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
570 #include <X11/Xlib.h>
667 #include <stdlib.h> 571 #include <stdlib.h>
668 main() { 572 int main() {
669 char *p; 573 char *p;
670 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) 574 if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
671 exit (XSupportsLocale() ? 0 : 1); 575 exit (XSupportsLocale() ? 0 : 1);
672 else 576 else
673 exit (1);}]])],[dnl 577 exit (1);
578 }
674 rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl 579 ]])],[rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[:])])
675 :])])
676 if test x$rxvt_cv_func_xlocale = xyes; then 580 if test x$rxvt_cv_func_xlocale = xyes; then
677 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) 581 AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input)
678 AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb, 582 AC_CACHE_CHECK(for broken XIM callback, rxvt_cv_broken_ximcb,
679 [AC_COMPILE_IFELSE([ 583 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
680 #include <X11/Xlib.h> 584 #include <X11/Xlib.h>
681 585
682 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3); 586 void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3);
683 587
684 void f() { 588 void f() {
685 XIMCallback cb; 589 XIMCallback cb;
686 cb.callback = im_destroy_cb; 590 cb.callback = im_destroy_cb;
687 } 591 }
688 ],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)]) 592 ]])],rxvt_cv_broken_ximcb=yes,rxvt_cv_broken_ximcb=no)])
689 593
690 if test x$rxvt_broken_ximcb = xyes; then 594 if test x$rxvt_cv_broken_ximcb = xyes; then
691 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) 595 AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.)
692 fi 596 fi
693 fi 597 fi
694fi 598fi
695 599
697[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1 601[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1
698#include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])]) 602#include <X11/Xlocale.h>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])])
699if test x$rxvt_cv_func_xsetlocale = xyes; then 603if test x$rxvt_cv_func_xsetlocale = xyes; then
700 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) 604 AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works)
701fi 605fi
702LIBS=$ac_save_LIBS 606LIBS=$save_LIBS
703CFLAGS=$ac_save_CFLAGS 607CXXFLAGS=$save_CXXFLAGS
704
705AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
706[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <clocale>]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])])
707if test x$rxvt_cv_func_setlocale = xyes; then
708 AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works)
709fi
710 608
711AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, 609AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo,
712[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) 610[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])])
713if test x$rxvt_cv_func_nl_langinfo = xyes; then 611if test x$rxvt_cv_func_nl_langinfo = xyes; then
714 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) 612 AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works)
715fi 613fi
716 614
717SCM_RIGHTS_CHECK
718
719PTY_CHECK
720
721TTY_GROUP_CHECK
722
723dnl# -------------------------------------------------------------------------- 615dnl# --------------------------------------------------------------------------
724dnl# now add and remove other stuff 616dnl# now add and remove other stuff
725dnl# -------------------------------------------------------------------------- 617dnl# --------------------------------------------------------------------------
726if test x$support_xft = xyes; then 618support_image=no
727 AC_PATH_PROG(PKG_CONFIG, pkg-config, no) 619if test x$support_inheritpixmap = xyes || test x$support_pixbuf = xyes; then
728 if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then 620 support_image=yes
729 LIBS="$LIBS `$PKG_CONFIG xft --libs`" 621fi
730 CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`" 622if test x$support_xft = xyes || test x$support_image = xyes; then
731 else 623 rxvt_have_xrender=no
624 RXVT_CHECK_MODULES([XRENDER], [xrender], [
625 X_LIBS="$XRENDER_LIBS $X_LIBS"
626 CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS"
627 rxvt_have_xrender=yes
628
629 save_LIBS="$LIBS"
630 LIBS="$LIBS $X_LIBS"
631 AC_CHECK_HEADER(X11/extensions/Xrender.h,,[rxvt_have_xrender=no])
632 AC_CHECK_FUNC(XRenderFindStandardFormat,,[rxvt_have_xrender=no])
633 LIBS="$save_LIBS"
634 ], [:])
635fi
636
637if test x$support_xft = xyes && test x$rxvt_have_xrender = xyes; then
638 RXVT_CHECK_MODULES([XFT], [fontconfig xft], [
639 X_LIBS="$XFT_LIBS $X_LIBS"
640 CPPFLAGS="$CPPFLAGS $XFT_CFLAGS"
641 ], [
732 AC_PATH_PROG(XFT_CONFIG, xft-config, no) 642 AC_PATH_PROG(XFT_CONFIG, xft-config, no)
733 if test $XFT_CONFIG != no; then 643 if test $XFT_CONFIG != no; then
734 LIBS="$LIBS `$XFT_CONFIG --libs`" 644 X_LIBS="`$XFT_CONFIG --libs` $X_LIBS"
735 CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" 645 CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`"
736 fi 646 fi
737 fi 647 ])
738 648
649 save_LIBS="$LIBS"
650 LIBS="$LIBS $X_LIBS"
739 AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) 651 AC_CHECK_HEADERS(X11/Xft/Xft.h fontconfig/fontconfig.h,,[support_xft=no])
740 AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no]) 652 AC_CHECK_FUNCS(XftDrawString32 FcPatternGet,,[support_xft=no])
653 LIBS="$save_LIBS"
741 654
742 if test x$support_xft = xyes; then 655 if test x$support_xft = xyes; then
743 AC_DEFINE(XFT, 1, Define to enable xft support) 656 AC_DEFINE(XFT, 1, Define to enable xft support)
744 fi 657 fi
745fi 658fi
659
660if test x$support_image = xyes && test x$rxvt_have_xrender = xyes; then
661 AC_MSG_CHECKING(for Render >= 0.11)
662 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
663#include <X11/extensions/Xrender.h>
664#if RENDER_MAJOR == 0 && RENDER_MINOR <= 10
665error
666#endif
667]])],[],[support_image=no])
668 if test x$support_image = xyes; then
669 AC_MSG_RESULT(ok)
670 LIBS="$LIBS -lm"
671 AC_DEFINE(XRENDER, 1, Define to enable xrender support)
672
673 if test x$support_inheritpixmap = xyes; then
674 AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background)
675 fi
676 else
677 AC_MSG_RESULT(no)
678 fi
679fi
680
746if test x$support_styles = xyes; then 681if test x$support_styles = xyes; then
747 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support) 682 AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
748fi 683fi
749if test x$support_iso14755 = xyes; then 684if test x$support_iso14755 = xyes; then
750 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support) 685 AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
753 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences) 688 AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences)
754fi 689fi
755if test x$support_fading = xyes; then 690if test x$support_fading = xyes; then
756 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost) 691 AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
757fi 692fi
758if test x$support_inheritpixmap = xyes; then
759 AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background)
760fi
761if test x$support_keepscrolling = xno; then 693if test x$support_keepscrolling = xno; then
762 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed) 694 AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
763fi 695fi
764if test x$support_selectionscrolling = xyes; then 696if test x$support_selectionscrolling = xyes; then
765 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen) 697 AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen)
771 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll) 703 AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll)
772fi 704fi
773if test x$support_mouseslipwheel = xyes; then 705if test x$support_mouseslipwheel = xyes; then
774 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling) 706 AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling)
775fi 707fi
776if test x$support_afterimage = xyes; then
777 AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing)
778 AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps. Needs libAfterImage)
779fi
780 708
781dnl if test x$support_afterstep = xyes; then 709scrolltypes=plain
782dnl AC_DEFINE(AFTERSTEP_INTEGRATION, 1, Define if you want to integrate with AfterStep window manager) 710AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
783dnl fi
784 711
785if test x$support_scroll_rxvt = xyes; then 712if test x$support_scroll_rxvt = xyes; then
786 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars) 713 AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars)
787 scrolltypes="rxvt" 714 scrolltypes="$scrolltypes rxvt"
788fi 715fi
789if test x$support_scroll_next = xyes; then 716if test x$support_scroll_next = xyes; then
790 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars) 717 AC_DEFINE(NEXT_SCROLLBAR, 1, Support NeXT style scrollbars)
791 scrolltypes="$scrolltypes next" 718 scrolltypes="$scrolltypes next"
792fi 719fi
793if test x$support_scroll_xterm = xyes; then 720if test x$support_scroll_xterm = xyes; then
794 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars) 721 AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars)
795 scrolltypes="$scrolltypes xterm" 722 scrolltypes="$scrolltypes xterm"
796fi 723fi
797if test x$support_scroll_plain = xyes; then
798 AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars)
799 scrolltypes="$scrolltypes plain"
800fi
801if test x$support_pointer_blank = xyes; then 724if test x$support_pointer_blank = xyes; then
802 AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing) 725 AC_DEFINE(POINTER_BLANK, 1, Define if you want to hide the pointer while typing)
803fi 726fi
804if test x$support_text_blink = xyes; then 727if test x$support_text_blink = xyes; then
805 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support) 728 AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
806fi 729fi
807if test x$support_unicode3 = xyes; then 730if test x$support_unicode3 = xyes; then
825 esac 748 esac
826done 749done
827 750
828IF_PERL=\# 751IF_PERL=\#
829if test x$support_perl = xyes; then 752if test x$support_perl = xyes; then
830 AC_PATH_PROG(PERL, perl5) 753 AC_PATH_PROG(PERL, perl5, perl)
831 AC_PATH_PROG(PERL, perl) 754
755 RXVT_CHECK_MODULES([XEXT], [xext], [:], [
756 AC_MSG_ERROR([unable to find xext, required for perl])
757 ])
758
759 X_LIBS="$XEXT_LIBS $X_LIBS"
760 CPPFLAGS="$CPPFLAGS $XEXT_CFLAGS"
832 761
833 AC_MSG_CHECKING(for $PERL suitability) 762 AC_MSG_CHECKING(for $PERL suitability)
834 if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then 763 if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
835 764
836 save_CXXFLAGS="$CXXFLAGS" 765 save_CXXFLAGS="$CXXFLAGS"
837 save_LIBS="$LIBS" 766 save_LIBS="$LIBS"
838 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`" 767 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`"
839 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" 768 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
840 AC_TRY_LINK([ 769 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
841#include <EXTERN.h> 770#include <EXTERN.h>
842#include <perl.h> 771#include <perl.h>
843#include <XSUB.h> 772#include <XSUB.h>
844],[ 773]], [[
845 PerlInterpreter *perl = perl_alloc (); 774 PerlInterpreter *perl = perl_alloc ();
846],[rxvt_perl_link=yes],[rxvt_perl_link=no]) 775]])],[rxvt_perl_link=yes],[rxvt_perl_link=no])
847 CXXFLAGS="$save_CXXFLAGS" 776 CXXFLAGS="$save_CXXFLAGS"
848 LIBS="$save_LIBS" 777 LIBS="$save_LIBS"
849 778
850 if test x$rxvt_perl_link = xyes; then 779 if test x$rxvt_perl_link = xyes; then
851 AC_MSG_RESULT(ok) 780 AC_MSG_RESULT(ok)
867AC_SUBST(PERLPRIVLIBEXP) 796AC_SUBST(PERLPRIVLIBEXP)
868AC_SUBST(PERL) 797AC_SUBST(PERL)
869AC_SUBST(IF_PERL) 798AC_SUBST(IF_PERL)
870AC_SUBST(PERL_O) 799AC_SUBST(PERL_O)
871 800
872AC_SUBST(CFLAGS)
873AC_SUBST(CPPFLAGS)
874AC_SUBST(LDFLAGS)
875AC_SUBST(X_CFLAGS)
876
877dnl# Attack the libs
878AC_SUBST(LIBS)
879AC_SUBST(X_LIBS)
880AC_SUBST(X_EXTRA_LIBS)
881
882AC_SUBST(AFTERIMAGE_CFLAGS)
883AC_SUBST(AFTERIMAGE_LIBS)
884
885AC_ARG_PROGRAM
886
887dnl# test for "sun" or "__sun__" before include sys_ioctl
888
889dnl# revert HAVE_BLAH_H into a "#include <blah.h>"
890AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl
891[if test "$$3" = "$4" -o "$$5" = "$6"; then
892 $1="#include <$2>"
893else
894 $1="/* #include <$2> */"
895fi dnl
896AC_SUBST($1)])
897
898RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch)
899RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch)
900RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch)
901RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch)
902RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch)
903RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch)
904RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch)
905RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch)
906RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch)
907RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch)
908RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch)
909RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch)
910RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes)
911 801
912AC_CONFIG_FILES([Makefile \ 802AC_CONFIG_FILES([Makefile \
913doc/Makefile \ 803doc/Makefile \
914src/Makefile \ 804src/Makefile \
915src/rxvtlib.h \
916]) 805])
917AC_OUTPUT 806AC_OUTPUT
918 807
919echo "Configuration: 808echo "Configuration:
920 809
936if test x$RESFALLBACK != x; then 825if test x$RESFALLBACK != x; then
937 echo " resource class fallback: $RESFALLBACK" 826 echo " resource class fallback: $RESFALLBACK"
938fi 827fi
939echo 828echo
940echo " embedded perl: $support_perl" 829echo " embedded perl: $support_perl"
941echo " libafterimage: $support_afterimage" 830echo " image library: $image_lib"
942dnl echo " AfterStep integration: $support_afterstep"
943echo 831echo
944if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then 832if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then
945 echo ".----------------------------------------------------------------." 833 echo ".----------------------------------------------------------------."
946 echo ". WARNING: --enable-xim was specified however the locale support ." 834 echo ". WARNING: --enable-xim was specified however the locale support ."
947 echo ". functions could not be found. ." 835 echo ". functions could not be found. ."

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines