Mercurial > pidgin
view finch/libgnt/configure.ac @ 21583:21cbdaf265f6
This fixes the problem where all accounts are disabled due to connection
errors, which leaves you with no enabled accounts, and therefore the
buddy list flips into "Welcome to Pidgin!" mode, thereby hiding all the
connection error mini dialogs. I'm amazed I haven't heard any noise about
this problem.
I attempted to fix up PidginScrollBook, and got part way there, but
gtk_container_get_children now doesn't return any kids. I suspect this is
due to the child widgets we care about already being children of the
notebook. I don't know nearly enough gtk to be sure if this is good or not.
There are still some buglets in how/when the buddy list notebook page is
selected, and I have a feeling some of the gtkblist.c changes could be
improved, but I believe this is more usable than before.
This took far too much time.
References #3989
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sun, 18 Nov 2007 21:03:29 +0000 |
parents | 382392c529cc |
children | 1b342bc8c154 |
line wrap: on
line source
dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.50]) # UPDATING VERSION NUMBERS FOR RELEASES # # gnt_micro_version += 1 # # If any functions have been added to libgnt: # gnt_micro_version = 0 # gnt_minor_version += 1 # gnt_lt_current += 1 # # If backwards compatibility has been broken in libgnt: # gnt_micro_version = 0 # gnt_minor_version = 0 # gnt_major_version += 1; # gnt_lt_current += 1 # # gnt_version_suffix should be similar to one of the following: # For beta releases: [beta2] # For code under development: [devel] # For production releases: [] # # Make sure to update ../../configure.ac with libgnt version changes. # m4_define([gnt_lt_current], [2]) m4_define([gnt_major_version], [2]) m4_define([gnt_minor_version], [2]) m4_define([gnt_micro_version], [0]) m4_define([gnt_version_suffix], [devel]) m4_define([gnt_version], [gnt_major_version.gnt_minor_version.gnt_micro_version]) m4_define([gnt_display_version], gnt_version[]m4_ifdef([gnt_version_suffix],[gnt_version_suffix])) AC_INIT([libgnt], [gnt_display_version], [devel@pidgin.im]) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) AC_CONFIG_AUX_DIR([.]) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) GNT_MAJOR_VERSION=gnt_major_version GNT_MINOR_VERSION=gnt_minor_version GNT_MICRO_VERSION=gnt_micro_version GNT_VERSION=[gnt_display_version] AC_SUBST(GNT_MAJOR_VERSION) AC_SUBST(GNT_MINOR_VERSION) AC_SUBST(GNT_MICRO_VERSION) AC_SUBST(GNT_VERSION) GNT_LT_VERSION_INFO="gnt_lt_current:gnt_micro_version:gnt_minor_version" AC_SUBST(GNT_LT_VERSION_INFO) AC_PATH_PROG(sedpath, sed) dnl Storing configure arguments AC_DEFINE_UNQUOTED(CONFIG_ARGS, "$ac_configure_args", [configure arguments]) dnl Checks for programs. AC_PROG_CC AC_DISABLE_STATIC AM_PROG_LIBTOOL LIBTOOL="$LIBTOOL --silent" AC_PROG_INSTALL dnl we don't use autobreak on cygwin!! dnl AC_CYGWIN dnl Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(arpa/nameser_compat.h fcntl.h sys/time.h unistd.h locale.h signal.h stdint.h regex.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_STRUCT_TM AC_C_BIGENDIAN dnl Checks for library functions. AC_TYPE_SIGNAL AC_FUNC_STRFTIME AC_CHECK_FUNCS(strdup strstr atexit setlocale) dnl to prevent the g_stat()/g_unlink() crash, dnl (09:50:07) Robot101: LSchiere2: it's easy. +LC_SYS_LARGEFILE somewhere in configure.ac AC_SYS_LARGEFILE dnl FreeBSD doesn't have libdl, dlopen is provided by libc AC_CHECK_FUNC(dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")]) AC_MSG_CHECKING(for the %z format string in strftime()) AC_TRY_RUN([ #ifdef HAVE_SYS_TIME_H #include <sys/time.h> #endif #include <time.h> #include <stdio.h> int main() { char buf[6]; time_t t = time(NULL); if (strftime(buf, sizeof(buf), "%z", localtime(&t)) != 5) return 1; fprintf(stderr, "strftime(\"%%z\") yields: \"%s\"\n", buf); return !((buf[0] == '-' || buf[0] == '+') && (buf[1] >= '0' && buf[1] <= '9') && (buf[2] >= '0' && buf[2] <= '9') && (buf[3] >= '0' && buf[3] <= '9') && (buf[4] >= '0' && buf[4] <= '9') ); } ], [ AC_MSG_RESULT(yes) AC_DEFINE([HAVE_STRFTIME_Z_FORMAT], [1], [Define to 1 if you have a strftime() that supports the %z format string.]) ], [ AC_MSG_RESULT(no) ], [ # Fallback for Cross Compiling... # This will enable the compatibility code. AC_MSG_RESULT(no) ] ) AC_CHECK_HEADER(sys/utsname.h) AC_CHECK_FUNC(uname) if test "x$enable_debug" = "xyes" ; then AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.]) enable_fatal_asserts="yes" fi if test "x$enable_fatal_asserts" = "xyes" ; then AC_DEFINE(GAIM_FATAL_ASSERTS, 1, [Define to make assertions fatal (useful for debugging).]) fi if test "x$enable_deprecated" = "xno"; then DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" fi if test "x$GCC" = "xyes"; then dnl We enable -Wall later. dnl If it's set after the warning CFLAGS in the compiler invocation, it counteracts the -Wno... flags. dnl This leads to warnings we don't want. CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'` dnl ENABLE WARNINGS SUPPORTED BY THE VERSION OF GCC IN USE dnl dnl Future Possibilities dnl dnl Consider adding -Wbad-function-cast. dnl This leads to spurious warnings using GPOINTER_TO_INT(), et al. directly on a function call. dnl We'd need an intermediate variable. dnl dnl Consider adding -Wfloat-equal. dnl This leads to warnings with Perl. dnl Perhaps we could write ugly configure magic and pass -Wno-float-equal down to that subdirectory. dnl On the other hand, it's probably actually broken, so maybe the Perl folks should fix that? dnl dnl Consider removing -Wno-sign-compare (from the -Wextra set) and fixing all those cases. dnl This is likely non-trivial. dnl for newflag in \ "-Waggregate-return" \ "-Wcast-align" \ "-Wdeclaration-after-statement" \ "-Werror-implicit-function-declaration" \ "-Wextra -Wno-sign-compare -Wno-unused-parameter" \ "-Winit-self" \ "-Wmissing-declarations" \ "-Wmissing-prototypes" \ "-Wnested-externs" \ "-Wpointer-arith" \ "-Wundef" \ ; do orig_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $newflag" AC_MSG_CHECKING(for $newflag option to gcc) AC_TRY_COMPILE([], [ int main() {return 0;} ], [ AC_MSG_RESULT(yes) CFLAGS="$orig_CFLAGS" DEBUG_CFLAGS="$DEBUG_CFLAGS $newflag" ], [ AC_MSG_RESULT(no) CFLAGS="$orig_CFLAGS" ]) done if test "x$enable_fortify" = "xyes"; then AC_MSG_CHECKING(for FORTIFY_SOURCE support) AC_TRY_COMPILE([#include <features.h>], [ int main() { #if !(__GNUC_PREREQ (4, 1) \ || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (4, 0)) \ || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (3, 4) \ && __GNUC_MINOR__ == 4 \ && (__GNUC_PATCHLEVEL__ > 2 \ || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ >= 8)))) #error No FORTIFY_SOURCE support #endif return 0; } ], [ AC_MSG_RESULT(yes) DEBUG_CFLAGS="$DEBUG_CFLAGS -D_FORTIFY_SOURCE=2" ], [ AC_MSG_RESULT(no) ]) fi DEBUG_CFLAGS="-Wall $DEBUG_CFLAGS" CFLAGS="-g $CFLAGS" fi AC_SUBST(CFLAGS) PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.0.0 gobject-2.0 gmodule-2.0],, [ AC_MSG_ERROR([ *** GLib 2.0 is required to build LibGNT; please make sure you have the GLib *** development headers installed. The latest version of GLib is *** always available at http://www.gtk.org/.]) ]) AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) AC_MSG_CHECKING(for me pot o' gold) AC_MSG_RESULT(no) AC_CHECK_FUNCS(gethostid lrand48) AC_CHECK_FUNCS(memcpy memmove random strchr strerror vprintf) AC_CHECK_HEADERS(malloc.h paths.h sgtty.h stdarg.h sys/cdefs.h) AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h) AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/utsname.h sys/wait.h) AC_CHECK_HEADERS(termios.h) #AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])]) #AC_VAR_TIMEZONE_EXTERNALS GNT_CFLAGS= GNT_LIBS= AC_ARG_WITH(ncurses-headers, [AC_HELP_STRING([--with-ncurses-headers=DIR], [compile finch against the ncurses includes in DIR])], [ac_ncurses_includes="$withval"], [ac_ncurses_includes=""]) AC_CHECK_LIB(ncursesw, initscr, [GNT_LIBS="-lncursesw"], [enable_gnt=no]) AC_CHECK_LIB(panelw, update_panels, [GNT_LIBS="$GNT_LIBS -lpanelw"], [enable_gnt=no]) # If ncursesw is not found, look for plain old ncurses if test "x$enable_gnt" = "xno"; then AC_CHECK_LIB(ncurses, initscr, [[GNT_LIBS="-lncurses"] [enable_gnt=yes]], [enable_gnt=no]) AC_CHECK_LIB(panel, update_panels, [[GNT_LIBS="$GNT_LIBS -lpanel"] [enable_gnt=yes]], [enable_gnt=no]) AC_DEFINE(NO_WIDECHAR, [1], [Define to 1 if you do not have ncursesw.]) else dnl # Some distros put the headers in ncursesw/, some don't found_ncurses_h=no for location in $ac_ncurses_includes /usr/include/ncursesw /usr/include do f="$location/ncurses.h" AC_CHECK_HEADER($f,[ AC_MSG_CHECKING([if $f supports wide characters]) AC_TRY_COMPILE([ #define _XOPEN_SOURCE_EXTENDED #include <$f> ], [ #ifndef get_wch # error get_wch not found! #endif ], [ dir=$location if test x"$dir" != x"." ; then GNT_CFLAGS="-I$dir/" else GNT_CFLAGS="" fi found_ncurses_h=yes AC_MSG_RESULT([yes]) break ], [ AC_MSG_RESULT([no]) ]) ]) done if test x"$found_ncurses_h" != "xyes"; then enable_gnt="no" fi fi AC_SUBST(GNT_CFLAGS) AC_SUBST(GNT_LIBS) if test "x$enable_gnt" = "xno"; then AC_MSG_ERROR([ *** You need ncursesw or ncurses and its header files.]) fi dnl Check for libxml have_libxml=yes PKG_CHECK_MODULES(LIBXML, [libxml-2.0], , [ AC_MSG_RESULT(no) have_libxml=no ]) AC_SUBST(LIBXML_CFLAGS) AC_SUBST(LIBXML_LIBS) if test "x$have_libxml" = "xno"; then AC_DEFINE(NO_LIBXML, 1, [Do not have libxml2.]) fi AM_CONDITIONAL(PURPLE_AVAILABLE, false) AC_OUTPUT([Makefile gnt.pc wms/Makefile ])