406 lines
11 KiB
Plaintext
406 lines
11 KiB
Plaintext
dnl
|
|
dnl Configure script for the Gnome library
|
|
dnl
|
|
|
|
AC_INIT(copyright.txt)
|
|
AM_CONFIG_HEADER(config.h)
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
LIBGTOP_MAJOR_VERSION=2
|
|
LIBGTOP_MINOR_VERSION=9
|
|
LIBGTOP_MICRO_VERSION=93
|
|
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
|
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
|
|
|
|
dnl increment if the interface has additions, changes, removals.
|
|
LIBGTOP_CURRENT=5
|
|
|
|
dnl increment any time the source changes; set to
|
|
dnl 0 if you increment CURRENT
|
|
LIBGTOP_REVISION=0
|
|
|
|
dnl increment if any interfaces have been added; set to 0
|
|
dnl if any interfaces have been removed. removal has
|
|
dnl precedence over adding, so set to 0 if both happened.
|
|
LIBGTOP_AGE=0
|
|
|
|
# you can set this to `-snap' for instance to create
|
|
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
|
LIBGTOP_VERSION_SUFFIX=
|
|
|
|
# Increase each time you change the client/server protocol.
|
|
LIBGTOP_SERVER_VERSION=5
|
|
|
|
# Version code calculation
|
|
LIBGTOP_VERSION_CODE=`expr $LIBGTOP_MAJOR_VERSION \* 1000000 + $LIBGTOP_MINOR_VERSION \* 1000 + $LIBGTOP_MICRO_VERSION`
|
|
|
|
AC_SUBST(LIBGTOP_MAJOR_VERSION)
|
|
AC_SUBST(LIBGTOP_MINOR_VERSION)
|
|
AC_SUBST(LIBGTOP_MICRO_VERSION)
|
|
AC_SUBST(LIBGTOP_INTERFACE_AGE)
|
|
AC_SUBST(LIBGTOP_BINARY_AGE)
|
|
AC_SUBST(LIBGTOP_SERVER_VERSION)
|
|
AC_SUBST(LIBGTOP_VERSION)
|
|
AC_SUBST(LIBGTOP_VERSION_CODE)
|
|
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
|
|
|
|
# libtool versioning
|
|
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
|
|
LT_CURRENT=$LIBGTOP_CURRENT
|
|
LT_REVISION=$LIBGTOP_REVISION
|
|
LT_AGE=$LIBGTOP_AGE
|
|
LT_VERSION_INFO="-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}"
|
|
AC_SUBST(LT_VERSION_INFO)
|
|
AC_SUBST(LT_RELEASE)
|
|
AC_SUBST(LT_CURRENT)
|
|
AC_SUBST(LT_REVISION)
|
|
AC_SUBST(LT_AGE)
|
|
|
|
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
|
|
|
|
AC_ISC_POSIX
|
|
AC_PROG_CC
|
|
AC_STDC_HEADERS
|
|
dnl AC_ARG_PROGRAM
|
|
|
|
dnl We need this at some places.
|
|
libgtop_top_builddir=`pwd`
|
|
AC_SUBST(libgtop_top_builddir)
|
|
|
|
dnl We don't use `AC_PROG_AWK' since it checks for mawk first which
|
|
dnl does not work for libgtop.
|
|
AC_CHECK_PROGS(AWK, gawk awk, )
|
|
test -z "$AWK" && AC_MSG_ERROR([Sorry, you need a working awk interpreter.])
|
|
|
|
dnl Most people should have a working perl interpreter on their system
|
|
AC_CHECK_PROGS(PERL, perl5 perl)
|
|
test -z "$PERL" && AC_MSG_ERROR([You need to have a working perl interpreter.])
|
|
|
|
AC_CHECK_TOOL(CC,gcc)
|
|
AC_CHECK_TOOL(RANLIB,ranlib)
|
|
AC_CHECK_TOOL(AS,as)
|
|
AC_CHECK_TOOL(AR,ar)
|
|
|
|
export CC CXX RANLIB LD AS AR
|
|
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_PROG_MAKE_SET
|
|
|
|
export cross_compiling
|
|
|
|
AM_PROG_LIBTOOL
|
|
|
|
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
|
|
|
GNOME_LIBGTOP_SYSDEPS
|
|
GNOME_LIBGTOP_TYPES
|
|
|
|
AC_ARG_WITH(libgtop-inodedb,
|
|
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
|
|
[build_inodedb="$withval"], [build_inodedb=no])
|
|
|
|
LIBGTOP_EXTRA_LIBS=
|
|
|
|
if test x$build_inodedb = xyes ; then
|
|
AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no)
|
|
fi
|
|
|
|
AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes)
|
|
|
|
if test x$build_inodedb = xyes ; then
|
|
AC_DEFINE(GLIBTOP_INODEDB)
|
|
fi
|
|
|
|
|
|
if test x$libgtop_smp = xyes ; then
|
|
smp_examples='smp'
|
|
smp_static_examples='smp_static'
|
|
else
|
|
smp_examples=
|
|
smp_static_examples=
|
|
fi
|
|
|
|
if test "x$enable_static" != xno; then
|
|
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $smp_static_examples pprint_static procargs_static df_static netlist netlist_static openfiles_static"
|
|
else
|
|
static_targets=""
|
|
fi
|
|
|
|
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
|
|
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
|
|
|
|
AC_SUBST(static_targets)
|
|
AC_SUBST(smp_examples)
|
|
|
|
GLIB_REQUIRED=2.6.0
|
|
|
|
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
|
AC_SUBST(GLIB_CFLAGS)
|
|
AC_SUBST(GLIB_LIBS)
|
|
|
|
AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no])
|
|
AC_MSG_CHECKING(for popt.h)
|
|
if test x$POPT = xyes ; then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_ERROR([libgtop requires the popt development libraries])
|
|
fi
|
|
|
|
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
|
|
if test x$HAVE_IFADDRS_H = xyes ; then
|
|
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
|
|
fi
|
|
|
|
dnl 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_STRUCT_ST_RDEV
|
|
AC_HEADER_TIME
|
|
AC_STRUCT_TM
|
|
AC_TYPE_UID_T
|
|
|
|
dnl For SunOS
|
|
AC_CHECK_TYPE(ssize_t, int)
|
|
AC_CHECK_HEADERS(memory.h)
|
|
AC_CHECK_HEADERS(string.h strings.h, break)
|
|
AC_REPLACE_FUNCS(strerror)
|
|
|
|
dnl dlopen() and dlsym()
|
|
DL_LIB=
|
|
AC_CHECK_FUNCS(dlopen,,[
|
|
AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
|
|
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
|
|
AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
|
|
])
|
|
])
|
|
])
|
|
oLIBS="$LIBS"
|
|
LIBS="$LIBS $DL_LIB"
|
|
AC_CHECK_FUNCS(dlerror,,)
|
|
LIBS="$oLIBS"
|
|
AC_SUBST(DL_LIB)
|
|
|
|
dnl Linux
|
|
AC_CHECK_HEADER(linux/isdn.h,[HAVE_ISDN_H=yes],[HAVE_ISDN_H=no])
|
|
if test x$HAVE_ISDN_H = xyes ; then
|
|
AC_DEFINE(HAVE_ISDN_H, 1, [defined if you have linux/isdn.h])
|
|
fi
|
|
|
|
dnl AIX
|
|
AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the 'vmgetinfo' function in libperfstat])
|
|
AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO))
|
|
|
|
dnl Solaris
|
|
AC_CHECK_LIB(kstat, kstat_open)
|
|
AC_CHECK_FUNCS(getloadavg swapctl)
|
|
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
|
|
|
|
dnl Some versions of Solaris require -lelf for -lkvm
|
|
AC_CHECK_LIB(kvm, kvm_open,[
|
|
LIBS="-lkvm $LIBS"
|
|
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
|
|
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
|
|
[ac_save_LIBS="$LIBS"
|
|
LIBS="-lkvm -lelf $LIBS"
|
|
AC_TRY_LINK([char kvm_open();], [kvm_open()],
|
|
ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no)
|
|
LIBS="$ac_save_LIBS"
|
|
])
|
|
if test "$ac_cv_lib_kvm_with_elf" = "yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
LIBS="-lkvm -lelf $LIBS"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
])
|
|
|
|
dnl For DEC OSF1
|
|
AC_CHECK_LIB(mach, vm_statistics)
|
|
|
|
dnl For some broken libc5 systems (Debian 1.3)
|
|
saved_CFLAGS=$CFLAGS
|
|
CFLAGS="$CFLAGS -D_GNU_SOURCE"
|
|
GCC_NEED_DECLARATION(program_invocation_name, [
|
|
#include <errno.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
])
|
|
|
|
CFLAGS=$saved_CFLAGS
|
|
|
|
AC_CHECK_FUNC(socket,
|
|
[AC_CHECK_HEADER(netinet/in.h,
|
|
[AC_CHECK_HEADER(arpa/inet.h, [
|
|
AC_DEFINE(HAVE_SOCKETS)
|
|
AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
|
|
AC_TRY_LINK([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/un.h>
|
|
],
|
|
[static struct sockaddr_un x; x.sun_len = 1;],
|
|
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
|
|
[AC_MSG_RESULT(no)])])])])
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_ALLOCA
|
|
AC_FUNC_MMAP
|
|
AC_TYPE_SIGNAL
|
|
AC_FUNC_STRFTIME
|
|
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
|
|
|
ALL_LINGUAS="am ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id it ja ko lt lv mi mk ml mn ms nb ne nl nn no or pa pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta tr uk vi zh_CN zh_TW"
|
|
|
|
GETTEXT_PACKAGE=libgtop-2.0
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
|
|
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
AC_PATH_XTRA
|
|
|
|
dnl For Solaris
|
|
dnl Please don't move this before AC_PATH_XTRA
|
|
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
|
|
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
|
|
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
|
|
|
|
dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
|
|
dnl So we use the following instead.
|
|
dnl XE_SPACE(var, words)
|
|
define([XE_SPACE],[
|
|
T=""
|
|
for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
|
|
$1="$T"
|
|
])dnl
|
|
|
|
dnl Autodetect Xauth
|
|
dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
|
|
saved_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
|
test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
|
|
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
|
|
test -z "$with_xauth" && with_xauth=yes
|
|
if test "$with_xauth" = "yes"; then
|
|
AC_DEFINE(HAVE_XAUTH)
|
|
XE_SPACE(libs_xauth, $X_LIBS -lXau)
|
|
fi
|
|
CPPFLAGS="$saved_CPPFLAGS"
|
|
AC_SUBST(libs_xauth)
|
|
|
|
dnl For diskusage stuff
|
|
GNOME_FILEUTILS_CHECKS
|
|
|
|
dnl Debugging
|
|
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
|
|
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
|
|
|
|
dnl These definitions are expanded in make.
|
|
LIBGTOP_LIBS='-L$(libdir)'
|
|
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
|
|
|
|
if test x$libgtop_use_machine_h = xyes ; then
|
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
|
|
fi
|
|
|
|
if test x$build_inodedb = xyes ; then
|
|
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
|
|
fi
|
|
|
|
if test x$libgtop_smp = xyes ; then
|
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
|
|
fi
|
|
|
|
if test x$libgtop_have_sysinfo = xyes ; then
|
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
|
fi
|
|
|
|
LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS"
|
|
|
|
LIBGTOP_BINDIR='$(bindir)'
|
|
LIBGTOP_SERVER='$(bindir)/libgtop_server2'
|
|
|
|
sysdeps_dir="$libgtop_sysdeps_dir"
|
|
AC_SUBST(sysdeps_dir)
|
|
|
|
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
|
|
LIBGTOP_EXTRA_LIBS="$libs_xauth"
|
|
else
|
|
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
|
|
fi
|
|
|
|
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
|
|
|
|
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
|
|
|
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
|
|
|
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
|
|
|
|
AC_SUBST(machine_incs)
|
|
|
|
if test "$GCC" = "yes" ; then
|
|
CFLAGS="\
|
|
-Winline \
|
|
-Wall \
|
|
-std=gnu89 \
|
|
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
|
-Wnested-externs -Wpointer-arith \
|
|
-Wcast-align -Wsign-compare \
|
|
-fno-strict-aliasing \
|
|
$CFLAGS"
|
|
fi
|
|
|
|
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $CFLAGS $X_CFLAGS "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
|
|
|
|
AC_SUBST(INCLUDES)
|
|
|
|
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
|
AC_SUBST(GLIB_LIBS)
|
|
AC_SUBST(LIBGTOP_LIBS)
|
|
AC_SUBST(LIBGTOP_INCS)
|
|
AC_SUBST(LIBGTOP_BINDIR)
|
|
AC_SUBST(LIBGTOP_SERVER)
|
|
|
|
if test x$libgtop_need_server = xyes ; then
|
|
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
|
|
server_programs='libgtop_server2'
|
|
else
|
|
sysdeps_suid_lib=
|
|
server_programs=
|
|
fi
|
|
AC_SUBST(sysdeps_suid_lib)
|
|
AC_SUBST(server_programs)
|
|
|
|
AC_OUTPUT([
|
|
Makefile
|
|
libgtop.spec
|
|
po/Makefile.in
|
|
misc/Makefile
|
|
include/Makefile
|
|
include/glibtop/Makefile
|
|
sysdeps/Makefile
|
|
sysdeps/common/Makefile
|
|
sysdeps/stub/Makefile
|
|
sysdeps/stub_suid/Makefile
|
|
sysdeps/sun4/Makefile
|
|
sysdeps/osf1/Makefile
|
|
sysdeps/linux/Makefile
|
|
sysdeps/freebsd/Makefile
|
|
sysdeps/solaris/Makefile
|
|
sysdeps/aix/Makefile
|
|
src/Makefile
|
|
src/daemon/Makefile
|
|
src/inodedb/Makefile
|
|
lib/Makefile
|
|
examples/Makefile
|
|
doc/Makefile
|
|
libgtop-2.0.pc
|
|
libgtopconfig.h
|
|
])
|