summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorRobert Roth <robert.roth.off@gmail.com>2014-08-20 05:25:50 +0300
committerRobert Roth <robert.roth.off@gmail.com>2014-08-20 05:25:50 +0300
commited1b3f5834d51c1b874f2109dfa1b985361e36bf (patch)
tree6cf0986d5d2b53d54fea74241801b1f1dc0b4bb6 /configure.ac
parent7a3414d00233be4248b11a473a9b9529311352e8 (diff)
downloadlibgtop-ed1b3f5834d51c1b874f2109dfa1b985361e36bf.tar.gz
Use configure.ac instead of configure.in
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac400
1 files changed, 400 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 00000000..bc6f88f2
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,400 @@
+dnl
+dnl Configure script for the Gnome library
+dnl
+
+m4_define([libgtop_major_version], [2])
+m4_define([libgtop_minor_version], [28])
+m4_define([libgtop_micro_version], [6])
+m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
+
+dnl increment if the interface has additions, changes, removals.
+m4_define([libgtop_current], [10])
+
+dnl increment any time the source changes; set to
+dnl 0 if you increment CURRENT
+m4_define([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.
+m4_define([libgtop_age], [0])
+
+# Increase each time you change the client/server protocol.
+m4_define([libgtop_server_version], [5])
+
+# Version code calculation
+m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
+
+AC_PREREQ(2.62)
+AC_INIT([libgtop], [libgtop_version],
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
+AC_CONFIG_SRCDIR(copyright.txt)
+AC_CONFIG_HEADERS(config.h)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz])
+AC_CONFIG_MACRO_DIR([m4])
+GOBJECT_INTROSPECTION_CHECK([0.6.7])
+
+AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
+
+AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
+AC_SUBST(LIBGTOP_MINOR_VERSION, [libgtop_minor_version])
+AC_SUBST(LIBGTOP_MICRO_VERSION, [libgtop_micro_version])
+AC_SUBST(LIBGTOP_SERVER_VERSION, [libgtop_server_version])
+AC_SUBST(LIBGTOP_VERSION, [libgtop_version])
+AC_SUBST(LIBGTOP_VERSION_CODE, [libgtop_version_code])
+
+# libtool versioning
+AC_SUBST(LT_VERSION_INFO,
+ ["-version-info libgtop_current:libgtop_revision:libgtop_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
+
+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(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
+AC_CHECK_LIB(perfstat, vmgetinfo,
+ AC_DEFINE(HAVE_VMGETINFO, 1,
+ [Define to 1 if you have the 'vmgetinfo' function in libperfstat]))
+
+dnl Solaris
+case "$host_os" in
+ 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
+ case $host_os in
+ solaris[[8-9]] | solaris2.[[0-9]].*)
+ 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
+ ])
+ ;;
+ esac
+ ;;
+esac
+
+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, 1, [Define if BSD sockets are supported])
+ 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, 1, [Define if struct sockaddr_un has a sun_len member])],
+ [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)
+
+IT_PROG_INTLTOOL([0.35.0])
+
+GETTEXT_PACKAGE=libgtop-2.0
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
+ [Define to the gettext package used by the library])
+
+AM_GLIB_GNU_GETTEXT
+GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
+
+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, 1, [Define if Xauth is supported])
+ 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,
+ AS_HELP_STRING([--enable-debug],
+ [Turn on debugging @<:@default=no@:>@]),
+ AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]))
+AC_ARG_ENABLE(fatal-warnings,
+ AS_HELP_STRING([--enable-fatal-warnings],
+ [Make all warnings fatal @<:@debug=no@:>@]),
+ AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1,
+ [Define to enable 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$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_save_prefix="$prefix"
+libgtop_save_exec_prefix="$exec_prefix"
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+LIBGTOP_BINDIR=`eval echo "${bindir}"`
+LIBGTOP_SERVER=`eval echo "${bindir}/libgtop_server2"`
+prefix="$libgtop_save_prefix"
+exec_prefix="$libgtop_save_exec_prefix"
+
+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="$GLIB_LIBS $LIBGTOP_EXTRA_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 \
+ $CFLAGS"
+fi
+
+INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
+
+# Add various defines to the config.h file ...
+AH_VERBATIM([_GNU_SOURCE],
+[/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif])
+AC_DEFINE([_IN_LIBGTOP], 1,
+ [Note that we are building libgtop rather than using it])
+AC_DEFINE([LIBGTOP_VERSION], ["libgtop_version"],
+ [The libgtop version number])
+AC_DEFINE([LIBGTOP_SERVER_VERSION], ["libgtop_server_version"],
+ [The libgtop server version])
+AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
+ [The libgtop version number as an integer])
+AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
+ [The path to the 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)
+
+GTK_DOC_CHECK(1.4)
+
+AC_CONFIG_FILES([
+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
+sysdeps/bsd/Makefile
+sysdeps/darwin/Makefile
+sysdeps/cygwin/Makefile
+sysdeps/openbsd/Makefile
+src/Makefile
+src/daemon/Makefile
+lib/Makefile
+examples/Makefile
+doc/Makefile
+doc/reference/Makefile
+doc/reference/version.xml
+libgtop-2.0.pc
+libgtopconfig.h
+])
+
+AC_OUTPUT