configure.in 5.83 KB
Newer Older
Jack Moffitt's avatar
Jack Moffitt committed
1 2
dnl Process this file with autoconf to produce a configure script.
AC_INIT(src/main.c)
brendan's avatar
brendan committed
3
AC_PREREQ(2.50)
Jack Moffitt's avatar
Jack Moffitt committed
4

5
AM_INIT_AUTOMAKE(icecast,2.0-alpha-2)
Jack Moffitt's avatar
Jack Moffitt committed
6 7 8 9 10 11 12

AC_PROG_CC
AC_CANONICAL_HOST
AM_PROG_LIBTOOL

dnl Set some options based on environment

Jack Moffitt's avatar
Jack Moffitt committed
13 14
SOCKET_LIBS=

15
AC_DEFINE(_XOPEN_SOURCE, 500, [Define if you have POSIX and XPG specifications])
Jack Moffitt's avatar
Jack Moffitt committed
16 17 18
if test -z "$GCC"; then
        case $host in 
        *-*-irix*)
Jack Moffitt's avatar
Jack Moffitt committed
19 20 21
                DEBUG="-g -signed -D_REENTRANT" 
                CFLAGS="-O2 -w -signed -D_REENTRANT"
                PROFILE="-p -g3 -O2 -signed -D_REENTRANT"
Jack Moffitt's avatar
Jack Moffitt committed
22
		;;
Jack Moffitt's avatar
Jack Moffitt committed
23
        *-*-solaris*)
24 25 26
                DEBUG="-v -g -D_REENTRANT"
                CFLAGS="-xO4 -fast -w -fsimple -native -xcg92 -D_REENTRANT"
                PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc -D_REENTRANT"
Jack Moffitt's avatar
Jack Moffitt committed
27
		SOCKET_LIBS="-lnsl -lsocket -lresolv"
Jack Moffitt's avatar
Jack Moffitt committed
28 29
		;;
        *)
Jack Moffitt's avatar
Jack Moffitt committed
30 31 32
                DEBUG="-g -D_REENTRANT"
                CFLAGS="-O -D_REENTRANT"
                PROFILE="-g -p -D_REENTRANT"
Jack Moffitt's avatar
Jack Moffitt committed
33 34 35 36 37 38 39 40
		;;
        esac
else
        case $host in 
        *-*-linux*)
                DEBUG="-g -Wall -fsigned-char -D_REENTRANT -D_GNU_SOURCE"
                CFLAGS="-O20 -ffast-math -fsigned-char -D_REENTRANT -D_GNU_SOURCE"
                PROFILE="-Wall -W -pg -g -O20 -ffast-math -fsigned-char -D_REENTRANT -D_GNU_SOURCE"
41
        		LIBS=" $LIBS -lpthread"
Jack Moffitt's avatar
Jack Moffitt committed
42
		;;
43
        sparc-sun-solaris*)
44 45 46
                DEBUG="-g -Wall -fsigned-char -mv8 -D_REENTRANT"
                CFLAGS="-O20 -ffast-math -fsigned-char -mv8 -D_REENTRANT"
                PROFILE="-pg -g -O20 -fsigned-char -mv8 -D_REENTRANT" 
47 48
		        SOCKET_LIBS="-lnsl -lsocket -lresolv"
        		LIBS=" $LIBS -lpthread"
Jack Moffitt's avatar
Jack Moffitt committed
49
		;;
50 51 52 53
	*-pc-solaris*)
                DEBUG="-g -Wall -fsigned-char -D_REENTRANT"
                CFLAGS="-O20 -ffast-math -fsigned-char -D_REENTRANT"
                PROFILE="-pg -g -O20 -fsigned-char -D_REENTRANT" 
54 55 56 57 58 59 60 61 62
		        SOCKET_LIBS="-lnsl -lsocket -lresolv"
        		LIBS=" $LIBS -lpthread"
		;;
        *freebsd*)
                DEBUG="-g -Wall -fsigned-char -D_REENTRANT"
                CFLAGS="-O20 -fsigned-char -D_REENTRANT"
                PROFILE="-O20 -g -pg -fsigned-char -D_REENTRANT" 
        		LIBS=" $LIBS -pthread"
		ogg_prefix="/usr/local"
brendan's avatar
Typo  
brendan committed
63
		vorbis_prefix="/usr/local"
64
		;;
Jack Moffitt's avatar
Jack Moffitt committed
65
        *)
Jack Moffitt's avatar
Jack Moffitt committed
66 67 68
                DEBUG="-g -Wall -fsigned-char -D_REENTRANT"
                CFLAGS="-O20 -fsigned-char -D_REENTRANT"
                PROFILE="-O20 -g -pg -fsigned-char -D_REENTRANT" 
69
		        LIBS=" $LIBS -lpthread"
Jack Moffitt's avatar
Jack Moffitt committed
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
		;;
        esac
fi

dnl Checks for programs.

dnl Checks for libraries.

dnl IPV6
AC_SEARCH_LIBS(inet_pton, socket, AC_DEFINE(HAVE_IPV6, 1, [Define if you have IPV6 support]))
AC_SEARCH_LIBS(getipnodebyname, nsl,
  AC_DEFINE(HAVE_GETIPNODEBYNAME, 1, 
  [Define if you have the getipnodebyname function])
)

dnl Checks for header files.
AC_HEADER_STDC

88 89 90
AC_CHECK_HEADER(stdint.h, AC_DEFINE(HAVE_STDINT_H, 1, [Define if you have stdint.h]),,)
AC_CHECK_HEADER(pwd.h, AC_DEFINE(CHUID, 1, [Define if you have pwd.h]),,)
AC_CHECK_HEADER(unistd.h, AC_DEFINE(CHROOT, 1, [Define if you have unistd.h]),,)
91
AC_CHECK_HEADER(sys/uio.h, AC_DEFINE(HAVE_SYS_UIO_H, 1, [Define if you have sys/uio.h]),,)
92

Jack Moffitt's avatar
Jack Moffitt committed
93 94 95 96
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST

dnl Check for types
97
AC_CHECK_TYPE([socklen_t], int)
Jack Moffitt's avatar
Jack Moffitt committed
98 99

dnl Checks for library functions.
Michael Smith's avatar
Michael Smith committed
100
AC_CHECK_FUNCS(nanosleep)
101
AC_CHECK_FUNCS(poll)
Michael Smith's avatar
Michael Smith committed
102 103
AC_CHECK_FUNCS(sethostent endhostent)
AC_CHECK_FUNCS(getnameinfo getaddrinfo inet_pton)
Jack Moffitt's avatar
Jack Moffitt committed
104 105 106

dnl -- configure options --

107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
AC_ARG_WITH(xslt-config,
  [ --with-xslt-config=PATH  use xslt-config in PATH to find libxslt ],
  [if ! test -x "$with_xslt_config"
   then
     AC_MSG_ERROR([$with_xslt_config cannot be executed])
   fi
   XSLTCONFIG="$with_xslt_config"]
)
if test -z "$XSLTCONFIG"
then
  AC_CHECK_PROGS(XSLTCONFIG, [xslt-config])
fi
if test -n "$XSLTCONFIG"
then
  XSLT_LIBS="`$XSLTCONFIG --libs`"
  XSLT_CFLAGS="`$XSLTCONFIG --cflags`"
  save_LIBS="$LIBS"
  save_CFLAGS="$CFLAGS"
  LIBS="$LIBS $XSLT_LIBS"
  CFLAGS="$CFLAGS $XSLT_CFLAGS"
  AC_CHECK_FUNC(xsltParseStylesheetFile,, [AC_MSG_ERROR([There was a problem linking with libxslt])])
  LIBS="$save_LIBS"
  CFLAGS="$save_CFLAGS"
  save_LIBS=
  save_CFLAGS=
else
  AC_MSG_ERROR([xslt-config could not be found])
fi

Jack Moffitt's avatar
Jack Moffitt committed
136 137 138 139 140 141 142 143 144 145 146 147 148 149
AC_ARG_WITH(xml-config,
  [  --with-xml-config=PATH  use xml-config in PATH to find libxml ],
  [if ! test -x "$with_xml_config"
   then
     AC_MSG_ERROR([$with_xml_config cannot be executed])
   fi
   XMLCONFIG="$with_xml_config"]
)
if test -z "$XMLCONFIG"
then
  AC_CHECK_PROGS(XMLCONFIG, [xml2-config xml-config])
fi
if test -n "$XMLCONFIG"
then
Jack Moffitt's avatar
Jack Moffitt committed
150
  XML_LIBS="`$XMLCONFIG --libs`"
Jack Moffitt's avatar
Jack Moffitt committed
151
  XML_CFLAGS="`$XMLCONFIG --cflags`"
152
  save_LIBS="$LIBS"
Jack Moffitt's avatar
Jack Moffitt committed
153
  save_CFLAGS="$CFLAGS"
154
  LIBS="$LIBS $XML_LIBS"
Jack Moffitt's avatar
Jack Moffitt committed
155
  CFLAGS="$CFLAGS $XML_CFLAGS"
Jack Moffitt's avatar
Jack Moffitt committed
156
  AC_CHECK_FUNC(xmlParseFile,, [AC_MSG_ERROR([There was a problem linking with libxml])])
157
  LIBS="$save_LIBS"
Jack Moffitt's avatar
Jack Moffitt committed
158
  CFLAGS="$save_CFLAGS"
159
  save_LIBS=
Jack Moffitt's avatar
Jack Moffitt committed
160
  save_CFLAGS=
Jack Moffitt's avatar
Jack Moffitt committed
161 162 163 164
else
  AC_MSG_ERROR([xml-config could not be found])
fi

165 166
AM_PATH_OGG(, AC_MSG_ERROR(must have Ogg installed!(Perhaps you need --with-ogg-prefix=/usr/local)))
AM_PATH_VORBIS(, AC_MSG_ERROR(must have Vorbis installed!(Perhaps you need --with-vorbis-prefix=/usr/local)))
167 168 169
AM_PATH_CURL(
  [ICECAST_OBJECTS="$ICECAST_OBJECTS geturl.o yp.o"],
  [AC_MSG_NOTICE([libcurl not found, YP disabled])])
170
ACX_PTHREAD(, AC_MSG_ERROR(POSIX threads missing))
Jack Moffitt's avatar
Jack Moffitt committed
171 172 173

dnl Make substitutions

174
AC_SUBST(XSLT_CFLAGS)
Jack Moffitt's avatar
Jack Moffitt committed
175 176 177
AC_SUBST(XML_CFLAGS)
AC_SUBST(OGG_CFLAGS)
AC_SUBST(VORBIS_CFLAGS)
178
AC_SUBST(XSLT_LIBS)
Jack Moffitt's avatar
Jack Moffitt committed
179 180 181 182
AC_SUBST(XML_LIBS)
AC_SUBST(OGG_LIBS)
AC_SUBST(VORBIS_LIBS)
AC_SUBST(SOCKET_LIBS)
Jack Moffitt's avatar
Jack Moffitt committed
183 184 185 186 187 188
AC_SUBST(LIBTOOL_DEPS)
AC_SUBST(OPT)
AC_SUBST(LIBS)
AC_SUBST(DEBUG)
AC_SUBST(CFLAGS)
AC_SUBST(PROFILE)
189
AC_SUBST(XIPH_CFLAGS)
190
AC_SUBST(ICECAST_OBJECTS)
Jack Moffitt's avatar
Jack Moffitt committed
191

Michael Smith's avatar
Michael Smith committed
192
AC_OUTPUT(Makefile conf/Makefile src/Makefile src/avl/Makefile src/httpp/Makefile src/thread/Makefile src/log/Makefile src/net/Makefile src/timing/Makefile doc/Makefile web/Makefile win32/Makefile win32/res/Makefile)