configure.in 4.33 KB
Newer Older
Ed "oddsock" Zaleski's avatar
Ed "oddsock" Zaleski committed
1
AC_INIT([Icecast], [2.3.0.rc3], [icecast@xiph.org])
2

3
AC_PREREQ(2.54)
4
AC_CONFIG_SRCDIR(src/main.c)
5
dnl Process this file with autoconf to produce a configure script.
Jack Moffitt's avatar
Jack Moffitt committed
6

7
AM_INIT_AUTOMAKE
8
AM_CONFIG_HEADER(config.h)
9
AM_MAINTAINER_MODE
Jack Moffitt's avatar
Jack Moffitt committed
10
11
12

AC_PROG_CC
AC_CANONICAL_HOST
Karl Heyes's avatar
Karl Heyes committed
13
AC_PROG_LIBTOOL
Jack Moffitt's avatar
Jack Moffitt committed
14
15
16

dnl Set some options based on environment

17
DEBUG="-g"
Jack Moffitt's avatar
Jack Moffitt committed
18
if test -z "$GCC"; then
19
    XIPH_CPPFLAGS="-D_REENTRANT"
20
    case $host in 
Jack Moffitt's avatar
Jack Moffitt committed
21
        *-*-irix*)
22
                XIPH_CPPFLAGS="$XIPH_CPPFLAGS -w -signed"
Jack Moffitt's avatar
Jack Moffitt committed
23
                PROFILE="-p -g3 -O2 -signed -D_REENTRANT"
24
                ;;
Jack Moffitt's avatar
Jack Moffitt committed
25
        *-*-solaris*)
26
27
28
                XIPH_CFLAGS="-xO4 -xcg92"
                XIPH_CPPFLAGS="$XIPH_CPPFLAGS -v -w -fsimple -fast"
                PROFILE="-xpg -g -Dsuncc"
29
                ;;
Jack Moffitt's avatar
Jack Moffitt committed
30
        *)
31
32
                XIPH_CFLAGS="-O"
                PROFILE="-g -p"
33
34
                ;;
    esac
brendan's avatar
brendan committed
35
36
37
38
39
40
41
42

    case "$host" in
        *openbsd* | *irix*)
        ;;
        *) AC_DEFINE([_XOPEN_SOURCE], 600, [Define if you have POSIX and XPG specifications])
        ;;
    esac

Jack Moffitt's avatar
Jack Moffitt committed
43
else
44
45
    XIPH_CPPFLAGS="-Wall -ffast-math -fsigned-char"
    PROFILE="-pg -g"
brendan's avatar
brendan committed
46
    AC_DEFINE([_GNU_SOURCE], 1, [Define to include GNU extensions to POSIX])
Jack Moffitt's avatar
Jack Moffitt committed
47
48
49
50
51
52
53
54
55
fi

dnl Checks for programs.

dnl Checks for libraries.

dnl Checks for header files.
AC_HEADER_STDC

brendan's avatar
brendan committed
56
AC_CHECK_HEADERS([alloca.h])
57
58
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(CHUID, 1, [Define if you have pwd.h]),,)
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(CHROOT, 1, [Define if you have unistd.h]),,)
59

Jack Moffitt's avatar
Jack Moffitt committed
60
61
62
63
64
dnl Checks for typedefs, structures, and compiler characteristics.

dnl Check for types

dnl Checks for library functions.
65
66
67
AC_CHECK_FUNCS(localtime_r poll)
AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP, 1,
    [Define if you have nanosleep]))
68
XIPH_NET
Jack Moffitt's avatar
Jack Moffitt committed
69
70
71

dnl -- configure options --

72
73
74
XIPH_PATH_XSLT
XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$XSLT_CFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS],[$XSLT_LIBS])
75

76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
XIPH_PATH_VORBIS([
    XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$VORBIS_CFLAGS])
    XIPH_VAR_PREPEND([XIPH_LIBS],[$VORBIS_LIBS])
    XIPH_VAR_APPEND([XIPH_LDFLAGS],[$VORBIS_LDFLAGS])
    ICECAST_OPTIONAL="$ICECAST_OPTIONAL format_vorbis.o"
    ],
    [AC_MSG_ERROR([must have Ogg Vorbis v1.0 or above installed])
    ])

XIPH_PATH_THEORA([
    XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$THEORA_CFLAGS])
    XIPH_VAR_APPEND([XIPH_LDFLAGS],[$THEORA_LDFLAGS])
    XIPH_VAR_PREPEND([XIPH_LIBS],[$THEORA_LIBS])
    ICECAST_OPTIONAL="$ICECAST_OPTIONAL format_theora.o"
    ],
    [ AC_MSG_WARN([Theora disabled!])
    ])
Jack Moffitt's avatar
Jack Moffitt committed
93

94
95
96
97
98
99
100
101
102
XIPH_PATH_SPEEX(
    [ XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$SPEEX_CFLAGS])
    XIPH_VAR_PREPEND([XIPH_LIBS],[$SPEEX_LIBS])
    XIPH_VAR_APPEND([XIPH_LDFLAGS],[$SPEEX_LDFLAGS])
    ICECAST_OPTIONAL="$ICECAST_OPTIONAL format_speex.o"
    ],
    [ AC_MSG_WARN([Speex support disabled!])
    ])

brendan's avatar
brendan committed
103
ACX_PTHREAD(, AC_MSG_ERROR([POSIX threads missing]))
104
105
106
XIPH_VAR_APPEND([XIPH_CFLAGS],[$PTHREAD_CFLAGS])
XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$PTHREAD_CPPFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS],[$PTHREAD_LIBS])
brendan's avatar
brendan committed
107

108
XIPH_PATH_CURL([
109
    AC_CHECK_DECL([CURLOPT_NOSIGNAL],
Karl Heyes's avatar
Karl Heyes committed
110
111
112
        [ AC_DEFINE([HAVE_AUTH_URL], 1, [Define to compile in auth URL support code])
        ICECAST_OPTIONAL="$ICECAST_OPTIONAL auth_url.o"
        enable_curl="yes"
113
114
        XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$CURL_CFLAGS])
        XIPH_VAR_PREPEND([XIPH_LIBS],[$CURL_LIBS])
115
        ], [ AC_MSG_NOTICE([Your curl dev files are too old (7.10 or above required)])
116
117
        ], [#include <curl/curl.h>
        ])
Karl Heyes's avatar
Karl Heyes committed
118
    ],[ AC_MSG_NOTICE([libcurl not found])
119
    ])
Karl Heyes's avatar
Karl Heyes committed
120
121
122
123
124
125
126
127
128
dnl -- YP support --
AC_ARG_ENABLE([yp],
        AC_HELP_STRING([--disable-yp],[disable YP directory support]),
        enable_yp="$enableval",
        enable_yp="yes")
if test "x$enable_yp" = "xyes" -a "x$enable_curl" = xyes
then
    AC_DEFINE([USE_YP], 1, [Define to compile in YP support code])
    ICECAST_OPTIONAL="$ICECAST_OPTIONAL yp.o"
129
130
else
    AC_MSG_NOTICE([YP support disabled])
brendan's avatar
brendan committed
131
fi
Jack Moffitt's avatar
Jack Moffitt committed
132
133
134

dnl Make substitutions

135
136
137
AC_SUBST(XIPH_CPPFLAGS)
AC_SUBST(XIPH_CFLAGS)
AC_SUBST(XIPH_LIBS)
138
AC_SUBST(XIPH_LDFLAGS)
139
140
141
AC_SUBST(PTHREAD_CPPFLAGS)
AC_SUBST(PTHREAD_CFLAGS)
AC_SUBST(PTHREAD_LIBS)
Jack Moffitt's avatar
Jack Moffitt committed
142
143
144
145
146
AC_SUBST(LIBTOOL_DEPS)
AC_SUBST(LIBS)
AC_SUBST(DEBUG)
AC_SUBST(CFLAGS)
AC_SUBST(PROFILE)
147
AC_SUBST(ICECAST_OPTIONAL)
Jack Moffitt's avatar
Jack Moffitt committed
148

keegan's avatar
keegan committed
149
AC_OUTPUT([Makefile conf/Makefile debian/Makefile src/Makefile src/avl/Makefile
150
151
152
src/httpp/Makefile src/thread/Makefile src/log/Makefile
src/net/Makefile src/timing/Makefile doc/Makefile web/Makefile
admin/Makefile win32/Makefile win32/res/Makefile])