Additional usage of the new api
[sxemacs] / m4 / sxe-mm.m4
1 dnl sxe-mm.m4 -- Multimedia goodness
2
3 dnl MM tests
4 dnl ========
5
6 AC_DEFUN([SXE_MM_CHECK_XPM], [
7         ## arg #1: action on success
8         ## arg #2: action on failure
9         pushdef([MM_SUCC], [$1])
10         pushdef([MM_FAIL], [$2])
11
12         AC_MSG_CHECKING([for xpm support])
13         AC_MSG_RESULT([])
14
15         MM_SUCC
16         if test "$window_system" = "none"; then
17                 MM_FAIL
18         fi
19
20         SXE_DUMP_LIBS
21         SXE_LANG_WERROR([off])
22         CPPFLAGS="$CPPFLAGS $X_CFLAGS"
23         LDFLAGS="$LDFLAGS $X_PRE_LIBS $X_LIBS $libs_x"
24         LIBS="$LIBS -lXpm -lX11"
25
26         SXE_CHECK_HEADERS([X11/xpm.h], [:], [MM_FAIL])
27
28         AC_MSG_CHECKING([for Xpm (more recent than 3.4f)])
29         AC_RUN_IFELSE([AC_LANG_SOURCE([[
30 #define XPM_NUMBERS
31 #include <X11/xpm.h>
32 int main(int c, char **v)
33 {
34         return c == 1 ? 0 :
35                 XpmIncludeVersion != XpmLibraryVersion() ? 1 :
36                 XpmIncludeVersion < 30406 ? 2 : 0 ;
37 }]])], [./conftest dummy_arg; xpm_status=$?;
38                 if test "$xpm_status" = "0"; then
39                         AC_MSG_RESULT([yes])
40                 else
41                         AC_MSG_RESULT([no])
42                         MM_FAIL
43                         if test "$xpm_status" = "1"; then
44                                 AC_MSG_WARN([dnl
45 Xpm library version and header file version don't match!
46 I have disabled xpm on your behalf.])
47                         elif test "$xpm_status" = "2"; then
48                                 AC_MSG_WARN([dnl
49 Xpm library version is too old!
50 I have disabled xpm on your behalf.])
51                         else
52                                 AC_MSG_WARN([dnl
53 Internal xpm detection logic error!])
54                         fi
55                 fi], [dnl
56                 AC_MSG_RESULT([no])
57                 MM_FAIL], [dnl
58                 AC_MSG_RESULT([no])
59                 MM_FAIL])
60         xe_check_libs=
61         SXE_RESTORE_LIBS
62 ])dnl SXE_MM_CHECK_XPM
63
64 AC_DEFUN([SXE_MM_CHECK_XFACE], [
65         ## arg #1: action on success
66         ## arg #2: action on failure
67         pushdef([MM_SUCC], [$1])
68         pushdef([MM_FAIL], [$2])
69
70         AC_MSG_CHECKING([for xface support])
71         AC_MSG_RESULT([])
72
73         SXE_DUMP_LIBS
74         SXE_LANG_WERROR([off])
75         dnl SXE_PREPEND_UNDUP([-I$x_includes], [c_switch_site])
76         dnl SXE_PREPEND_UNDUP([-L$x_libraries], [ld_switch_site])
77         CPPFLAGS="$CPPFLAGS $X_CFLAGS"
78         LDFLAGS="$LDFLAGS $X_LIBS"
79
80         MM_SUCC
81         if test "$window_system" = "none"; then
82                 MM_FAIL
83         fi
84
85         SXE_CHECK_HEADERS([compface.h], [:], [MM_FAIL])
86         AC_CHECK_LIB([compface], [UnGenFace], [:], [MM_FAIL])
87
88         SXE_RESTORE_LIBS
89 ])dnl SXE_MM_CHECK_XFACE
90
91 AC_DEFUN([SXE_MM_CHECK_GIF], [
92         ## arg #1: action on success
93         ## arg #2: action on failure
94         pushdef([MM_SUCC], [$1])
95         pushdef([MM_FAIL], [$2])
96
97         AC_MSG_CHECKING([for gif support])
98         AC_MSG_RESULT([])
99
100         SXE_DUMP_LIBS
101
102         MM_SUCC
103         if test "$window_system" = "none"; then
104                 MM_FAIL
105         fi
106
107         SXE_RESTORE_LIBS
108 ])dnl SXE_MM_CHECK_GIF
109
110 AC_DEFUN([SXE_MM_CHECK_JPEG], [
111         ## arg #1: action on success
112         ## arg #2: action on failure
113         pushdef([MM_SUCC], [$1])
114         pushdef([MM_FAIL], [$2])
115
116         AC_MSG_CHECKING([for jpeg support])
117         AC_MSG_RESULT([])
118
119         SXE_DUMP_LIBS
120         SXE_LANG_WERROR([off])
121         dnl SXE_PREPEND_UNDUP([-I$x_includes], [c_switch_site])
122         dnl SXE_PREPEND_UNDUP([-L$x_libraries], [ld_switch_site])
123         CPPFLAGS="$CPPFLAGS $X_CFLAGS"
124         LDFLAGS="$LDFLAGS $X_LIBS"
125
126         MM_SUCC
127         if test "$window_system" = "none"; then
128                 MM_FAIL
129         fi
130
131         SXE_CHECK_HEADERS([jpeglib.h], [:], [MM_FAIL])
132         AC_CHECK_LIB([jpeg], [jpeg_destroy_decompress], [:], [MM_FAIL], [$INFLATE_LIB])
133
134         SXE_RESTORE_LIBS
135 ])dnl SXE_MM_CHECK_JPEG
136
137
138 AC_DEFUN([_SXE_MM_CHECK_PNG_HEADERS], [dnl
139         ## defines sxe_cv_feat_png_headers
140         ## also defines and substs PNG_CPPFLAGS
141
142         SXE_DUMP_LIBS
143         SXE_LANG_WERROR([off])
144         PNG_CPPFLAGS="$CPPFLAGS $X_CFLAGS"
145         CPPFLAGS="$PNG_CPPFLAGS"
146         SXE_CHECK_HEADERS([png.h])
147         SXE_RESTORE_LIBS
148
149         if test "${ac_cv_header_png_h}" = "yes"; then
150                 sxe_cv_feat_png_headers="yes"
151         else
152                 sxe_cv_feat_png_headers="no"
153         fi
154
155         AC_SUBST([PNG_CPPFLAGS])
156 ])dnl _SXE_MM_CHECK_PNG_HEADERS
157
158 AC_DEFUN([_SXE_MM_CHECK_PNG_LIBS], [dnl
159         ## defines sxe_cv_feat_png_libs
160         ## also defines and substs PNG_LIBS and PNG_LDFLAGS
161
162         SXE_DUMP_LIBS
163         SXE_LANG_WERROR([off])
164         PNG_LDFLAGS="$LDFLAGS $X_LIBS"
165         LDFLAGS="$PNG_LDFLAGS"
166         AC_CHECK_LIB([png], [png_read_image], [], [], [$INFLATE_LIB])
167         SXE_RESTORE_LIBS
168
169         if test "${ac_cv_lib_png_png_read_image}" = "yes"; then
170                 sxe_cv_feat_png_libs="yes"
171                 PNG_LIBS="$INFLATE_LIB -lpng"
172         else
173                 sxe_cv_feat_png_libs="no"
174                 PNG_LIBS=
175         fi
176
177         AC_SUBST([PNG_LIBS])
178         AC_SUBST([PNG_LDFLAGS])
179 ])dnl _SXE_MM_CHECK_PNG_LIBS
180
181 AC_DEFUN([_SXE_MM_CHECK_PNG_VERSION], [dnl
182         ## defines sxe_cv_tmp_png_status to yes if version info seems okay
183         AC_REQUIRE([_SXE_MM_CHECK_PNG_HEADERS])
184         AC_REQUIRE([_SXE_MM_CHECK_PNG_LIBS])
185
186         SXE_MSG_CHECKING([for workable png version information])
187
188         SXE_DUMP_LIBS
189         CPPFLAGS="$PNG_CPPFLAGS"
190         LDFLAGS="$PNG_LDFLAGS"
191         LIBS="$PNG_LIBS"
192         AC_RUN_IFELSE([AC_LANG_SOURCE([[
193 #if defined HAVE_PNG_H
194 # include <png.h>
195 #endif /* HAVE_PNG_H */
196
197 int main(int c, char **v)
198 {
199         if (c == 1) {
200                 return 0;
201         }
202         if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) {
203                 return 1;
204         }
205         return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;
206 }]])], [./conftest dummy_arg; png_status=$?;
207                 if test "$png_status" = "0"; then
208                         sxe_cv_tmp_png_status="yes"
209
210                 elif test "$png_status" = "1"; then
211                         sxe_cv_tmp_png_status="yes"
212                         AC_MSG_WARN([dnl
213 PNG library version and header file don't match!
214 This is odd but I think I give it a whirl.
215 If things work out badly I suggest to turn off your computer forever.])
216
217                 elif test "$png_status" = "2"; then
218                         sxe_cv_tmp_png_status="no"
219                         AC_MSG_WARN([dnl
220 PNG library version too old (pre 1.0.2)!
221 I have disabled PNG support on your behalf.])
222
223                 else
224                         sxe_cv_tmp_png_status="no"
225                         AC_MSG_ERROR([dnl
226 Whatever happened just now, I'm completely fucked.])
227                 fi], [sxe_cv_tmp_png_status="no"], [sxe_cv_tmp_png_status="no"])
228         SXE_MSG_RESULT([${sxe_cv_tmp_png_status}])
229         SXE_RESTORE_LIBS
230 ])dnl _SXE_MM_CHECK_PNG_VERSION
231
232 AC_DEFUN([SXE_MM_CHECK_PNG], [
233         ## SXE_MM_CHECK_PNG(<action-if-found>, <action-if-not-found>)
234         ## defines HAVE_PNG in case png is usable
235         pushdef([MM_SUCC], [$1])
236         pushdef([MM_FAIL], [$2])
237
238         SXE_MSG_CHECKING([for PNG support])
239         SXE_MSG_RESULT([])
240
241         _SXE_MM_CHECK_PNG_HEADERS
242         _SXE_MM_CHECK_PNG_LIBS
243         _SXE_MM_CHECK_PNG_VERSION
244
245         ## final judgement
246         ## we want to see a header and png_read_image really
247         if test "${sxe_cv_feat_png_headers}" = "yes" -a \
248                 "${sxe_cv_feat_png_libs}" = "yes" -a \
249                 "${sxe_cv_tmp_png_status}" = "yes"; then
250                 sxe_cv_feat_png="yes"
251                 AC_DEFINE([HAVE_PNG], [1], [Define to 1 if png is usable.])
252                 MM_SUCC
253         else
254                 sxe_cv_feat_png="no"
255                 MM_FAIL
256         fi
257 ])dnl SXE_MM_CHECK_PNG
258
259 AC_DEFUN([SXE_MM_CHECK_TIFF], [
260         ## arg #1: action on success
261         ## arg #2: action on failure
262         pushdef([MM_SUCC], [$1])
263         pushdef([MM_FAIL], [$2])
264
265         AC_MSG_CHECKING([for TIFF support])
266         AC_MSG_RESULT([])
267
268         SXE_DUMP_LIBS
269         SXE_LANG_WERROR([off])
270         dnl SXE_PREPEND_UNDUP([-I$x_includes], [c_switch_site])
271         dnl SXE_PREPEND_UNDUP([-L$x_libraries], [ld_switch_site])
272         CPPFLAGS="$CPPFLAGS $X_CFLAGS"
273         LDFLAGS="$LDFLAGS $X_LIBS"
274
275         MM_SUCC
276         if test "$window_system" = "none"; then
277                 MM_FAIL
278         fi
279
280         SXE_CHECK_HEADERS([tiffio.h], [:], [MM_FAIL])
281         AC_CHECK_LIB([tiff], [TIFFClientOpen], [:], [MM_FAIL], [$INFLATE_LIB])
282
283         SXE_RESTORE_LIBS
284 ])dnl SXE_MM_CHECK_TIFF
285
286 AC_DEFUN([SXE_MM_SEARCH_INFLATE], [
287         dnl Too many stupid linkers can't detect cascaded lib dependencies
288         dnl  until runtime. So we always search for libz compression support.
289         AC_SEARCH_LIBS([inflate], [c z gz], [
290                 if test "$ac_cv_lib_c_inflate" = "yes"; then
291                         INFLATE_LIB="c"
292                 elif test "$ac_cv_lib_z_inflate" = "yes"; then
293                         INFLATE_LIB="z"
294                 elif test "$ac_cv_lib_gz_inflate" = "yes"; then
295                         INFLATE_LIB="gz"
296                 fi], [INFLATE_LIB=])
297         if test -n "$INFLATE_LIB"; then
298                 SXE_PREPEND([$INFLATE_LIB], [MM_LIBS])
299         fi
300 ])dnl SXE_MM_SEARCH_INFLATE
301
302 AC_DEFUN([SXE_MM_CHECK_SNDFILE], [
303         ## assumes $PKG_CONFIG is defined
304         ## arg #1: action on success
305         ## arg #2: action on failure
306
307         _SXE_MM_CHECK_pkgconfig_based([sndfile], [sndfile], [1.0.12], [dnl
308                 sf_open sf_close sf_readf_short sf_readf_int dnl
309                 sf_readf_float sf_seek sf_open_virtual],
310                 [sndfile.h], [$1], [$2])
311 ])dnl SXE_MM_CHECK_SNDFILE
312
313 AC_DEFUN([SXE_MM_CHECK_FFMPEG], [
314         ## assumes $PKG_CONFIG is defined
315         ## arg #1: action on success
316         ## arg #2: action on failure
317         pushdef([ACTION_IF_FOUND], [$1])
318         pushdef([ACTION_IF_NOT_FOUND], [$2])
319
320         sxe_cv_feat_ffmpeg=
321
322         ## Minimum versions required matches FFmpeg stable v2.0.1
323         ## released 2013-08-13
324         SXE_PC_CHECK_VERSION_ATLEAST([libavformat], [55.12.100])
325         SXE_PC_CHECK_VERSION_ATLEAST([libavcodec], [55.18.102])
326         SXE_PC_CHECK_VERSION_ATLEAST([libavutil], [52.38.100])
327
328         SXE_CHECK_FFMPEG_HEADERS
329         SXE_CHECK_FFMPEG_LIBS
330
331         ## make sure we have at least one of the headers
332         if test "$ac_cv_header_avformat_h" = "yes" -o \
333                 "$ac_cv_header_ffmpeg_avformat_h" = "yes" -o \
334                 "$ac_cv_header_libavformat_avformat_h" = "yes"; then
335                 if test "$ac_cv_header_avcodec_h" = "yes" -o \
336                         "$ac_cv_header_ffmpeg_avcodec_h" = "yes" -o \
337                         "$ac_cv_header_libavcodec_avcodec_h" = "yes"; then
338                         if test "$ac_cv_header_ffmpeg_dict_h" = "yes" -o \
339                                 "$ac_cv_header_libavutil_dict_h" = "yes"; then
340                                 sxe_cv_feat_ffmpeg_headers="yes"
341                         fi
342                 fi
343         fi
344
345         ## make sure either decode_audio is there
346         if test "$ac_cv_lib_avcodec_avcodec_decode_audio4" = "yes"; then
347                 sxe_cv_feat_ffmpeg_decoders="yes"
348         fi
349         ## make sure this bloody av context allocator is there
350         if test "$ac_cv_lib_avformat_avformat_alloc_context" = "yes"; then
351                 sxe_cv_feat_ffmpeg_avformat_alloc="yes"
352         fi
353         if test "$sxe_cv_feat_ffmpeg_headers" = "yes" -a \
354                 "$sxe_cv_feat_ffmpeg_decoders" = "yes" -a \
355                 "$sxe_cv_feat_ffmpeg_avformat_alloc" = "yes" -a \
356                 "$ac_cv_lib_avformat_avio_alloc_context" = "yes" -a \
357                 "$ac_cv_lib_avformat_avio_size" = "yes" -a \
358                 "$ac_cv_lib_avformat_avformat_open_input" = "yes" -a \
359                 "$ac_cv_lib_avformat_avformat_close_input" = "yes" -a \
360                 "$ac_cv_lib_avformat_avformat_find_stream_info" = "yes" -a \
361                 "$ac_cv_lib_avformat_av_probe_input_format" = "yes" -a \
362                 "$ac_cv_lib_avformat_av_read_frame" = "yes" -a \
363                 "$ac_cv_lib_avformat_av_seek_frame" = "yes" -a \
364                 "$ac_cv_lib_avformat_av_register_all" = "yes" -a \
365                 "$ac_cv_lib_avformat_av_dump_format" = "yes" -a \
366                 "$ac_cv_lib_avcodec_avcodec_find_decoder" = "yes" -a \
367                 "$ac_cv_lib_avcodec_avcodec_open2" = "yes" -a \
368                 "$ac_cv_lib_avutil_av_dict_get" = "yes"; then
369                 sxe_cv_feat_ffmpeg="yes"
370         else
371                 sxe_cv_feat_ffmpeg="no"
372         fi
373
374         if test "$sxe_cv_feat_ffmpeg" = "yes"; then
375                 :
376                 ACTION_IF_FOUND
377         else
378                 :
379                 ACTION_IF_NOT_FOUND
380         fi
381
382         popdef([ACTION_IF_FOUND])
383         popdef([ACTION_IF_NOT_FOUND])
384 ])dnl SXE_MM_CHECK_FFMPEG
385
386 AC_DEFUN([SXE_CHECK_FFMPEG_HEADERS], [dnl
387         FFMPEG_CPPFLAGS="$(${PKG_CONFIG} --cflags libavformat libavcodec libavutil)"
388
389         ## backup current configuration
390         SXE_DUMP_LIBS
391         CPPFLAGS="${CPPFLAGS} ${FFMPEG_CPPFLAGS}"
392         AC_CHECK_HEADERS([avformat.h avcodec.h])
393         AC_CHECK_HEADERS([ffmpeg/avformat.h ffmpeg/avcodec.h ffmpeg/dict.h])
394         AC_CHECK_HEADERS([libavformat/avformat.h libavcodec/avcodec.h libavutil/dict.h])
395
396         ## restore configuration
397         SXE_RESTORE_LIBS
398 ])dnl SXE_CHECK_FFMPEG_HEADERS
399
400 AC_DEFUN([SXE_CHECK_FFMPEG_LIBS], [dnl
401         FFMPEG_LDFLAGS="$(${PKG_CONFIG} --libs-only-other libavformat libavcodec libavutil) \
402                 $(${PKG_CONFIG} --libs-only-L libavformat libavcodec libavutil)"
403         FFMPEG_LIBS="$(${PKG_CONFIG} --libs-only-l libavformat libavcodec libavutil)"
404
405         ## backup current configuration
406         SXE_DUMP_LIBS
407         LDFLAGS="${LDFLAGS} ${FFMPEG_LDFLAGS}"
408
409         AC_CHECK_LIB([avcodec], [avcodec_find_decoder], [:], [:], [${FFMPEG_LIBS}])
410         AC_CHECK_LIB([avcodec], [avcodec_open2], [:], [:], [${FFMPEG_LIBS}])
411         AC_CHECK_LIB([avcodec], [avcodec_decode_audio4], [:], [:], [${FFMPEG_LIBS}])
412
413         AC_CHECK_LIB([avformat], [avformat_open_input], [:], [:], [${FFMPEG_LIBS}])
414         AC_CHECK_LIB([avformat], [avformat_close_input], [:], [:], [${FFMPEG_LIBS}])
415         AC_CHECK_LIB([avformat], [avformat_find_stream_info], [:], [:], [${FFMPEG_LIBS}])
416         AC_CHECK_LIB([avformat], [av_probe_input_format], [:], [:], [${FFMPEG_LIBS}])
417         AC_CHECK_LIB([avformat], [av_read_frame], [:], [:], [${FFMPEG_LIBS}])
418         AC_CHECK_LIB([avformat], [av_seek_frame], [:], [:], [${FFMPEG_LIBS}])
419         AC_CHECK_LIB([avformat], [av_register_all], [:], [:], [${FFMPEG_LIBS}])
420         AC_CHECK_LIB([avformat], [av_dump_format], [:], [:], [${FFMPEG_LIBS}])
421         AC_CHECK_LIB([avformat], [avformat_alloc_context], [:], [:], [${FFMPEG_LIBS}])
422         AC_CHECK_LIB([avformat], [avio_alloc_context], [:], [:], [${FFMPEG_LIBS}])
423         AC_CHECK_LIB([avformat], [avio_size], [:], [:], [${FFMPEG_LIBS}])
424
425         AC_CHECK_LIB([avutil], [av_dict_get], [:], [:], [${FFMPEG_LIBS}])
426
427
428         ## restore configuration
429         SXE_RESTORE_LIBS
430 ])dnl SXE_CHECK_FFMPEG_LIBS
431
432
433 dnl
434 dnl SoX
435 dnl ===
436 AC_DEFUN([SXE_MM_CHECK_SOX], [dnl
437         ## call like this SXE_MM_CHECK_SOX([<if-found>], [<if-not-found>])
438         ## arg #1: action on success
439         ## arg #2: action on failure
440         pushdef([ACTION_IF_FOUND], [$1])
441         pushdef([ACTION_IF_NOT_FOUND], [$2])
442
443         AC_CACHE_CHECK([for SoX support], [sxe_cv_feat_sox], [_SXE_CHECK_SOX])
444
445         if test "$sxe_cv_feat_sox" = "yes"; then
446                 ACTION_IF_FOUND
447                 :
448         else
449                 ACTION_IF_NOT_FOUND
450                 :
451         fi
452
453         popdef([ACTION_IF_FOUND])
454         popdef([ACTION_IF_NOT_FOUND])
455 ])dnl SXE_MM_CHECK_SOX
456
457 AC_DEFUN([_SXE_CHECK_SOX], [dnl
458         AC_REQUIRE([SXE_CHECK_SOX_LOCATIONS])
459
460         if test "$have_smelly_sox" = "yes"; then
461                 sxe_cv_feat_sox="no"
462         else
463                 SXE_CHECK_SOX_HEADERS
464                 SXE_CHECK_SOX_LIBS
465                 SXE_CHECK_SOX_STRUCTS
466
467                 if test "$ac_cv_lib_sox_sox_open_read" = "yes" -a \
468                         "$ac_cv_lib_sox_sox_close" = "yes" -a \
469                         "$ac_cv_lib_sox_sox_seek" = "yes" -a \
470                         "$ac_cv_header_sox_h" = "yes" -a \
471                         "$ac_cv_type_sox_format_t" = "yes" -a \
472                         "$ac_cv_type_struct_sox_format_t" = "yes" -a \
473                         "$sxe_cv_mm_sox_open_read_fooked" != "yes"; then
474                         sxe_cv_feat_sox="yes"
475                 else
476                         sxe_cv_feat_sox="no"
477                 fi
478                 :
479         fi
480 ])dnl _SXE_CHECK_SOX
481
482 AC_DEFUN([SXE_CHECK_SOX_LOCATIONS], [dnl
483         PKG_CHECK_MODULES([SOX], [sox >= 14.1.0], [dnl
484                 have_smelly_sox="no"
485                 sox_cppflags="$SOX_CFLAGS"
486                 sox_ldflags=
487                 sox_libs="$SOX_LIBS"], [dnl
488                 have_smelly_sox="yes"
489                 AC_MSG_WARN([Your SoX is too old or non-existant. You need >= 14.1.0])])
490 ])dnl SXE_CHECK_SOX_PLACES
491
492 AC_DEFUN([SXE_PUMP_SOX_LOCATIONS], [dnl
493         SXE_DUMP_LIBS
494         CPPFLAGS="$CPPFLAGS $sox_cppflags"
495         LDFLAGS="$LDFLAGS $sox_ldflags"
496         LIBS="$LIBS $sox_libs"
497 ])dnl SXE_PUMP_SOX_LOCATIONS
498
499 AC_DEFUN([SXE_DUMP_SOX_LOCATIONS], [dnl
500         SXE_RESTORE_LIBS
501 ])dnl SXE_DUMP_SOX_LOCATIONS
502
503 AC_DEFUN([SXE_CHECK_SOX_HEADERS], [dnl
504         AC_REQUIRE([SXE_CHECK_SOX_LOCATIONS])
505         SXE_PUMP_SOX_LOCATIONS
506         AC_CHECK_HEADERS([sox.h])
507         SXE_DUMP_SOX_LOCATIONS
508 ])dnl SXE_CHECK_SOX_HEADERS
509
510 AC_DEFUN([SXE_CHECK_SOX_LIBS], [dnl
511         AC_REQUIRE([SXE_CHECK_SOX_LOCATIONS])
512
513         echo "void cleanup(void) {}" > cleanup.c
514         $CC -c -o cleanup.o cleanup.c
515
516         SXE_PUMP_SOX_LOCATIONS
517         ## checks for the spankin' new sox
518         AC_CHECK_LIB([sox], [sox_open_read], [:], [:],
519                 [cleanup.o $sox_ldflags $sox_libs])
520         AC_CHECK_LIB([sox], [sox_close], [:], [:], [cleanup.o $sox_ldflags $sox_libs])
521         AC_CHECK_LIB([sox], [sox_read], [:], [:], [cleanup.o $sox_ldflags $sox_libs])
522         AC_CHECK_LIB([sox], [sox_seek], [:], [:], [cleanup.o $sox_ldflags $sox_libs])
523
524         SXE_DUMP_SOX_LOCATIONS
525
526         SXE_DUMP_LIBS
527         CPPFLAGS="$CPPFLAGS ${SOX_CPPFLAGS}"
528         SXE_LANG_WERROR([on])
529         SXE_MSG_CHECKING([whether sox_open_read() takes 4 arguments])
530         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
531 #if defined HAVE_ERRNO_H
532 # include <errno.h>
533 #endif
534 #if defined HAVE_SOX_H
535 # include <sox.h>
536 #endif
537                 ]], [
538                 sox_open_read("tmp", NULL, NULL, NULL);
539                 ])],
540                 [sxe_cv_mm_sox_open_read_4args="yes"],
541                 [sxe_cv_mm_sox_open_read_4args="no"])
542         SXE_MSG_RESULT([$sxe_cv_mm_sox_open_read_4args])
543
544         SXE_MSG_CHECKING([whether sox_open_read() takes 3 arguments])
545         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
546 #if defined HAVE_ERRNO_H
547 # include <errno.h>
548 #endif
549 #if defined HAVE_SOX_H
550 # include <sox.h>
551 #endif
552                 ]], [
553                 sox_open_read("tmp", NULL, NULL);
554                 ])],
555                 [sxe_cv_mm_sox_open_read_3args="yes"],
556                 [sxe_cv_mm_sox_open_read_3args="no"])
557         SXE_MSG_RESULT([$sxe_cv_mm_sox_open_read_3args])
558         SXE_RESTORE_LIBS
559
560         if test "$sxe_cv_mm_sox_open_read_3args" = "yes"; then
561                 AC_DEFINE([HAVE_SOX_OPEN_READ_3ARGS], [1],
562                         [Whether sox_open_read() takes 3 arguments.])
563                 AC_DEFINE([HAVE_SOX_OPEN_READ_NARGS], [3],
564                         [How many arguments sox_open_read() takes.])
565         elif test "$sxe_cv_mm_sox_open_read_4args" = "yes"; then
566                 AC_DEFINE([HAVE_SOX_OPEN_READ_4ARGS], [1],
567                         [Whether sox_open_read() takes 4 arguments.])
568                 AC_DEFINE([HAVE_SOX_OPEN_READ_NARGS], [4],
569                         [How many arguments sox_open_read() takes.])
570         else
571                 AC_MSG_NOTICE([
572 Very weird SoX you've got there.
573 I better disable SoX on your behalf.
574                         ])
575                 sxe_cv_mm_sox_open_read_fooked="yes"
576         fi
577
578         ## clean up our cleanup snack
579         rm -f cleanup.c cleanup.o
580 ])dnl SXE_CHECK_SOX_LIBS
581
582 AC_DEFUN([SXE_CHECK_SOX_STRUCTS], [dnl
583         ## the new structs
584         AC_CHECK_TYPES([sox_format_t], [:], [:], [
585 #ifdef HAVE_SOX_H
586 # include <sox.h>
587 #endif
588                 ])
589         AC_CHECK_TYPES([sox_ssize_t], [:], [:], [
590 #ifdef HAVE_SOX_H
591 # include <sox.h>
592 #endif
593                 ])
594         AC_CHECK_TYPES([sox_sample_t], [:], [:], [
595 #ifdef HAVE_SOX_H
596 # include <sox.h>
597 #endif
598                 ])
599         AC_CHECK_TYPES([sox_signalinfo_t], [:], [:], [
600 #if defined HAVE_SOX_H
601 # include <sox.h>
602 #endif
603                 ])
604         AC_CHECK_TYPES([struct sox_format_t], [:], [:], [
605 #ifdef HAVE_SOX_H
606 # include <sox.h>
607 #endif
608                 ])
609         AC_CHECK_MEMBERS([struct sox_format_t.signal], [:], [:], [
610 #ifdef HAVE_SOX_H
611 # include <sox.h>
612 #endif
613                 ])
614
615         AC_CHECK_MEMBERS([sox_signalinfo_t.precision], [:], [:], [
616 #ifdef HAVE_SOX_H
617 # include <sox.h>
618 #endif
619                 ])
620 ])dnl SXE_CHECK_SOX_STRUCTS
621
622 \f
623 AC_DEFUN([SXE_MM_CHECK_MAD], [
624         ## arg #1: action on success
625         ## arg #2: action on failure
626         pushdef([MM_SUCC], [$1])
627         pushdef([MM_FAIL], [$2])
628
629         AC_MSG_CHECKING([for mad support])
630         AC_MSG_RESULT([])
631
632         MM_SUCC
633         SXE_CHECK_HEADERS([mad.h], [:], [MM_FAIL])
634         AC_CHECK_LIB([mad], [mad_synth_init], [:], [MM_FAIL])
635         AC_CHECK_LIB([mad], [mad_stream_init], [:], [MM_FAIL])
636         AC_CHECK_LIB([mad], [mad_frame_init], [:], [MM_FAIL])
637         AC_CHECK_LIB([mad], [mad_synth_frame], [:], [MM_FAIL])
638         AC_CHECK_LIB([mad], [mad_stream_buffer], [:], [MM_FAIL])
639         AC_CHECK_LIB([mad], [mad_frame_decode], [:], [MM_FAIL])
640
641         popdef([MM_SUCC])
642         popdef([MM_FAIL])
643 ])dnl SXE_MM_CHECK_MAD
644
645 AC_DEFUN([SXE_MM_CHECK_MAGIC], [
646         ## assumes $PKG_CONFIG is defined
647         ## arg #1: action on success
648         ## arg #2: action on failure
649         pushdef([MM_SUCC], [$1])
650         pushdef([MM_FAIL], [$2])
651
652         AC_MSG_CHECKING([for libmagic/file support])
653         AC_MSG_RESULT([])
654
655         SXE_DUMP_LIBS
656         MM_SUCC
657         AC_CHECK_LIB([magic], [magic_open], [:], [MM_FAIL])
658         SXE_CHECK_HEADERS([magic.h], [:], [MM_FAIL])
659         SXE_CHECK_HEADERS([file.h])
660         SXE_RESTORE_LIBS
661
662         popdef([MM_SUCC])
663         popdef([MM_FAIL])
664 ])dnl SXE_MM_CHECK_MAGIC
665
666
667 AC_DEFUN([SXE_MM_CHECK_OSS], [
668         ## arg #1: action on success
669         ## arg #2: action on failure
670         pushdef([MM_SUCC], [$1])
671         pushdef([MM_FAIL], [$2])
672
673         AC_MSG_CHECKING([for OSS support])
674         AC_MSG_RESULT([])
675
676         SXE_DUMP_LIBS
677         MM_FAIL
678         SXE_CHECK_HEADERS([machine/soundcard.h sys/soundcard.h linux/soundcard.h soundcard.h])
679         if test "$ac_cv_header_linux_soundcard_h"="yes" -o      \
680                 "$ac_cv_header_machine_soundcard_h"="yes" -o    \
681                 "$ac_cv_header_soundcard_h"="yes" -o            \
682                 "$ac_cv_header_sys_soundcard_h"="yes"
683         then
684                 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
685 #if defined HAVE_MACHINE_SOUNDCARD_H && HAVE_MACHINE_SOUNDCARD_H
686 #include <machine/soundcard.h>
687 #elif defined HAVE_SYS_SOUNDCARD_H && HAVE_SYS_SOUNDCARD_H
688 #include <sys/soundcard.h>
689 #elif defined HAVE_LINUX_SOUNDCARD_H && HAVE_LINUX_SOUNDCARD_H
690 #include <linux/soundcard.h>
691 #else
692 #include <soundcard.h>
693 #endif
694 ]],
695                 [[ ioctl(0, SNDCTL_DSP_RESET, 0); ]])],
696                         [oss_ioctl_linked=yes],
697                         [oss_ioctl_linked=no])
698                 if test "${oss_ioctl_linked}" = "no"
699                 then
700                         if test "${opsys}" = "netbsd"
701                         then
702                                 AC_CHECK_LIB([ossaudio],[_oss_ioctl],
703                                         [
704                                                 # netbsd needs this Linux OSS emulator library, just a ioctl
705                                                 # wrapper really
706                                                 MM_SUCC
707                                                 SXE_PREPEND([-lossaudio], [MM_LIBS])
708                                         ])
709                         fi
710                 else
711                         MM_SUCC
712                 fi
713         fi
714         SXE_RESTORE_LIBS
715
716         popdef([MM_SUCC])
717         popdef([MM_FAIL])
718 ])dnl SXE_MM_CHECK_OSS
719
720 AC_DEFUN([SXE_MM_CHECK_PULSE], [
721         ## assumes $PKG_CONFIG is defined
722         ## arg #1: action on success
723         ## arg #2: action on failure
724
725         PKG_CHECK_MODULES([PULSE], [libpulse >= 2.0.0], [$1], [$2])
726 ])dnl SXE_MM_CHECK_PULSE
727
728 AC_DEFUN([SXE_MM_CHECK_JACK], [
729         ## assumes $PKG_CONFIG is defined
730         ## arg #1: action on success
731         ## arg #2: action on failure
732
733         _SXE_MM_CHECK_pkgconfig_based([jack], [jack], [0.98.0], [dnl
734                 jack_client_open jack_get_ports jack_port_register dnl
735                 jack_set_process_callback jack_set_error_function dnl
736                 jack_on_shutdown jack_activate jack_connect jack_disconnect dnl
737                 jack_client_close jack_port_get_buffer], [jack/jack.h], [$1], [$2])
738 ])dnl SXE_MM_CHECK_JACK
739
740 AC_DEFUN([SXE_MM_CHECK_AO], [
741         ## assumes $PKG_CONFIG is defined
742         ## arg #1: action on success
743         ## arg #2: action on failure
744
745         _SXE_MM_CHECK_pkgconfig_based([ao], [ao], [0.6], [dnl
746                 ao_initialize ao_driver_id ao_default_driver_id dnl
747                 ao_open_live ao_close ao_shutdown ao_play], [ao/ao.h], [$1], [$2])
748 ])dnl SXE_MM_CHECK_AO
749
750 AC_DEFUN([SXE_MM_CHECK_ESD], [
751         ## arg #1: action on success
752         ## arg #2: action on failure
753         SXE_SEARCH_CONFIG_PROG([esd-config])
754
755         pushdef([MM_SUCC], [$1])
756         pushdef([MM_FAIL], [$2])
757
758         AC_MSG_CHECKING([for ESD support])
759         AC_MSG_RESULT([])
760
761         if test "$have_esd_config" = "no" -o -z "$ESD_CONFIG"; then
762                 AS_MESSAGE([*** esd-config not found.])
763                 AS_MESSAGE([*** Cannot check for ESD.])
764                 have_esd_config=no
765                 ESD_CONFIG=
766                 MM_FAIL
767         fi
768
769         if test "$have_esd_config" = "yes"; then
770                 SXE_DUMP_LIBS
771                 ESD_CPPFLAGS="`$ESD_CONFIG --cflags`"
772                 ESD_LDFLAGS="-L`$ESD_CONFIG --libs`"
773                 dnl SXE_APPEND_UNDUP([$esd_c_switch], [c_switch_site])
774                 dnl SXE_PREPEND([$esd_libs], [LIBS])
775                 CPPFLAGS="$CPPFLAGS $ESD_CPPFLAGS"
776                 LDFLAGS="$LDFLAGS $ESD_LDFLAGS"
777
778                 MM_SUCC
779                 SXE_CHECK_HEADERS([esd.h], [:], [MM_FAIL])
780                 AC_CHECK_LIB([esd], [esd_play_stream], [:], [MM_FAIL], [$esd_libs])
781
782                 ## restore anything
783                 SXE_RESTORE_LIBS
784         fi
785
786         popdef([MM_SUCC])
787         popdef([MM_FAIL])
788 ])dnl SXE_MM_CHECK_ESD
789
790 AC_DEFUN([SXE_MM_CHECK_ALSA], [
791         ## call like this SXE_MM_CHECK_ALSA([<if-found>], [<if-not-found>])
792         ## defines HAVE_ALSA, HAVE_ALSA_SOUND
793         ## and sxe_cv_feat_alsa
794         pushdef([ACTION_IF_FOUND], [$1])
795         pushdef([ACTION_IF_NOT_FOUND], [$2])
796
797         AC_CACHE_CHECK([for ALSA support],
798                 [sxe_cv_feat_alsa], [_SXE_MM_CHECK_ALSA])
799
800         if test "$sxe_cv_feat_alsa" = "yes"; then
801                 AC_DEFINE([HAVE_ALSA], [1],
802                         [Whether ALSA can be used as sound device])
803                 AC_DEFINE([HAVE_ALSA_SOUND], [1],
804                         [Whether ALSA can be used as sound device])
805                 ACTION_IF_FOUND
806                 :
807         else
808                 ACTION_IF_NOT_FOUND
809                 :
810         fi
811         popdef([ACTION_IF_FOUND])
812         popdef([ACTION_IF_NOT_FOUND])
813 ])dnl SXE_MM_CHECK_ALSA
814
815 AC_DEFUN([_SXE_MM_CHECK_ALSA], [dnl
816
817         AC_REQUIRE([SXE_CHECK_ALSA_HEADERS])
818         AC_REQUIRE([SXE_CHECK_ALSA_VERSION])
819         AC_REQUIRE([SXE_CHECK_ALSA_LIBS])
820
821         if test "$ac_cv_header_alsa_input_h" = "yes" -a \
822                 "$ac_cv_header_alsa_output_h" = "yes" -a \
823                 "$ac_cv_header_alsa_global_h" = "yes" -a \
824                 "$ac_cv_header_alsa_conf_h" = "yes" -a \
825                 "$ac_cv_header_alsa_pcm_h" = "yes" -a \
826                 "$ac_cv_header_alsa_error_h" = "yes" -a \
827                 \
828                 "$sxe_mm_alsa_version_supported_p" = "yes" -a \
829                 \
830                 "$ac_cv_lib_asound_snd_pcm_close" = "yes" -a \
831                 "$ac_cv_lib_asound_snd_pcm_hw_free" = "yes" -a \
832                 "$ac_cv_lib_asound_snd_pcm_hw_params_any" = "yes" -a \
833                 "$ac_cv_lib_asound_snd_pcm_hw_params_free" = "yes" -a \
834                 "$ac_cv_lib_asound_snd_pcm_hw_params_set_access" = "yes" -a \
835                 "$ac_cv_lib_asound_snd_pcm_hw_params_set_channels" = "yes" -a \
836                 "$ac_cv_lib_asound_snd_pcm_hw_params_set_format" = "yes" -a \
837                 "$ac_cv_lib_asound_snd_pcm_hw_params_set_rate_near" = "yes" -a \
838                 "$ac_cv_lib_asound_snd_pcm_hw_params_test_channels" = "yes" -a \
839                 "$ac_cv_lib_asound_snd_pcm_hw_params_test_format" = "yes" -a \
840                 "$ac_cv_lib_asound_snd_pcm_open" = "yes" -a \
841                 "$ac_cv_lib_asound_snd_pcm_prepare" = "yes" -a \
842                 "$ac_cv_lib_asound_snd_pcm_writei" = "yes"; then
843                 sxe_cv_feat_alsa="yes"
844         else
845                 sxe_cv_feat_alsa="no"
846         fi
847 ])dnl _SXE_MM_CHECK_ALSA
848
849 AC_DEFUN([SXE_CHECK_ALSA_HEADERS], [dnl
850         ## dump the current configuration
851         SXE_DUMP_LIBS
852         SXE_LANG_WERROR([off])
853         SXE_CHECK_HEADERS([alsa/input.h alsa/output.h alsa/global.h])
854         SXE_CHECK_HEADERS([alsa/conf.h], [:], [:], [[
855 #include <stdlib.h>
856 #include <stdio.h>
857 #if defined HAVE_ALSA_INPUT_H
858 # include <alsa/input.h>
859 #endif
860 #if defined HAVE_ALSA_OUTPUT_H
861 # include <alsa/output.h>
862 #endif
863 #if defined HAVE_ALSA_GLOBAL_H
864 # include <alsa/global.h>
865 #endif
866 ]])
867         SXE_CHECK_HEADERS([alsa/pcm.h alsa/error.h alsa/version.h], [:], [:], [[
868 #include <stdlib.h>
869 #include <stdio.h>
870 #if defined HAVE_ALSA_INPUT_H
871 # include <alsa/input.h>
872 #endif
873 #if defined HAVE_ALSA_OUTPUT_H
874 # include <alsa/output.h>
875 #endif
876 #if defined HAVE_ALSA_GLOBAL_H
877 # include <alsa/global.h>
878 #endif
879 #if defined HAVE_ALSA_CONF_H
880 # include <alsa/conf.h>
881 #endif
882 ]])
883         ## restor everything
884         SXE_RESTORE_LIBS
885 ])dnl SXE_CHECK_ALSA_HEADERS
886
887 AC_DEFUN([SXE_CHECK_ALSA_VERSION], [dnl
888         AC_REQUIRE([SXE_CHECK_ALSA_HEADERS])
889
890         ## dump the configuration
891         SXE_DUMP_LIBS
892         SXE_LANG_WERROR([off])
893         AC_MSG_CHECKING([for alsa version])
894
895         AC_RUN_IFELSE([AC_LANG_SOURCE([[
896 #include <stdlib.h>
897 #include <stdio.h>
898 #if defined HAVE_ALSA_INPUT_H
899 # include <alsa/input.h>
900 #endif
901 #if defined HAVE_ALSA_OUTPUT_H
902 # include <alsa/output.h>
903 #endif
904 #if defined HAVE_ALSA_GLOBAL_H
905 # include <alsa/global.h>
906 #endif
907 #if defined HAVE_ALSA_CONF_H
908 # include <alsa/conf.h>
909 #endif
910 #if defined HAVE_ALSA_PCM_H
911 # include <alsa/pcm.h>
912 #endif
913 #if defined HAVE_ALSA_ERROR_H
914 # include <alsa/error.h>
915 #endif
916 #if defined HAVE_ALSA_CONF_H
917 # include <alsa/version.h>
918 #endif
919
920 int main(int c, char *v[])
921 {
922         fprintf(stdout, SND_LIB_VERSION_STR);
923         return 0;
924 }]])], dnl [./conftest; alsa_subminor=$?],[alsa_subminor=$?],[alsa_subminor=0]
925         [sxe_mm_alsa_version=$(./conftest)],
926         [:], [sxe_mm_alsa_version="undeterminable"])
927
928         case "${sxe_mm_alsa_version}" in
929         0.*.* | 1.0.3* | 1.0.9* )
930                 AC_MSG_RESULT([${sxe_mm_alsa_version} (known to break)])
931                 AC_MSG_WARN([Your ALSA version is _KNOWN_ to fail! Do not say we have not warned you!])
932                 sxe_mm_alsa_version_supported_p="no"
933                 ;;
934         1.0.2 | 1.0.4* | 1.0.5* | 1.0.6* | 1.0.7* | 1.0.8* )
935                 AC_MSG_RESULT([${sxe_mm_alsa_version} (suspicious to break)])
936                 AC_MSG_WARN([Your ALSA version has not been tested. Do not be surprised if it fails!])
937                 sxe_mm_alsa_version_supported_p="no"
938                 ;;
939         1.0.10* | 1.0.11* | 1.0.12* | 1.0.13* | 1.0.14* | 1.0.15* | 1.0.16* )
940                 AC_MSG_RESULT([${sxe_mm_alsa_version} (sane)])
941                 sxe_mm_alsa_version_supported_p="yes"
942                 ;;
943         1.* )
944                 AC_MSG_RESULT([${sxe_mm_alsa_version} (unknown)])
945                 AC_MSG_NOTICE([Your ALSA version is unknown, however we are confident that it works.])
946                 AC_MSG_NOTICE([However, if we screwed up something, please report back!])
947                 sxe_mm_alsa_version_supported_p="yes"
948                 ;;
949         * )
950                 AC_MSG_RESULT([${sxe_mm_alsa_version} (unknown)])
951                 AC_MSG_WARN([Your ALSA version is unknown hence not supported!])
952                 sxe_mm_alsa_version_supported_p="no"
953                 ;;
954         esac
955
956         ## restore everything
957         SXE_RESTORE_LIBS
958 ])dnl SXE_CHECK_ALSA_VERSION
959
960 AC_DEFUN([SXE_CHECK_ALSA_LIBS], [dnl
961         ## dump the current configuration
962         SXE_DUMP_LIBS
963
964         AC_CHECK_LIB([asound], [snd_pcm_open], [:], [:])
965         AC_CHECK_LIB([asound], [snd_pcm_close], [:], [:])
966         AC_CHECK_LIB([asound], [snd_pcm_hw_free], [:], [:])
967         AC_CHECK_LIB([asound], [snd_pcm_hw_params_any], [:], [:])
968         AC_CHECK_LIB([asound], [snd_pcm_hw_params_set_access], [:], [:])
969         AC_CHECK_LIB([asound], [snd_pcm_hw_params_free], [:], [:])
970         AC_CHECK_LIB([asound], [snd_pcm_hw_params_test_channels], [:], [:])
971         AC_CHECK_LIB([asound], [snd_pcm_hw_params_test_format], [:], [:])
972         AC_CHECK_LIB([asound], [snd_pcm_hw_params_set_channels], [:], [:])
973         AC_CHECK_LIB([asound], [snd_pcm_hw_params_set_format], [:], [:])
974         AC_CHECK_LIB([asound], [snd_pcm_hw_params_set_rate_near], [:], [:])
975         AC_CHECK_LIB([asound], [snd_pcm_prepare], [:], [:])
976         AC_CHECK_LIB([asound], [snd_pcm_writei], [:], [:])
977
978         ## restore everything
979         SXE_RESTORE_LIBS
980 ])dnl SXE_CHECK_ALSA_LIBS
981
982
983
984 AC_DEFUN([SXE_MM_CHECK_NAS], [
985         ## arg #1: action on success
986         ## arg #2: action on failure
987         pushdef([MM_SUCC], [$1])
988         pushdef([MM_FAIL], [$2])
989
990         AC_MSG_CHECKING([for NAS support])
991         AC_MSG_RESULT([])
992
993         SXE_DUMP_LIBS
994
995         MM_SUCC
996         ## NAS is often stored inside the X hierarchy, so ...
997         CPPFLAGS="$CPPFLAGS $X_CFLAGS"
998         LDFLAGS="$LDFLAGS $X_LIBS"
999         SXE_CHECK_HEADERS([audio/audiolib.h], [:], [MM_FAIL])
1000         AC_CHECK_LIB([audio], [AuOpenServer], [:], [MM_FAIL])
1001         AC_CHECK_LIB([audio], [AuCloseServer], [:], [MM_FAIL])
1002         AC_CHECK_LIB([audio], [AuCreateFlow], [:], [MM_FAIL])
1003         AC_CHECK_LIB([audio], [AuStartFlow], [:], [MM_FAIL])
1004         AC_CHECK_LIB([audio], [AuStopFlow], [:], [MM_FAIL])
1005         AC_CHECK_LIB([audio], [AuScanForTypedEvent], [:], [MM_FAIL])
1006         AC_CHECK_LIB([audio], [AuDispatchEvent], [:], [MM_FAIL])
1007         AC_CHECK_LIB([audio], [AuSetErrorHandler], [:], [MM_FAIL])
1008         AC_CHECK_LIB([audio], [AuSetIOErrorHandler], [:], [MM_FAIL])
1009         AC_CHECK_LIB([audio], [AuWriteElement], [:], [MM_FAIL])
1010         AC_CHECK_LIB([audio], [AuSetElements], [:], [MM_FAIL])
1011         AC_CHECK_LIB([audio], [AuRegisterEventHandler], [:], [MM_FAIL])
1012         AC_CHECK_LIB([audio], [AuSetElementParameters], [:], [MM_FAIL])
1013
1014         dnl If the nas library does not contain the error jump point,
1015         dnl then we force safer behavior.
1016         AC_EGREP_HEADER([AuXtErrorJump], [audio/Xtutil.h], [], [old_nas=yes])
1017         if test "$old_nas" = "yes"; then
1018                 AC_DEFINE([NAS_NO_ERROR_JUMP], [1], [Description here!])
1019         fi
1020
1021         ## restore anything
1022         SXE_RESTORE_LIBS
1023
1024         popdef([MM_SUCC])
1025         popdef([MM_FAIL])
1026 ])dnl SXE_MM_CHECK_NAS
1027
1028 dnl sxe-mm.m4 ends here