AC_PREREQ(2.60)
-AC_INIT(paraslash, [0.2.16], maan@systemlinux.org)
+AC_INIT(paraslash, [git], maan@systemlinux.org)
AC_CONFIG_HEADER([config.h])
AC_PATH_PROG(UNAMEPATH, uname, no)
AC_PROG_CPP
AC_PROG_INSTALL
+
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS([arpa/inet.h ctype.h fcntl.h limits.h netdb.h netinet/in.h stdlib.h \
- string.h sys/socket.h sys/time.h sys/timeb.h sys/un.h sys/ipc.h unistd.h utime.h], \
+AC_CHECK_HEADERS([arpa/inet.h ctype.h fcntl.h limits.h netdb.h netinet/in.h \
+ stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h sys/un.h \
+ sys/ipc.h unistd.h utime.h stddef.h],
[], [AC_MSG_ERROR([$ac_header not found])])
AC_CHECK_HEADER(linux/soundcard.h, [extras="$extras para_fade"],
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
+AC_C_INLINE
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
+AC_TYPE_INT16_T
+AC_TYPE_MODE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UID_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT8_T
# Checks for library functions.
AC_FUNC_FORK
AC_FUNC_STAT
AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([atexit dup2 gethostbyname inet_ntoa memchr memmove memset \
- regcomp select socket strchr strdup strerror strstr strtol uname], [],
- [AC_MSG_ERROR([function not found, cannot live without it])])
-########################################################################### curses
-AC_CHECK_LIB([ncurses], [initscr], [],
- [AC_MSG_ERROR([libncurses not found])])
-
-AC_CHECK_LIB([menu], [new_menu], [extras="$extras para_dbadm"],
- [AC_MSG_WARN([libmenu not found, cannot build para_dbadm])])
+AC_FUNC_CLOSEDIR_VOID
+AC_FUNC_LSTAT
+AC_CHECK_FUNCS([atexit dup2 memchr memmove memset \
+ regcomp select strchr strdup strerror strstr strtol uname \
+ fchdir gettimeofday localtime_r munmap strcasecmp strcspn \
+ strncasecmp strrchr strspn alarm], [],
+ [AC_MSG_ERROR([function not found, cannot live without it])])
recv_cmdline_objs="recv.cmdline http_recv.cmdline dccp_recv.cmdline"
recv_errlist_objs="http_recv recv_common recv time string net dccp_recv
audioc_cmdline_objs="audioc.cmdline"
audioc_errlist_objs="audioc string net fd"
+audioc_ldflags=""
audiod_cmdline_objs="audiod.cmdline grab_client.cmdline compress_filter.cmdline
http_recv.cmdline dccp_recv.cmdline file_write.cmdline client.cmdline
audiod_audio_formats=""
server_cmdline_objs="server.cmdline server_command_list random_selector_command_list
- playlist_selector_command_list"
+ playlist_selector_command_list afs_command_list"
server_errlist_objs="server mp3_afh vss command net string signal random_selector
- time daemon stat crypt http_send afs close_on_fork playlist_selector
- ipc dccp dccp_send fd user_list"
+ time daemon stat crypt http_send afs_common close_on_fork playlist_selector
+ ipc dccp dccp_send fd user_list chunk_queue afs osl aft mood score attribute
+ blob playlist sha1 rbtree sched"
server_ldflags=""
server_audio_formats=" mp3"
client_errlist_objs="client net string crypt fd sched stdin stdout client_common"
client_ldflags=""
+fsck_cmdline_objs="fsck.cmdline"
+fsck_errlist_objs="osl rbtree fsck string sha1 fd"
+
+
########################################################################### ssl
dnl @synopsis CHECK_SSL
dnl
if test -f "$ssldir/include/openssl/ssl.h"; then
found_ssl="yes"
AC_MSG_RESULT(yes)
- SSL_CFLAGS="-I$ssldir/include/openssl"
- SSL_CPPFLAGS="-I$ssldir/include/openssl"
- break
- fi
- if test -f "$ssldir/include/ssl.h"; then
- found_ssl="yes";
- AC_MSG_RESULT(yes)
- SSL_CFLAGS="-I$ssldir/include/";
- SSL_CPPFLAGS="-I$ssldir/include/";
+ SSL_CFLAGS="-I$ssldir/include"
+ SSL_CPPFLAGS="-I$ssldir/include"
break
fi
AC_MSG_RESULT(no)
server_ldflags="$srver_ldflags $SSL_LDFLAGS $SSL_LIBS"
client_ldflags="$client_ldflags $SSL_LDFLAGS $SSL_LIBS"
audiod_ldflags="$audiod_ldflags $SSL_LDFLAGS $SSL_LIBS"
-
+fsck_ldflags="$fsck_ldflags $SSL_LDFLAGS $SSL_LIBS"
+
+########################################################################### libsocket
+AC_CHECK_LIB([c], [socket],
+ [socket_lib=],
+ [socket_lib="-lsocket"]
+)
+server_ldflags="$server_ldflags $socket_lib"
+client_ldflags="$client_ldflags $socket_lib"
+audioc_ldflags="$audioc_ldflags $socket_lib"
+recv_ldflags="$recv_ldflags $socket_lib"
+########################################################################### libnsl
+AC_CHECK_LIB([c], [gethostbyname],
+ [nsl_lib=],
+ [nsl_lib="-lnsl"]
+)
+server_ldflags="$server_ldflags $nsl_lib"
+client_ldflags="$client_ldflags $nsl_lib"
+audioc_ldflags="$audioc_ldflags $nsl_lib"
+recv_ldflags="$recv_ldflags $nsl_lib"
########################################################################### ucred
AC_MSG_CHECKING(for struct ucred)
AC_TRY_LINK([
AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
fi
+########################################################################### curses
+have_ncurses="yes"
+OLD_CPPFLAGS="$CPPFLAGS"
+OLD_LD_FLAGS="$LDFLAGS"
+OLD_LIBS="$LIBS"
+AC_ARG_WITH(ncurses_headers, [AC_HELP_STRING(--with-ncurses-headers=dir,
+ [look for ncurses.h also in dir])])
+if test -n "$with_ncurses_headers"; then
+ ncurses_cppflags="-I$with_ncurses_headers"
+ CPPFLAGS="$CPPFLAGS $ncurses_cppflags"
+fi
+AC_ARG_WITH(ncurses_libs, [AC_HELP_STRING(--with-ncurses-libs=dir,
+ [look for libncurses also in dir])])
+if test -n "$with_ncurses_libs"; then
+ ncurses_libs="-L$with_ncurses_libs"
+ LDFLAGS="$LDFLAGS $ncurses_libs"
+fi
+AC_CHECK_HEADER(curses.h, [], [
+ have_ncurses="no"
+])
+AC_CHECK_LIB([ncurses], [initscr], [], [
+ have_ncurses="no"
+])
+if test "$have_ncurses" = "yes"; then
+ AC_SUBST(ncurses_cppflags)
+ AC_SUBST(ncurses_libs)
+ AC_DEFINE(HAVE_NCURSES, 1, [define to 1 to turn on ncurses support])
+ extras="$extras para_gui"
+else
+ AC_MSG_WARN([cannot build para_gui])
+fi
+CPPFLAGS="$OLD_CPPFLAGS"
+LDFLAGS="$OLD_LDFLAGS"
+LIBS="$OLD_LIBS"
########################################################################### osx
AC_MSG_CHECKING(for CoreAudio (MacOs))
server_objs="$server_cmdline_objs $server_errlist_objs"
write_objs="$write_cmdline_objs $write_errlist_objs"
client_objs="$client_cmdline_objs $client_errlist_objs"
+fsck_objs="$fsck_cmdline_objs $fsck_errlist_objs"
audioc_objs="$audioc_cmdline_objs $audioc_errlist_objs"
AC_SUBST(recv_objs, add_dot_o($recv_objs))
AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS,
objlist_to_errlist($client_errlist_objs), errors used by para_client)
+AC_SUBST(fsck_objs, add_dot_o($fsck_objs))
+AC_SUBST(fsck_ldflags, $fsck_ldflags)
+AC_DEFINE_UNQUOTED(INIT_FSCK_ERRLISTS,
+ objlist_to_errlist($fsck_errlist_objs), errors used by para_fsck)
+
AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
+AC_SUBST(audioc_ldflags, $audioc_ldflags)
AC_DEFINE_UNQUOTED(INIT_AUDIOC_ERRLISTS,
objlist_to_errlist($audioc_errlist_objs), errors used by para_audioc)