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=8 LIBGTOP_MICRO_VERSION=1 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=4 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 AC_DEFINE(GLIBTOP_NAMES) 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" 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.0.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 #include #include #include ]) 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 #include #include ], [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 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_NAMES_LIBS="$LIBGTOP_LIBS" LIBGTOP_LIBS="$LIBGTOP_LIBS" LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS" LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES" 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 -DGLIBTOP_NAMES -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_NAMES_LIBS) AC_SUBST(LIBGTOP_NAMES_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/names/Makefile sysdeps/stub/Makefile sysdeps/stub_suid/Makefile sysdeps/sun4/Makefile sysdeps/osf1/Makefile sysdeps/linux/Makefile sysdeps/kernel/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 ])