configure.in 44.2 KB
Newer Older
Elliot Lee's avatar
Elliot Lee committed
1
# Process this file with autoconf to produce a configure script.
2 3 4 5 6 7 8 9 10 11 12 13 14
# require autoconf 2.54
AC_PREREQ(2.54)

# 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.

m4_define([gtk_major_version], [2])
m4_define([gtk_minor_version], [3])
Owen Taylor's avatar
Owen Taylor committed
15
m4_define([gtk_micro_version], [4])
16 17 18
m4_define([gtk_version],
          [gtk_major_version.gtk_minor_version.gtk_micro_version])
m4_define([gtk_interface_age], [0])
Owen Taylor's avatar
Owen Taylor committed
19 20
m4_define([gtk_binary_age],
          [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
21 22 23 24 25 26 27 28 29 30 31
# This is the X.Y used in -lgtk-FOO-X.Y
m4_define([gtk_api_version], [2.0])

# Define a string for the earliest version that this release has
# forward/backwards binary compatibility with. This is used for module
# locations. (Should this be backwards-compat instead?)
#
#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
m4_define([gtk_binary_version], [2.2.0])

# required versions of other packages
32
m4_define([glib_required_version], [2.3.2])
33
m4_define([pango_required_version], [1.2.0])
34 35 36 37 38 39 40 41 42 43 44 45 46 47
m4_define([atk_required_version], [1.0.1])


AC_INIT([gtk+], [gtk_version],
        [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk+],
	[gtk+])

AC_CONFIG_SRCDIR([gdk/gdktypes.h])

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

AM_INIT_AUTOMAKE(no-define)
AM_CONFIG_HEADER(config.h)
Elliot Lee's avatar
Elliot Lee committed
48

Owen Taylor's avatar
Owen Taylor committed
49
#
50 51 52 53 54 55 56 57
# For each of the libraries we build, we define the following
# substituted variables:
#
# foo_PACKAGES:     pkg-config packages this library requires
# foo_EXTRA_LIBS:   Libraries this module requires not pulled in by pkg-config
# foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config
# foo_DEP_LIBS:     All libraries this module requires
# foo_DEP_CFLAGS:   All cflags this module requires
58 59


60 61 62 63 64 65 66 67
GTK_MAJOR_VERSION=gtk_major_version
GTK_MINOR_VERSION=gtk_minor_version
GTK_MICRO_VERSION=gtk_micro_version
GTK_INTERFACE_AGE=gtk_interface_age
GTK_BINARY_AGE=gtk_binary_age
GTK_VERSION=gtk_version
GTK_API_VERSION=gtk_api_version
GTK_BINARY_VERSION=gtk_binary_version
68 69 70
AC_SUBST(GTK_MAJOR_VERSION)
AC_SUBST(GTK_MINOR_VERSION)
AC_SUBST(GTK_MICRO_VERSION)
71 72
AC_SUBST(GTK_INTERFACE_AGE)
AC_SUBST(GTK_BINARY_AGE)
Owen Taylor's avatar
Owen Taylor committed
73
AC_SUBST(GTK_API_VERSION)
74
AC_SUBST(GTK_VERSION)
75
AC_SUBST(GTK_BINARY_VERSION)
76 77

# libtool versioning
78 79 80 81 82 83
#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`
#LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`

84 85 86 87 88 89
m4_define([lt_current], [m4_eval(100 * gtk_minor_version + gtk_micro_version - gtk_interface_age)])
m4_define([lt_revision], [gtk_interface_age])
m4_define([lt_age], [m4_eval(gtk_binary_age - gtk_interface_age)])
LT_VERSION_INFO="lt_current:lt_revision:lt_age"
LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
AC_SUBST(LT_VERSION_INFO)
Tor Lillqvist's avatar
Tor Lillqvist committed
90
AC_SUBST(LT_CURRENT_MINUS_AGE)
91

92

93 94 95 96
#
# gdk-pixbuf gets versioned separately, and for now, using standard
# libtool versioning, not GTK+-style versioning
#
97 98 99
GDK_PIXBUF_MAJOR=gtk_major_version
GDK_PIXBUF_MINOR=gtk_minor_version
GDK_PIXBUF_MICRO=gtk_micro_version
100 101 102 103 104 105
GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
AC_SUBST(GDK_PIXBUF_MAJOR)
AC_SUBST(GDK_PIXBUF_MINOR)
AC_SUBST(GDK_PIXBUF_MICRO)
AC_SUBST(GDK_PIXBUF_VERSION)

106 107
GETTEXT_PACKAGE=gtk20
AC_SUBST(GETTEXT_PACKAGE)
108
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
109

Elliot Lee's avatar
Elliot Lee committed
110 111

dnl Initialize libtool
112
AC_PROG_CC
113
AM_DISABLE_STATIC
Tor Lillqvist's avatar
Tor Lillqvist committed
114
AC_LIBTOOL_WIN32_DLL
Elliot Lee's avatar
Elliot Lee committed
115 116
AM_PROG_LIBTOOL

117
AM_PROG_AS
118

Elliot Lee's avatar
Elliot Lee committed
119 120 121 122 123
dnl Initialize maintainer mode
AM_MAINTAINER_MODE

AC_CANONICAL_HOST

Tor Lillqvist's avatar
Tor Lillqvist committed
124 125 126 127 128 129 130 131 132 133 134 135
AC_MSG_CHECKING([for some Win32 platform])
case "$host" in
  *-*-mingw*|*-*-cygwin*)
    platform_win32=yes
    ;;
  *)
    platform_win32=no
    ;;
esac
AC_MSG_RESULT([$platform_win32])
AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")

136
MATH_LIB=-lm
Tor Lillqvist's avatar
Tor Lillqvist committed
137 138 139 140
AC_MSG_CHECKING([for native Win32])
case "$host" in
  *-*-mingw*)
    os_win32=yes
141
    MATH_LIB=
Tor Lillqvist's avatar
Tor Lillqvist committed
142 143 144 145 146 147 148
    ;;
  *)
    os_win32=no
    ;;
esac
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
149
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
Tor Lillqvist's avatar
Tor Lillqvist committed
150 151 152 153 154 155

if test "$os_win32" = "yes"; then
  AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)

156 157
m4_define([debug_default],
          m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
158 159

dnl declare --enable-* args and collect ac_help strings
160 161 162 163 164 165
AC_ARG_ENABLE(debug,
              AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
                             [turn on debugging @<:@default=debug_default@:>@]),,
              enable_debug=debug_default)
AC_ARG_ENABLE(shm,
              [AC_HELP_STRING([--enable-shm],
166 167
                              [support shared memory if available [default=yes]])],,
              [enable_shm="yes"])
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
AC_ARG_ENABLE(ansi,
              [AC_HELP_STRING([--enable-ansi],
                              [turn on strict ansi [default=no]])],,
              [enable_ansi=no])
AC_ARG_ENABLE(xkb,
              [AC_HELP_STRING([--enable-xkb],
                              [support XKB [default=maybe]])],,
              [enable_xkb="maybe"])
AC_ARG_ENABLE(rebuilds,
              [AC_HELP_STRING([--disable-rebuilds],
                              [disable all source autogeneration rules])],,
              [enable_rebuilds=yes])

AC_ARG_WITH(xinput,
            [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])

AC_ARG_WITH(wintab,
            [AC_HELP_STRING([--with-wintab=DIRECTORY],
                            [use Wintab API with win32 backend])])
AC_ARG_WITH(ie55,
            [AC_HELP_STRING([--with-ie55=DIRECTORY],
                            [IE5.5 libs and headers (for Active IMM)])])
Tor Lillqvist's avatar
Tor Lillqvist committed
190

191
GLIB_AC_DIVERT_BEFORE_HELP([
Tor Lillqvist's avatar
Tor Lillqvist committed
192 193 194 195 196
if test "$platform_win32" = yes; then
  gdktarget=win32
else
  gdktarget=x11
fi
197
])
Tor Lillqvist's avatar
Tor Lillqvist committed
198

199
AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32]] select GDK target [default=$gdktarget]],
200 201 202 203
	gdktarget=$with_gdktarget)

AC_SUBST(gdktarget)
case $gdktarget in
Tor Lillqvist's avatar
Tor Lillqvist committed
204 205
  x11|linux-fb|win32) ;;
  *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
206 207
esac

Owen Taylor's avatar
Owen Taylor committed
208 209
gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
Tor Lillqvist's avatar
Tor Lillqvist committed
210 211 212 213

AC_SUBST(gdktargetlib)
AC_SUBST(gtktargetlib)

214 215 216 217
AC_ARG_ENABLE(shadowfb,
              [AC_HELP_STRING([--disable-shadowfb],
                              [disable shadowfb support for linux-fb])],,
              [enable_shadowfb=yes])
218

219 220 221 222
AC_ARG_ENABLE(fbmanager,
              [AC_HELP_STRING([--enable-fbmanager],
                              [enable framebuffer manager support (GtkFB)])],,
              enable_fbmanager=no)
Alexander Larsson's avatar
Alexander Larsson committed
223
	
224
if test "x$enable_debug" = "xyes"; then
Tim Janik's avatar
Tim Janik committed
225
  test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
226
  GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
Elliot Lee's avatar
Elliot Lee committed
227
else
228
  if test "x$enable_debug" = "xno"; then
229
    GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
230
  else
231
    GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
232
  fi
Elliot Lee's avatar
Elliot Lee committed
233 234
fi

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

Alexander Larsson's avatar
Alexander Larsson committed
237
			
Elliot Lee's avatar
Elliot Lee committed
238 239 240 241
# Build time sanity check...
AM_SANITY_CHECK

# Checks for programs.
242
AC_ISC_POSIX
Elliot Lee's avatar
Elliot Lee committed
243 244 245 246
AM_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_MAKE_SET

Raja R Harinath's avatar
Raja R Harinath committed
247
changequote(,)dnl
248
if test "x$GCC" = "xyes"; then
Raja R Harinath's avatar
Raja R Harinath committed
249 250 251 252
  case " $CFLAGS " in
  *[\ \	]-Wall[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac
Elliot Lee's avatar
Elliot Lee committed
253

254
  if test "x$enable_ansi" = "xyes"; then
Raja R Harinath's avatar
Raja R Harinath committed
255 256 257 258 259 260 261 262 263
    case " $CFLAGS " in
    *[\ \	]-ansi[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -ansi" ;;
    esac

    case " $CFLAGS " in
    *[\ \	]-pedantic[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -pedantic" ;;
    esac
Elliot Lee's avatar
Elliot Lee committed
264
  fi
265 266
fi
changequote([,])dnl
Tor Lillqvist's avatar
Tor Lillqvist committed
267

268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
# gcc2 uses "-fnative-struct".
if test x"$os_win32" = xyes; then
  if test x"$GCC" = xyes; then
    msnative_struct=''
    AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
    if test -z "$ac_cv_prog_CC"; then
      our_gcc="$CC"
    else
      our_gcc="$ac_cv_prog_CC"
    fi
    case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
      2.)
	if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
	  msnative_struct='-fnative-struct'
	fi
	;;
      *)
	if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
	  msnative_struct='-mms-bitfields'
	fi
	;;
Tor Lillqvist's avatar
Tor Lillqvist committed
292
    esac
293 294 295 296 297 298 299
    if test x"$msnative_struct" = x ; then
      AC_MSG_RESULT([no way])
      AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
    else
      CFLAGS="$CFLAGS $msnative_struct"
      AC_MSG_RESULT([${msnative_struct}])
    fi
Tor Lillqvist's avatar
Tor Lillqvist committed
300
  fi
Elliot Lee's avatar
Elliot Lee committed
301 302
fi

303 304 305
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

306 307 308 309 310 311
## Initial sanity check, done here so that users get told they 
## have the wrong dependencies as early in the process as possible.
## Later on we actually use the cflags/libs from separate pkg-config
## calls. Oh, also the later pkg-config calls don't include 
## the version requirements since those make the module lists 
## annoying to construct
312 313 314 315
PKG_CHECK_MODULES(BASE_DEPENDENCIES,
  [glib-2.0 >= glib_required_version dnl
   atk >= atk_required_version dnl
   pango >= pango_required_version])
316

Tor Lillqvist's avatar
Tor Lillqvist committed
317 318 319 320 321 322 323 324
if test "$os_win32" != yes; then
    # libtool option to control which symbols are exported
    # right now, symbols starting with _ are not exported
    LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
else
    # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
    LIBTOOL_EXPORT_OPTIONS=
fi
325 326
AC_SUBST(LIBTOOL_EXPORT_OPTIONS)

327 328 329 330 331
dnl ******************************************************
dnl * See whether to include shared library dependencies *
dnl ******************************************************

AC_ARG_ENABLE(explicit-deps, 
332 333 334
              [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
                              [use explicit dependencies in .pc files [default=auto]])],,
              [enable_explicit_deps=auto])
335 336 337 338 339

AC_MSG_CHECKING([Whether to write dependencies into .pc files])
case $enable_explicit_deps in
  auto)
    deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
jacob berkman's avatar
jacob berkman committed
340
    if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
341 342 343 344 345 346 347 348 349 350 351 352 353 354
      enable_explicit_deps=yes  
    else
      enable_explicit_deps=no  
    fi
  ;;
  yes|no) 
  ;;
  *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
  ;;
esac
AC_MSG_RESULT($enable_explicit_deps)

AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)

355
# define a MAINT-like variable REBUILD which is set if Perl
356 357
# and awk are found, so autogenerated sources can be rebuilt

358
AC_PATH_PROGS(PERL, perl5 perl)
359

360 361 362
# We would like indent, but don't require it.
AC_CHECK_PROG(INDENT, indent, indent)

363
REBUILD=\#
364 365
if test "x$enable_rebuilds" = "xyes" && \
     test -n "$PERL" && \
366
     $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
367
  REBUILD=
368 369
fi
AC_SUBST(REBUILD)
370

Owen Taylor's avatar
Owen Taylor committed
371
AC_CHECK_FUNCS(lstat mkstemp flockfile)
372 373 374 375 376 377 378 379 380 381 382

# sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
AC_MSG_CHECKING(for sigsetjmp)
AC_TRY_LINK([#include <setjmp.h>], [
sigjmp_buf env;
sigsetjmp(env, 0);
], gtk_ok=yes, gtk_ok=no)
AC_MSG_RESULT($gtk_ok)
if test "$gtk_ok" = "yes"; then
  AC_DEFINE(HAVE_SIGSETJMP)
fi
Tor Lillqvist's avatar
Tor Lillqvist committed
383

Owen Taylor's avatar
Owen Taylor committed
384
# i18n stuff
385
ALL_LINGUAS="af am ar az be bg bn br ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl he hi hr hu ia id it ja ko li lt lv mi mk ml mn ms ne nl nn no pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta th tr uk uz uz@Latn vi wa yi zh_CN zh_TW"
386
AM_GLIB_GNU_GETTEXT
387
LIBS="$LIBS $INTLLIBS"
388 389 390
AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
        sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
      esac])
391

Owen Taylor's avatar
Owen Taylor committed
392
AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
Owen Taylor's avatar
Owen Taylor committed
393

394 395
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
396
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
397

398
gtk_save_LIBS=$LIBS
399 400 401 402
LIBS="$LIBS -lm"
AC_TRY_RUN([#include <math.h>
             int main (void) { return (log(1) != log(1.)); }],
     AC_MSG_RESULT(none needed),
403
     gtk_save_CFLAGS="$CFLAGS"
404 405 406 407 408
     CFLAGS="$CFLAGS -std1"
     AC_TRY_RUN([#include <math.h>
	         int main (void) { return (log(1) != log(1.)); }],
         AC_MSG_RESULT(-std1),
         AC_MSG_RESULT()
409
         CFLAGS="$gtk_save_CFLAGS"
410
         AC_MSG_WARN(
411 412 413 414
                [No ANSI prototypes found in library. (-std1 didn't work.)]),
	 true
     ),
     AC_MSG_RESULT(none needed)
415 416 417
)
LIBS=$gtk_save_LIBS

418 419 420
AC_MSG_CHECKING(for the BeOS)
case $host in
  *-*-beos*)
Manish Singh's avatar
Manish Singh committed
421
    AC_MSG_RESULT(yes)
422 423
    MATH_LIB=
  ;;
Manish Singh's avatar
Manish Singh committed
424 425
  *)
    AC_MSG_RESULT(no)
426 427 428
  ;;
esac

Manish Singh's avatar
Manish Singh committed
429 430 431 432
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),
433
  gtk_save_CFLAGS="$CFLAGS"
Manish Singh's avatar
Manish Singh committed
434 435 436 437
  CFLAGS="$CFLAGS -posix"
  AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
    AC_MSG_RESULT(-posix),
    AC_MSG_RESULT()
438
    CFLAGS="$gtk_save_CFLAGS"
Manish Singh's avatar
Manish Singh committed
439 440
    AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))

441
#
Owen Taylor's avatar
Owen Taylor committed
442 443
# Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
# 
444

445
GLIB_PACKAGES="gobject-2.0 gmodule-2.0"
446

447
AM_PATH_GLIB_2_0(glib_required_version, :,
Owen Taylor's avatar
Owen Taylor committed
448
  AC_MSG_ERROR([
449 450
*** GLIB glib_required_version or better is required. The latest version of 
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
Owen Taylor's avatar
Owen Taylor committed
451
  gobject gmodule gthread)
Owen Taylor's avatar
Owen Taylor committed
452

Owen Taylor's avatar
Owen Taylor committed
453 454 455 456 457 458 459 460
dnl
dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
dnl
gtk_save_LIBS=$LIBS
LIBS="$LIBS $GLIB_LIBS"
AC_CHECK_FUNCS(bind_textdomain_codeset)
LIBS=$gtk_save_LIBS

Tor Lillqvist's avatar
Tor Lillqvist committed
461
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
462
AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
Tor Lillqvist's avatar
Tor Lillqvist committed
463
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
464 465 466 467 468

if test "${with_ie55+set}" = set && test $with_ie55 != no; then
  AC_MSG_CHECKING([for dimm.h])
  saved_CFLAGS="$CFLAGS"
  CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
469
  AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
470 471 472
#ifdef __GNUC__
#define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
#define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
473 474 475
#endif
#include <windows.h>
#include <objbase.h>
476
#include <imm.h>
477
#ifdef __GNUC__
478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502
#undef IMEMENUITEMINFOA
#undef IMEMENUITEMINFOW
#endif
#include <dimm.h>
],
   [],
   [AC_MSG_RESULT(yes)
    AC_MSG_CHECKING([for IE55 uuid.lib])
    if test -f $with_ie55/Lib/uuid.lib ; then
      AC_MSG_RESULT(yes)
      have_ie55=yes
      AC_DEFINE(HAVE_DIMM_H)
      IE55_UUID_LIB="$with_ie55/Lib/uuid.lib"
      AC_SUBST(IE55_UUID_LIB)
    else
      AC_MSG_RESULT(no)
      CFLAGS="$saved_CFLAGS"
      have_ie55=no
    fi
    ],
   [AC_MSG_RESULT(no)
    CFLAGS="$saved_CFLAGS"
    have_ie55=no])
fi
AM_CONDITIONAL(HAVE_IE55, test x$have_ie55 = xyes)
Tor Lillqvist's avatar
Tor Lillqvist committed
503

504
if test "${with_wintab+set}" = set && test $with_wintab != no; then
Tor Lillqvist's avatar
Tor Lillqvist committed
505 506 507 508 509 510 511
  AC_MSG_CHECKING([for wintab.h])
  saved_CFLAGS="$CFLAGS"
  CFLAGS="$CFLAGS -I$with_wintab/include"
  AC_TRY_COMPILE([#include <windows.h>
#include <wintab.h>], 
   [],
   [AC_MSG_RESULT(yes)
512
    AC_MSG_CHECKING([for wntab32x.lib])
513
    if test -f $with_wintab/lib/i386/wntab32x.lib ; then
514
      AC_MSG_RESULT(yes)
515 516 517 518 519
      have_wintab=yes
      AC_DEFINE(HAVE_WINTAB)
      WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
      AC_SUBST(WINTAB_LIB)
    else
520 521
      AC_MSG_RESULT(no)
      CFLAGS="$saved_cflags"
522 523
      have_wintab=no
    fi
Tor Lillqvist's avatar
Tor Lillqvist committed
524 525
    ],
   [AC_MSG_RESULT(no)
526
    CFLAGS="$saved_cflags"
Tor Lillqvist's avatar
Tor Lillqvist committed
527 528 529
    have_wintab=no])
fi
AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
Tor Lillqvist's avatar
Tor Lillqvist committed
530

531 532 533
saved_cflags="$CFLAGS"
saved_ldflags="$LDFLAGS"

534

535 536
# Checks for header files.
AC_HEADER_STDC
537

538 539
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
Elliot Lee's avatar
Elliot Lee committed
540

541 542 543
# Checks for library functions.
AC_TYPE_SIGNAL
AC_FUNC_MMAP
544

545 546
AC_CHECK_FUNCS(getresuid)
AC_TYPE_UID_T
547

548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563
# Check if <sys/select.h> needs to be included for fd_set
AC_MSG_CHECKING([for fd_set])
AC_TRY_COMPILE([#include <sys/types.h>],
        [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
if test $gtk_ok = yes; then
    AC_MSG_RESULT([yes, found in sys/types.h])
else
    AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
    if test $gtk_ok = yes; then
        AC_DEFINE(HAVE_SYS_SELECT_H)
        AC_MSG_RESULT([yes, found in sys/select.h])
    else
	AC_DEFINE(NO_FD_SET)
	AC_MSG_RESULT(no)
    fi
fi
564

565 566 567 568 569 570 571
# `widechar' tests for gdki18n.h
AC_MSG_CHECKING(for wchar.h)
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])
fi
AC_MSG_RESULT($gdk_wchar_h)
572

573 574 575 576 577 578 579
# Check for wctype.h (for iswalnum)
AC_MSG_CHECKING(for wctype.h)
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])
fi
AC_MSG_RESULT($gdk_wctype_h)
580

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

585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603
oLIBS="$LIBS"
LIBS="$LIBS $GDK_WLIBS"
# The following is necessary for Linux libc-5.4.38
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);
], gdk_working_wctype=yes, gdk_working_wctype=no)
LIBS="$oLIBS"
604

605 606 607 608 609 610
if test $gdk_working_wctype = no; then
   AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
   GDK_WLIBS=
fi
AC_MSG_RESULT($gdk_working_wctype)
AC_SUBST(GDK_WLIBS)
Havoc Pennington's avatar
Delete.  
Havoc Pennington committed
611

612

613 614 615
##################################################
# Checks for gdk-pixbuf
##################################################
616

617 618 619 620 621 622 623 624 625 626 627 628 629 630
dnl ********************************************************
dnl * See whether we need to load our modules as .la files *
dnl ********************************************************

use_la_modules=false
case $host in
  *-aix*) use_la_modules=true
esac

if $use_la_modules ; then
   AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
fi


631
AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
632

633 634 635
AC_ARG_ENABLE(modules,
              [AC_HELP_STRING([--disable-modules],
                              [disable dynamic module loading])])
636

637 638
dynworks=false
deps=
639
if test x$enable_modules = xno; then
640 641 642 643
    AC_MSG_RESULT(no)
else
    AC_MSG_RESULT(yes)
    AC_MSG_CHECKING(whether dynamic modules work)
644
    ## for loop is to strip newline 
645
    tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-2.0`
646 647 648
    for I in $tmp; do
        dynworks=$I
    done
649

650 651 652 653 654 655 656 657 658 659 660 661 662
    dnl Now we check to see if our libtool supports shared lib deps
    dnl (in a rather ugly way even)
    if $dynworks; then
        pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
        pixbuf_deplibs_check=`$pixbuf_libtool_config | \
            grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
            sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
        if test "x$pixbuf_deplibs_check" = "xnone" || \
           test "x$pixbuf_deplibs_check" = "xunknown" || \
           test "x$pixbuf_deplibs_check" = "x"; then
            dynworks=false
        fi
    fi
663

664 665 666 667 668 669
    if $dynworks; then
        AC_DEFINE(USE_GMODULE)
        AC_MSG_RESULT(yes)
    else
        AC_MSG_RESULT(no)
    fi
670
fi
Havoc Pennington's avatar
Havoc Pennington committed
671

Owen Taylor's avatar
Owen Taylor committed
672 673 674
dnl We allow people to disable image loaders explicitely, but if they don't we error
dnl out so that people don't accidentally build without them.

675 676 677 678 679 680 681 682 683
AC_ARG_WITH(libpng,
            [AC_HELP_STRING([--without-libpng],
                            [disable PNG loader for gdk-pixbuf])])
AC_ARG_WITH(libjpeg,
            [AC_HELP_STRING([--without-libjpeg],
                            [disable JPEG loader for gdk-pixbuf])])
AC_ARG_WITH(libtiff,
            [AC_HELP_STRING([--without-libtiff],
                            [disable TIFF loader for gdk-pixbuf])])
Owen Taylor's avatar
Owen Taylor committed
684

685
dnl Test for libtiff
Owen Taylor's avatar
Owen Taylor committed
686
  if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
687
    AC_CHECK_LIB(tiff, TIFFReadScanline,
Tor Lillqvist's avatar
Tor Lillqvist committed
688
      [AC_CHECK_HEADER(tiffio.h,
689
        TIFF='tiff'; LIBTIFF='-ltiff',
Tor Lillqvist's avatar
Tor Lillqvist committed
690 691 692
        AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
      [AC_CHECK_LIB(tiff, TIFFWriteScanline,
        [AC_CHECK_HEADER(tiffio.h,
693
          TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
Tor Lillqvist's avatar
Tor Lillqvist committed
694 695 696
          AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
        [AC_CHECK_LIB(tiff34, TIFFFlushData,
          [AC_CHECK_HEADER(tiffio.h,
697
            TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
Tor Lillqvist's avatar
Tor Lillqvist committed
698 699
            AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
        AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
Havoc Pennington's avatar
Havoc Pennington committed
700 701
  fi

Owen Taylor's avatar
Owen Taylor committed
702 703 704 705 706 707 708
  if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
     AC_MSG_ERROR([
*** Checks for TIFF loader failed. You can build without it by passing 
*** --without-libtiff to configure but some programs using GTK+ may
*** not work properly])
  fi

709
dnl Test for libjpeg
Owen Taylor's avatar
Owen Taylor committed
710
  if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
711 712 713 714 715 716 717 718 719 720
    AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
      jpeg_ok=yes,
      jpeg_ok=no
      AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
    if test "$jpeg_ok" = yes; then
      AC_MSG_CHECKING([for jpeglib.h])
      AC_TRY_CPP(
[#include <stdio.h>
#undef PACKAGE
#undef VERSION
721
#undef HAVE_STDLIB_H
722 723 724 725 726 727 728 729 730 731 732 733 734
#include <jpeglib.h>],
        jpeg_ok=yes,
        jpeg_ok=no)
      AC_MSG_RESULT($jpeg_ok)
      if test "$jpeg_ok" = yes; then
        LIBJPEG='-ljpeg'
        AC_CHECK_LIB(jpeg, jpeg_simple_progression,     
          AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
          AC_MSG_WARN(JPEG library does not support progressive saving.))
      else
          AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
      fi
    fi
735 736
  fi

Owen Taylor's avatar
Owen Taylor committed
737 738 739 740 741 742 743
  if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
     AC_MSG_ERROR([
*** Checks for JPEG loader failed. You can build without it by passing 
*** --without-libjpeg to configure but some programs using GTK+ may
*** not work properly])
  fi

744
dnl Test for libpng
Owen Taylor's avatar
Owen Taylor committed
745
  if test x$with_libpng != xno && test -z "$LIBPNG"; then
746 747 748 749 750 751 752 753 754 755 756 757 758
    AC_MSG_CHECKING(for libpng12)
    if $PKG_CONFIG --exists libpng12 ; then
        AC_MSG_RESULT(yes)
        PNG='png'
	PNG_DEP_CFLAGS_PACKAGES=libpng12
	LIBPNG=`$PKG_CONFIG --libs libpng12`
    else
      AC_MSG_RESULT(no)
      AC_CHECK_LIB(png, png_read_info,
        [AC_CHECK_HEADER(png.h,
          png_ok=yes,
          png_ok=no)],
        AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
759
      if test "$png_ok" = yes; then
760 761 762 763 764 765 766 767 768 769 770
        AC_MSG_CHECKING([for png_structp in png.h])
        AC_TRY_COMPILE([#include <png.h>],
          [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
          png_ok=yes,
          png_ok=no)
        AC_MSG_RESULT($png_ok)
        if test "$png_ok" = yes; then
          PNG='png'; LIBPNG='-lpng -lz'
        else
          AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
        fi
771
      else
772
       AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
773 774
      fi
    fi
775
  fi
776

Owen Taylor's avatar
Owen Taylor committed
777 778 779 780 781 782 783 784
  if test x$with_libpng != xno && test -z "$LIBPNG"; then
     AC_MSG_ERROR([
*** Checks for PNG loader failed. You can build without it by passing 
*** --without-libpng to configure but many programs using GTK+ will
*** not work properly. The PNG loader is also needed if you are compiling
*** from CVS.])
  fi

785 786 787
AC_SUBST(LIBTIFF)
AC_SUBST(LIBJPEG)
AC_SUBST(LIBPNG)
788

789
AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
790

791 792 793 794
#
# Allow building some or all gdk-pixbuf loaders included
#
AC_MSG_CHECKING(pixbuf loaders to build)
795

796 797 798 799 800 801 802 803
dnl due to an autoconf bug, commas in the first arg to
dnl AC_HELP_STRING cause problems.
dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
dnl                [build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
AC_ARG_WITH(included_loaders,
[  --with-included-loaders=LOADER1,LOADER2,...
                          build the specified loaders into gdk-pixbuf (only
                          used if module loading disabled)])
804

805 806 807 808 809 810 811 812 813
if $dynworks; then 
        :
else
   ## if the option was specified, leave it; otherwise disable included loaders
   if test x$with_included_loaders = xno; then
           with_included_loaders=yes
   fi
fi

814
all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx"
815 816 817 818
included_loaders=""
# If no loaders specified, include all
if test "x$with_included_loaders" = xyes ; then
  included_loaders="$all_loaders"
819
else
820
  included_loaders="$with_included_loaders"
821 822
fi

823
AC_MSG_RESULT($included_loaders)
824

825 826
INCLUDED_LOADER_OBJ=
INCLUDED_LOADER_DEFINE=
827

828 829
IFS="${IFS= 	}"; gtk_save_ifs="$IFS"; IFS=","
for loader in $included_loaders; do
830
 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
831 832 833 834
   :
 else
   AC_MSG_ERROR([the specified loader $loader does not exist])
 fi
835

836 837 838 839 840 841
 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libpixbufloader-static-$loader.la"
 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
done
IFS="$gtk_save_ifs"
AC_SUBST(INCLUDED_LOADER_OBJ)
AC_SUBST(INCLUDED_LOADER_DEFINE)
842

843
AC_HEADER_SYS_WAIT
Alexander Larsson's avatar
Alexander Larsson committed
844

845 846 847 848 849 850
AC_TYPE_SIGNAL

AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)

Havoc Pennington's avatar
Havoc Pennington committed
851
if $dynworks ; then
852
  STATIC_LIB_DEPS=
853
  if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
Havoc Pennington's avatar
Havoc Pennington committed
854
    STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
855
  fi
856
  if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
Havoc Pennington's avatar
Havoc Pennington committed
857
    STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
858
  fi
859
  if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
Havoc Pennington's avatar
Havoc Pennington committed
860
    STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
861
  fi
862
else
863
  STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
864
fi
Elliot Lee's avatar
Elliot Lee committed
865

866 867 868
# Checks to see if we should compile in MMX support (there will be
# a runtime test when the code is actually run to see if it should
# be used - this just checks if we can compile it.)
869
#
870
# This code is partially taken from Mesa
871
#
872 873 874 875 876 877 878 879 880
AC_MSG_CHECKING(for x86 platform)
case $host_cpu in
  i386|i486|i586|i686|i786|k6|k7)
	use_x86_asm=yes
        ;;
   *)
  	use_x86_asm=no
esac
AC_MSG_RESULT($use_x86_asm)
Elliot Lee's avatar
Elliot Lee committed
881

882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901
use_mmx_asm=no
if test $use_x86_asm = yes; then
    save_ac_ext=$ac_ext
    ac_ext=S
    
    AC_MSG_CHECKING(compiler support for MMX)
    cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
    if AC_TRY_EVAL(ac_compile); then
        use_mmx_asm=yes
    fi

    rm -rf conftest*

    ac_ext=$save_ac_ext
    if test $use_mmx_asm = yes; then
      AC_DEFINE(USE_MMX)
      AC_MSG_RESULT(yes)
    else
      AC_MSG_RESULT(no)
    fi
Elliot Lee's avatar
Elliot Lee committed
902
fi
903

904
AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
905

906 907 908 909 910
REBUILD_PNGS=
if test -z "$LIBPNG"; then
  REBUILD_PNGS=#
fi

911 912
dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling

913
AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
914

915
if test $cross_compiling = yes; then
916 917
  AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
  if test x$GDK_PIXBUF_CSOURCE = xno; then
918
    REBUILD_PNGS=#
919 920
  fi
fi
921

922 923 924 925 926 927 928 929 930 931
if test ! -f $srcdir/gtk/stock-icons/gtkstockpixbufs.h && 
   test "x$REBUILD_PNGS" = "x#" ; then
     AC_MSG_ERROR([
*** gtkstockpixbufs.h is not in the tree, and cannot be built
*** because you don't have libpng, or (when cross-compiling) you 
*** don't have a prebuilt gdk-pixbuf-csource on the host system.])
fi

AC_SUBST(REBUILD_PNGS)

932
GDK_PIXBUF_PACKAGES="gmodule-2.0 gobject-2.0"
933 934
GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
GDK_PIXBUF_EXTRA_CFLAGS= 
935
GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
936
GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
937

938 939 940 941 942
AC_SUBST(GDK_PIXBUF_PACKAGES)
AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
AC_SUBST(GDK_PIXBUF_DEP_LIBS)
AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
943

944

945 946 947
########################################
# Windowing system checks
########################################
948

949 950
GDK_EXTRA_LIBS=$GDK_WLIBS
GDK_EXTRA_CFLAGS= 
951
GTK_DEP_LIBS_FOR_X=
952

953 954
FREETYPE_LIBS=
FREETYPE_CFLAGS=
955
if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
956 957 958 959 960 961 962 963 964
  #
  # Checks for FreeType
  #
  have_freetype=false
  AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
  if test "x$FREETYPE_CONFIG" != "xno" ; then
    FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
    FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`

965 966 967 968
    gtk_save_LIBS="$LIBS"
    LIBS="$FREETYPE_LIBS $LIBS"
    AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
    LIBS="$gtk_save_LIBS"
969 970 971 972 973 974 975

    if $have_freetype ; then
      gtk_save_cppflags="$CPPFLAGS"
      CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"

      AC_MSG_CHECKING([For sufficiently new FreeType (at least 2.0.1)])
      AC_TRY_COMPILE([
976 977
#include <ft2build.h>
#include FT_FREETYPE_H
978 979
#include FT_ERRORS_H
    ],
980 981
	             [(void)1;],:,have_freetype=false)
      if $have_freetype ; then
982 983 984 985 986 987 988 989 990 991 992 993
        AC_MSG_RESULT(yes)
      else
        AC_MSG_RESULT(no)
      fi

      CPPFLAGS="$gtk_save_cppflags"
    fi
  fi
  AC_SUBST(FREETYPE_LIBS)
  AC_SUBST(FREETYPE_CFLAGS)
fi

994
if test "x$gdktarget" = "xx11"; then
995
  # We start off with the libraries from Pango
Elliot Lee's avatar
Elliot Lee committed
996

997 998
  ## be sure we also have Pango built with Xft2 support
  if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then
999 1000 1001
    if $have_freetype ; then
      :
    else
1002
      AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries])
1003
    fi
1004
  else
1005
    AC_MSG_ERROR([Pango 1.2.0 and Xft backend is required for x11 target])
1006
  fi
1007

1008 1009
  if $PKG_CONFIG --exists xft ; then : ; else
    AC_MSG_ERROR([Xft version 2 is required for x11 target])
1010 1011
  fi

1012 1013 1014
  #
  # If Pango included the shared library dependencies from X11 in
  # the pkg-config output, then we use that (to avoid duplicates).
1015
  # but if they were omitted to avoid binary compatibility problems,
1016 1017
  # then we need to repeat the checks.
  #
1018
  x_libs="`$PKG_CONFIG --libs pangoxft`"
1019
  case "$x_libs" in
1020 1021 1022 1023
    *-lX11*) pango_omitted_x_deps=no ;;
    *)       pango_omitted_x_deps=yes ;;
  esac

1024
  x_cflags="`$PKG_CONFIG --cflags pangoxft`"
1025
  x_extra_libs=
Elliot Lee's avatar
Elliot Lee committed
1026

1027 1028 1029 1030 1031
  AC_PATH_XTRA
  if test x$no_x = xyes ; then
    AC_MSG_ERROR([X development libraries not found])
  fi
  
1032
  if test $pango_omitted_x_deps = yes ; then
1033 1034
    # Old versions of Xft didn't necessarily include -lX11 in the output
    x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS"
1035 1036
  fi    	

Havoc Pennington's avatar
Updates  
Havoc Pennington committed
1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048
  ## Strip the .la files
 
  x_libs_for_checks=""
  for I in $x_libs ; do
    case $I in 
      *.la) ;;
      *) x_libs_for_checks="$x_libs_for_checks $I" ;;
    esac
  done

  # Sanity check for the X11 library
  AC_CHECK_LIB(X11, XOpenDisplay, :,
1049
            AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
Havoc Pennington's avatar
Updates  
Havoc Pennington committed
1050
            $x_libs_for_checks)
Elliot Lee's avatar
Elliot Lee committed
1051

1052 1053
  if test "x$enable_shm" = "xyes"; then
    # Check for the Xext library (needed for XShm extention)
1054
    AC_CHECK_LIB(Xext, XShmAttach,
1055
        [GTK_ADD_LIB(x_extra_libs,Xext)],
1056
        # On AIX, it is in XextSam instead, but we still need -lXext
1057 1058 1059 1060
        [AC_CHECK_LIB(XextSam, XShmAttach, 
            [GTK_ADD_LIB(x_extra_libs,Xext)
             GTK_ADD_LIB(x_extra_libs,XextSam)
            ], , -lXext $x_libs_for_checks)],
Havoc Pennington's avatar
Updates  
Havoc Pennington committed
1061
        $x_libs_for_checks)
1062
  fi
Elliot Lee's avatar
Elliot Lee committed
1063

1064
  GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1065
  # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
1066
  GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS"
Elliot Lee's avatar
Elliot Lee committed
1067

1068 1069 1070 1071 1072
  # GTK+ uses some X calls, so needs to link against X directly
  if test $enable_explicit_deps != yes ; then
    GTK_DEP_LIBS_FOR_X="$X_LIBS -lX11 $X_EXTRA_LIBS"
  fi

Alexander Larsson's avatar
Alexander Larsson committed
1073 1074
  # Check for Xinerama extension (Solaris impl or Xfree impl)

1075 1076 1077
  gtk_save_cppflags="$CPPFLAGS"
  CPPFLAGS="$CPPFLAGS $x_cflags"

Alexander Larsson's avatar
Alexander Larsson committed
1078 1079 1080 1081 1082 1083
  case "$host" in
      *-*-solaris*)
          # Check for solaris
	  use_solaris_xinerama=yes
	  AC_CHECK_LIB(Xext, XineramaGetInfo,
			use_solaris_xinerama=yes, use_solaris_xinerama=no)
1084
	  if test "x$use_solaris_xinerama" = "xyes"; then