configure.in 15.6 KB
Newer Older
Elliot Lee's avatar
Elliot Lee committed
1 2 3
# Process this file with autoconf to produce a configure script.
AC_INIT(gdk/gdktypes.h)

Owen Taylor's avatar
Owen Taylor committed
4 5 6 7 8 9 10 11 12 13 14
# In the following, there are a the following variants
# of GLib cflags and libs variables
#
# GLIB_CFLAGS:  cflags for compiling libraries and example progs
# GLIB_LIBS:    libraries for linking example programs
# GLIB_DEPLIBS: libraries for linking libraries against
# glib_cflags:  cflags to store in gtk-config
# glib_libs:    libs to store in gtk-config
# glib_thread_cflags: cflags to store in gtk-config for gtk-config gthread
# glib_thread_libs:   libs to store in gtk-config for gtk-config gthread

15 16 17
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}

18 19 20 21
dnl we to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
dnl are available for $ac_help expansion (don't we all *love* autoconf?)
AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
#
22 23 24 25 26 27 28 29
# Making releases:
#   GTK_MICRO_VERSION += 1;
#   GTK_INTERFACE_AGE += 1;
#   GTK_BINARY_AGE += 1;
# if any functions have been added, set GTK_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
#
30
GTK_MAJOR_VERSION=1
31
GTK_MINOR_VERSION=3
32
GTK_MICRO_VERSION=0
CST 1999 Shawn T. Amundson's avatar
CST 1999 Shawn T. Amundson committed
33 34
GTK_INTERFACE_AGE=0
GTK_BINARY_AGE=0
35
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
36 37 38
dnl
AC_DIVERT_POP()dnl

39 40 41
AC_SUBST(GTK_MAJOR_VERSION)
AC_SUBST(GTK_MINOR_VERSION)
AC_SUBST(GTK_MICRO_VERSION)
42 43
AC_SUBST(GTK_INTERFACE_AGE)
AC_SUBST(GTK_BINARY_AGE)
44 45 46 47 48 49 50 51 52 53 54 55
AC_SUBST(GTK_VERSION)

# libtool versioning
LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
LT_REVISION=$GTK_INTERFACE_AGE
LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)

56 57 58 59
# For automake.
VERSION=$GTK_VERSION
PACKAGE=gtk+

60 61 62
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}

Elliot Lee's avatar
Elliot Lee committed
63
dnl Initialize automake stuff
64
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
Elliot Lee's avatar
Elliot Lee committed
65 66 67 68 69 70 71 72 73 74 75 76

# Specify a configuration file
AM_CONFIG_HEADER(config.h)

dnl Initialize libtool
AM_PROG_LIBTOOL

dnl Initialize maintainer mode
AM_MAINTAINER_MODE

AC_CANONICAL_HOST

77 78 79 80 81 82 83 84 85 86 87 88
dnl figure debugging default, prior to $ac_help setup
dnl
AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
if test `expr $GTK_MINOR_VERSION \% 2` = 1 ; then
        debug_default=yes
else
        debug_default=minimum
fi
AC_DIVERT_POP()dnl

dnl declare --enable-* args and collect ac_help strings
AC_ARG_ENABLE(debug, [  --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
Elliot Lee's avatar
Elliot Lee committed
89 90 91 92
AC_ARG_ENABLE(shm, [  --enable-shm            support shared memory if available [default=yes]],
		   echo $enable_shm, enable_shm="yes")
AC_ARG_ENABLE(ansi, [  --enable-ansi           turn on strict ansi [default=no]],
		    , enable_ansi=no)
Owen Taylor's avatar
Owen Taylor committed
93
AC_ARG_WITH(glib, [  --with-glib=DIR         Use uninstalled copy of glib])
94
AC_ARG_ENABLE(xim, [  --enable-xim            support XIM [default=yes]],
95
			, enable_xim="yes")
96 97
AC_ARG_ENABLE(xim_inst, [  --disable-xim-inst      does not use xim instantiate callback],
			, enable_xim_inst="maybe")
98
AC_ARG_ENABLE(rebuilds, [  --disable-rebuilds      disable all source autogeneration rules],,enable_rebuilds=yes)
99
AC_ARG_WITH(locale, [  --with-locale=LOCALE    locale name you want to use ])
Elliot Lee's avatar
Elliot Lee committed
100

101
AC_ARG_WITH(xinput, [  --with-xinput=[no/gxi/xfree] support XInput ])
Elliot Lee's avatar
Elliot Lee committed
102

103
if test "x$enable_debug" = "xyes"; then
Tim Janik's avatar
Tim Janik committed
104
  test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
105
  GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
Elliot Lee's avatar
Elliot Lee committed
106
else
107
  if test "x$enable_debug" = "xno"; then
108
    GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DGTK_NO_CHECK_CASTS"
109
  else
110
    GTK_DEBUG_FLAGS="-DGTK_NO_CHECK_CASTS"
111
  fi
Elliot Lee's avatar
Elliot Lee committed
112 113
fi

Owen Taylor's avatar
Owen Taylor committed
114 115
AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")

Elliot Lee's avatar
Elliot Lee committed
116 117 118 119 120
# Build time sanity check...
AM_SANITY_CHECK

# Checks for programs.
AC_PROG_CC
121
AC_ISC_POSIX
Elliot Lee's avatar
Elliot Lee committed
122 123 124 125
AM_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_MAKE_SET

Raja R Harinath's avatar
Raja R Harinath committed
126
changequote(,)dnl
127
if test "x$GCC" = "xyes"; then
Raja R Harinath's avatar
Raja R Harinath committed
128 129 130 131
  case " $CFLAGS " in
  *[\ \	]-Wall[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac
Elliot Lee's avatar
Elliot Lee committed
132

133
  if test "x$enable_ansi" = "xyes"; then
Raja R Harinath's avatar
Raja R Harinath committed
134 135 136 137 138 139 140 141 142
    case " $CFLAGS " in
    *[\ \	]-ansi[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -ansi" ;;
    esac

    case " $CFLAGS " in
    *[\ \	]-pedantic[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -pedantic" ;;
    esac
Elliot Lee's avatar
Elliot Lee committed
143 144
  fi
fi
Raja R Harinath's avatar
Raja R Harinath committed
145
changequote([,])dnl
Elliot Lee's avatar
Elliot Lee committed
146

147 148 149 150
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

 # define a MAINT-like variable REBUILD which is set if Perl
151 152 153 154 155
# and awk are found, so autogenerated sources can be rebuilt

AC_PROG_AWK
AC_CHECK_PROGS(PERL, perl5 perl)

156 157 158
# We would like indent, but don't require it.
AC_CHECK_PROG(INDENT, indent, indent)

159
REBUILD=\#
160 161 162 163 164
if test "x$enable_rebuilds" = "xyes" && \
     test -n "$PERL" && \
     $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
     test -n "$AWK" ; then
  REBUILD=
165 166
fi
AC_SUBST(REBUILD)
167

Tor Lillqvist's avatar
Tor Lillqvist committed
168 169
AC_CHECK_FUNCS(lstat)

170 171 172 173 174 175 176 177 178 179 180 181 182
AC_MSG_CHECKING(whether make is GNU Make)
STRIP_BEGIN=
STRIP_END=
if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
	STRIP_BEGIN='$(strip'
	STRIP_END=')'
	AC_MSG_RESULT(yes)
else
	AC_MSG_RESULT(no)
fi
AC_SUBST(STRIP_BEGIN)
AC_SUBST(STRIP_END)

Owen Taylor's avatar
Owen Taylor committed
183
# i18n stuff
184
ALL_LINGUAS="ca cs da de el es et eu fi fr ga hr hu it ja ko nl no pl pt pt_BR ru sk sl sv wa zh_TW.Big5"
185
AM_GTK_GNU_GETTEXT
186 187
LIBS="$LIBS $INTLLIBS"

188 189 190 191
# AM_GTK_GNU_GETTEXT above substs $DATADIRNAME
# this is the directory where the *.{mo,gmo} files are installed
gtklocaledir='${prefix}/${DATADIRNAME}/locale'
AC_SUBST(gtklocaledir)
Owen Taylor's avatar
Owen Taylor committed
192

193 194
dnl The DU4 header files don't provide library prototypes unless 
dnl -std1 is given to the native cc.
Manish Singh's avatar
Manish Singh committed
195
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
196

197
gtk_save_LIBS=$LIBS
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
LIBS="$LIBS -lm"
AC_TRY_RUN([#include <math.h>
             int main (void) { return (log(1) != log(1.)); }],
     AC_MSG_RESULT(none needed),
     gtk_save_CFLAGS=$CFLAGS
     CFLAGS="$CFLAGS -std1"
     AC_TRY_RUN([#include <math.h>
	         int main (void) { return (log(1) != log(1.)); }],
         AC_MSG_RESULT(-std1),
         AC_MSG_RESULT()
         CFLAGS=$gtk_save_CFLAGS
         AC_MSG_WARN(
                [No ANSI prototypes found in library. (-std1 didn't work.)])
     )
)
LIBS=$gtk_save_LIBS

215 216 217 218 219 220 221 222 223 224 225 226 227 228
MATH_LIB=-lm
GTK_LIBS_EXTRA=
AC_MSG_CHECKING(for the BeOS)
case $host in
  *-*-beos*)
    GTK_LIBS_EXTRA="-L\$(top_builddir_full)/gdk/.libs -lgdk"
    MATH_LIB=
  ;;
  default)
  ;;
esac
AC_SUBST(MATH_LIB)
AC_SUBST(GTK_LIBS_EXTRA)

Manish Singh's avatar
Manish Singh committed
229 230 231 232 233 234 235 236 237 238 239 240
dnl NeXTStep cc seems to need this
AC_MSG_CHECKING([for extra flags for POSIX compliance])
AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
  AC_MSG_RESULT(none needed),
  gtk_save_CFLAGS=$CFLAGS
  CFLAGS="$CFLAGS -posix"
  AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
    AC_MSG_RESULT(-posix),
    AC_MSG_RESULT()
    CFLAGS=$gtk_save_CFLAGS
    AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))

Owen Taylor's avatar
Owen Taylor committed
241 242 243 244 245 246 247 248
if test x$with_glib = xyes ; then
  AC_MSG_ERROR([
*** Directory must be specified for --with-glib])
fi

if test x$with_glib = x ; then 
  # Look for separately installed glib

249
  AM_PATH_GLIB(1.3.0,,
Owen Taylor's avatar
Owen Taylor committed
250
    AC_MSG_ERROR([
251
*** GLIB 1.3.0 or better is required. The latest version of GLIB
252
*** is always available from ftp://ftp.gtk.org/.]),
253
    gmodule gthread)
Owen Taylor's avatar
Owen Taylor committed
254

255 256
  # we do not want to make all gtk progs to link to thread libraries.
  glib_cflags=`$GLIB_CONFIG glib gmodule --cflags`
Owen Taylor's avatar
Owen Taylor committed
257
  glib_thread_cflags="$GLIB_CFLAGS"
258
  glib_libs=`$GLIB_CONFIG glib gmodule --libs`
Owen Taylor's avatar
Owen Taylor committed
259
  glib_thread_libs="$GLIB_LIBS"
260
  GLIB_LIBS="$glib_libs"
261
  GLIB_DEPLIBS="$glib_libs"
Owen Taylor's avatar
Owen Taylor committed
262 263 264
else
  # Use uninstalled glib (assume they got the version right)

Raja R Harinath's avatar
Raja R Harinath committed
265 266
  GLIB_CONFIG=$with_glib/glib-config
  if test -x $GLIB_CONFIG ; then 
Owen Taylor's avatar
Owen Taylor committed
267 268 269 270 271 272
    :
  else
    AC_MSG_ERROR([GLIB directory ($with_glib) not present or not configured])
  fi

  # For use in gtk-config
273
  glib_cflags=`$GLIB_CONFIG --cflags gmodule`
Owen Taylor's avatar
Owen Taylor committed
274
  glib_thread_cflags=`$GLIB_CONFIG --cflags gmodule gthread`
275
  glib_libs=`$GLIB_CONFIG --libs gmodule`
Owen Taylor's avatar
Owen Taylor committed
276
  glib_thread_libs=`$GLIB_CONFIG --libs gmodule gthread`
Owen Taylor's avatar
Owen Taylor committed
277

Raja R Harinath's avatar
Raja R Harinath committed
278
  glib_release=`$GLIB_CONFIG --version | sed 's%\\.[[0-9]]*$%%'`
Owen Taylor's avatar
Owen Taylor committed
279 280 281 282 283 284 285 286 287 288 289

  # canonicalize relative paths
  case $with_glib in 
    /*)
      glib_dir=$with_glib
      ;;
    *)
      glib_dir="\$(top_builddir)/$with_glib"
      ;;
  esac

290
  GLIB_CFLAGS="-I$glib_dir -I$glib_dir/gmodule"
291
  GLIB_LIBS="$glib_dir/libglib.la $glib_dir/gmodule/libgmodule.la"
292
  GLIB_DEPLIBS=
Owen Taylor's avatar
Owen Taylor committed
293 294 295 296 297 298 299

  AC_SUBST(GLIB_CFLAGS)
  AC_SUBST(GLIB_LIBS)
fi

AC_SUBST(glib_cflags)
AC_SUBST(glib_libs)
Owen Taylor's avatar
Owen Taylor committed
300 301
AC_SUBST(glib_thread_cflags)
AC_SUBST(glib_thread_libs)
302
AC_SUBST(GLIB_DEPLIBS)
Owen Taylor's avatar
Owen Taylor committed
303

Tor Lillqvist's avatar
Tor Lillqvist committed
304 305
AC_CHECK_HEADERS(dirent.h, AC_DEFINE(HAVE_DIRENT_H))
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
306
AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
Tor Lillqvist's avatar
Tor Lillqvist committed
307

Elliot Lee's avatar
Elliot Lee committed
308 309 310 311 312 313 314 315 316 317 318
# Find the X11 include and library directories
AC_PATH_X
AC_PATH_XTRA

if test "x$x_includes" = "x"; then
  x_includes="/usr/include"
fi

saved_cflags="$CFLAGS"
saved_ldflags="$LDFLAGS"

319 320
CFLAGS="$CFLAGS $X_CFLAGS"
LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
Elliot Lee's avatar
Elliot Lee committed
321

322 323 324 325 326 327
if test "x$no_x" = "xyes"; then 
  AC_MSG_ERROR([
*** X libraries or include files not found. Check 'config.log' for 
*** more details.])
fi

Elliot Lee's avatar
Elliot Lee committed
328 329
# Checks for libraries.
# Check for the X11 library
330 331 332
AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", 
  AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
  $X_EXTRA_LIBS)
Elliot Lee's avatar
Elliot Lee committed
333

334
if test "x$enable_shm" = "xyes"; then
Elliot Lee's avatar
Elliot Lee committed
335
  # Check for the Xext library (needed for XShm extention)
336 337 338 339 340 341 342
  AC_CHECK_LIB(Xext, XShmAttach, 
      x_libs="-lXext $x_libs", 
      # On AIX, it is in XextSam instead, but we still need -lXext
      AC_CHECK_LIB(XextSam, XShmAttach, 
          x_libs="-lXextSam -lXext $x_libs", 
          no_xext_lib=yes, $x_libs),
      $x_libs)
Elliot Lee's avatar
Elliot Lee committed
343 344
fi

345 346 347 348
# Check for shaped window extension

AC_CHECK_LIB(Xext, XShapeCombineMask,
      if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
349
           x_libs="-lXext $x_libs"
350
      fi
351 352 353
      AC_DEFINE(HAVE_SHAPE_EXT),
      ,
      $x_libs)
354

355 356 357 358 359 360 361
# Check for XConvertCase (X11R6 specific)

AC_CHECK_LIB(X11, XConvertCase,
      AC_DEFINE(HAVE_XCONVERTCASE),
      ,
      $x_libs)

362 363 364
# Check for XIM support.

AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
365
	    : ,
366
	    enable_xim_inst="no",
367 368
	    $x_libs)

369 370 371 372 373 374 375 376 377 378 379 380 381 382 383
# On Solaris, calling XRegisterIMInstantiateCallback seems to
# cause an immediate segfault, so we disable it, unless
# the user specifically forces it to be on.

if test x$enable_xim_inst = xmaybe ; then
  case host in
	*-*-solaris*)
            enable_xim_inst="no"
            ;;
	*)
	    enable_xim_inst="yes"
	    ;;
  esac
fi

384 385
if test "x$enable_xim" = "xyes"; then
  GTK_XIM_FLAGS="-DUSE_XIM"
386 387
  if test "x$enable_xim_inst" = "xyes"; then
    AC_DEFINE(USE_X11R6_XIM)
388
  fi
389 390
fi

Elliot Lee's avatar
Elliot Lee committed
391 392 393 394 395
x_cflags="$X_CFLAGS"
x_ldflags="$X_LDFLAGS $X_LIBS"

# set up things for XInput

396
if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
Elliot Lee's avatar
Elliot Lee committed
397 398 399
  AC_DEFINE(XINPUT_GXI)
  xinput_progs=gxid
  x_libs="-lXi $x_libs"
400
elif test "x$with_xinput" = "xxfree"; then
Elliot Lee's avatar
Elliot Lee committed
401 402 403 404 405 406
  AC_DEFINE(XINPUT_XFREE)
  x_libs="-lXi $x_libs"
else
  AC_DEFINE(XINPUT_NONE)
fi

407 408 409
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"

Elliot Lee's avatar
Elliot Lee committed
410 411 412 413 414 415
AC_SUBST(x_cflags)
AC_SUBST(x_includes)
AC_SUBST(x_ldflags)
AC_SUBST(x_libs)
AC_SUBST(xinput_progs)

416
if test "x$enable_shm" = "xyes"; then
Elliot Lee's avatar
Elliot Lee committed
417 418 419 420 421 422
  # Check for shared memory
  AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
  AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)

  # Check for the X shared memory extension header file
  AC_MSG_CHECKING(X11/extensions/XShm.h)
423
  if test "x$no_xext_lib" = "xyes"; then
Elliot Lee's avatar
Elliot Lee committed
424 425 426
    AC_MSG_RESULT(no)
    no_xshm=yes
  else
427
    if test -f "$x_includes/X11/extensions/XShm.h"; then
Elliot Lee's avatar
Elliot Lee committed
428 429 430 431 432 433 434 435 436
      AC_MSG_RESULT(yes)
      AC_DEFINE(HAVE_XSHM_H)
    else
      AC_MSG_RESULT(no)
      no_xshm=yes
    fi
  fi
fi

437 438 439
# Check if X_LOCALE definition is necessary

AC_MSG_CHECKING(need -DX_LOCALE)
440 441 442 443 444 445 446 447 448 449 450 451 452 453

AC_TRY_RUN([
#include <stdio.h>
#include <locale.h>

int
main ()
{
  return setlocale (LC_ALL, "${with_locale}") == NULL;
}],
need_x_locale=no,
need_x_locale=yes)
AC_MSG_RESULT($need_x_locale)

Owen Taylor's avatar
Owen Taylor committed
454
if test $need_x_locale = yes; then
455
  GTK_LOCALE_CFLAGS="-DX_LOCALE"
456 457
fi

Elliot Lee's avatar
Elliot Lee committed
458 459 460 461 462 463 464 465
# Checks for header files.
AC_HEADER_STDC

# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST

# Checks for library functions.
AC_TYPE_SIGNAL
Elliot Lee's avatar
Elliot Lee committed
466
AC_FUNC_MMAP
Elliot Lee's avatar
Elliot Lee committed
467

Raja R Harinath's avatar
Raja R Harinath committed
468 469
# Check if <sys/select.h> needs to be included for fd_set
AC_MSG_CHECKING([for fd_set])
Elliot Lee's avatar
Elliot Lee committed
470 471
AC_TRY_COMPILE([#include <sys/types.h>],
        [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
Raja R Harinath's avatar
Raja R Harinath committed
472 473 474
if test $gtk_ok = yes; then
    AC_MSG_RESULT([yes, found in sys/types.h])
else
Elliot Lee's avatar
Elliot Lee committed
475 476 477
    AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
    if test $gtk_ok = yes; then
        AC_DEFINE(HAVE_SYS_SELECT_H)
Raja R Harinath's avatar
Raja R Harinath committed
478 479 480 481
        AC_MSG_RESULT([yes, found in sys/select.h])
    else
	AC_DEFINE(NO_FD_SET)
	AC_MSG_RESULT(no)
Elliot Lee's avatar
Elliot Lee committed
482 483 484
    fi
fi

485
# `widechar' tests for gdki18n.h
Raja R Harinath's avatar
Raja R Harinath committed
486
AC_MSG_CHECKING(for wchar.h)
487 488 489
AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
if test $gdk_wchar_h = yes; then
   AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
Raja R Harinath's avatar
Raja R Harinath committed
490
fi
491
AC_MSG_RESULT($gdk_wchar_h)
Raja R Harinath's avatar
Raja R Harinath committed
492 493 494

# Check for wctype.h (for iswalnum)
AC_MSG_CHECKING(for wctype.h)
495 496 497
AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
if test $gdk_wctype_h = yes; then
   AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
Raja R Harinath's avatar
Raja R Harinath committed
498
fi
499
AC_MSG_RESULT($gdk_wctype_h)
Raja R Harinath's avatar
Raja R Harinath committed
500 501 502 503 504 505 506

# in Solaris 2.5, `iswalnum' is in -lw
GDK_WLIBS=
AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])

oLIBS="$LIBS"
LIBS="$LIBS $GDK_WLIBS"
507
# The following is necessary for Linux libc-5.4.38
Raja R Harinath's avatar
Raja R Harinath committed
508 509 510 511 512 513 514 515 516 517 518 519 520 521
AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
AC_TRY_LINK([#include <stdlib.h>],[
#if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
#  ifdef HAVE_WCTYPE_H
#    include <wctype.h>
#  else
#    ifdef HAVE_WCHAR_H
#      include <wchar.h>
#    endif
#  endif
#else
#  define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
#endif
iswalnum((wchar_t) 0);
522
], gdk_working_wctype=yes, gdk_working_wctype=no)
Raja R Harinath's avatar
Raja R Harinath committed
523 524
LIBS="$oLIBS"

525 526
if test $gdk_working_wctype = no; then
   AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
Raja R Harinath's avatar
Raja R Harinath committed
527 528
   GDK_WLIBS=
fi
529
AC_MSG_RESULT($gdk_working_wctype)
Raja R Harinath's avatar
Raja R Harinath committed
530 531
AC_SUBST(GDK_WLIBS)

532 533 534 535
AC_SUBST(GTK_DEBUG_FLAGS)
AC_SUBST(GTK_XIM_FLAGS)
AC_SUBST(GTK_LOCALE_FLAGS)

536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572
AC_OUTPUT_COMMANDS([

## Generate `gdk/gdkconfig.h' in two cases
## 1. `config.status' is run either explicitly, or via configure.
##     Esp. not when it is run in `Makefile' to generate makefiles and
##     config.h
## 2. CONFIG_OTHER is set explicitly
##
## Case 1 is difficult.  We know that `automake' sets one of
## CONFIG_FILES or CONFIG_HEADERS to empty.  This heuristic works
## only when AM_CONFIG_HEADER is set, however.

if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
  # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
  CONFIG_OTHER=${CONFIG_OTHER:-gdk/gdkconfig.h}
fi
case "$CONFIG_OTHER" in
*gdk/gdkconfig.h*)
	echo creating gdk/gdkconfig.h
	outfile=gdkconfig.h-tmp
	cat > $outfile <<\_______EOF
/* gdkconfig.h
 *
 * This is a generated file.  Please modify `configure.in'
 */

#ifndef GDKCONFIG_H
#define GDKCONFIG_H

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

_______EOF

	cat >>$outfile <<_______EOF
$gdk_windowing
573
$gdk_wc
574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595
_______EOF

	cat >>$outfile <<_______EOF

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* GDKCONFIG_H */
_______EOF


	if cmp -s $outfile gdk/gdkconfig.h; then
	  echo gdk/gdkconfig.h is unchanged
	  rm -f $outfile
	else
	  mv $outfile gdk/gdkconfig.h
	fi ;;
esac
],[
# Currently we always use X11 on those systems where we run configure...
gdk_windowing='
596
#define GDK_WINDOWING_X11'
597 598 599 600 601 602 603 604 605 606 607 608 609 610
if test x$gdk_wchar_h = xyes; then
  gdk_wc='
#define GDK_HAVE_WCHAR_H 1'
fi
if test x$gdk_wctype_h = xyes; then
  gdk_wc="\$gdk_wc
#define GDK_HAVE_WCTYPE_H 1"
fi
if test x$gdk_working_wctype = xno; then
  gdk_wc="\$gdk_wc
#define GDK_HAVE_BROKEN_WCTYPE 1"
fi


611 612
])

613
AC_OUTPUT([
614
gtk+.spec
615
docs/gtk-config.1
616 617
Makefile
gtk-config
Owen Taylor's avatar
Owen Taylor committed
618
po/Makefile.in
619 620 621
docs/Makefile
gdk/Makefile
gtk/Makefile
622
gtk/gtkfeatures.h
623
gtk/gtkcompat.h
624
], [chmod +x gtk-config])