File: configure.ac

package info (click to toggle)
cdcd 0.6.5-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,024 kB
  • ctags: 439
  • sloc: ansic: 4,841; sh: 3,059; makefile: 58
file content (109 lines) | stat: -rw-r--r-- 3,282 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
AC_INIT(cdcd.c)

MAJOR_VERSION=0
MINOR_VERSION=6
MICRO_VERSION=5

PACKAGE=cdcd
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION

AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AM_CONFIG_HEADER(config.h)

dnl Checks for programs.
AC_PROG_AWK
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_CPP
AM_C_PROTOTYPES
AC_CANONICAL_HOST

EXTRA_CFLAGS=''

dnl Checks for libraries.
dnl TODO: use the macro included in libcdaudio.m4.

AC_CHECK_LIB(curses, tputs,,
             [AC_MSG_ERROR([cannot find the curses library.
Check the INSTALL file, maybe you can find how to solve the problem.])])
LIBS="-lcurses"
AC_CHECK_LIB(readline, rl_completion_matches,,
             [AC_MSG_ERROR([cannot find GNU libreadline 4.2 or higher.
Check the INSTALL file, maybe you can find how to solve the problem.])],
	     -lcurses)
LIBS="-lcurses -lreadline"

# It's better to have this string in one single place.
LIBCDAUDIO_MISSING="couldn't locate libcdaudio.  Check the INSTALL file, maybe you can find how to solve the problem."
define(HAVE_LIBCDAUDIO_DEF, [Define to 1 if we must provide -llibcdaudio.])
define(HAVE_CDAUDIO_DEF, [Define to 1 if we must provide -lcdaudio.])
define(DEFAULT_DEVICE_DEF, [Default CDROM device.])

case "$host_os" in
  irix*) 
    AC_DEFINE([DEFAULT_DEVICE], "/dev/unspecified", DEFAULT_DEVICE_DEF)
    AC_CHECK_LIB(libcdaudio, cd_init_device,
	[LIBS="$LIBS -llibcdaudio -lcdaudio -lmediad -lds"],
	[AC_MSG_ERROR([$LIBCDAUDIO_MISSING])])
    AC_DEFINE([HAVE_LIBCDAUDIO], 1, HAVE_LIBCDAUDIO_DEF)
    ;;

  *bsd*)
    AC_DEFINE([DEFAULT_DEVICE], "/dev/wcd0a", DEFAULT_DEVICE_DEF)
    AC_DEFINE([HAVE_CDAUDIO], 1, HAVE_CDAUDIO_DEF)
    LIBS="$LIBS -L$ac_default_prefix/lib -lcdaudio"
    EXTRA_CFLAGS="-I$ac_default_prefix/include"
    ;;

  *linux*)
    AC_DEFINE([DEFAULT_DEVICE], "/dev/cdrom", DEFAULT_DEVICE_DEF)
    AC_CHECK_LIB(cdaudio, cd_init_device,
	[LIBS="$LIBS -lcdaudio"],
	[AC_MSG_ERROR([$LIBCDAUDIO_MISSING])])
    AC_DEFINE([HAVE_CDAUDIO], 1, HAVE_CDAUDIO_DEF)
    ;;

  *solaris*)
    AC_DEFINE([DEFAULT_DEVICE], "/dev/c0t1d0s0", DEFAULT_DEVICE_DEF)
    AC_DEFINE([HAVE_CDAUDIO], 1, HAVE_CDAUDIO_DEF)
    LIBS="$LIBS -lcdaudio"
    ;;
esac

AC_CHECK_FUNC([vasprintf],
[AC_DEFINE([HAVE_VASPRINTF], 1,
[Define if the C library provides the `vasprintf' function.])],
[AC_MSG_NOTICE([The C library on this system doesn't have a `vasprintf'])
AC_MSG_NOTICE([function.  Falling back to Glib's `g_strdup_vprintf'.])
AM_PATH_GLIB([1.1.12],,
[AC_MSG_ERROR([Your system lacks both `vasprintf' and Glib >= 1.1.12.
cdcd needs either one of them to run.
Please install Glib version 1.1.12 or higher first.])])])

AC_SUBST(EXTRA_CFLAGS)

dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([string.h strings.h alloca.h])
AC_CHECK_HEADERS([errno.h locale.h malloc.h stdlib.h \
readline/readline.h readline/history.h sys/socket.h unistd.h],, \
[AC_MSG_ERROR([missing header file.])])

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T

dnl Checks for library functions.
AC_FUNC_MALLOC
AC_TYPE_SIGNAL
AC_FUNC_STAT
AC_CHECK_FUNCS([setlocale strcasecmp strchr strdup strncasecmp strstr \
strtol],, [AC_MSG_ERROR([missing function.])])

AC_OUTPUT([Makefile doc/Makefile])

dnl
dnl Local Variables:
dnl mode: shell-script
dnl End: