configure.in 30.9 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
# 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
13 14 15 16 17 18


## We could have pkg-config uniquify the ldflags and cflags by calling
## it once with both the GLib and Pango package names, but we don't,
## someone should fix that.

Owen Taylor's avatar
Owen Taylor committed
19

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

23 24 25 26
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
#
27 28 29 30 31 32 33 34
# 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.
#
35
GTK_MAJOR_VERSION=1
36
GTK_MINOR_VERSION=3
Havoc Pennington's avatar
Havoc Pennington committed
37
GTK_MICRO_VERSION=6
38 39
GTK_INTERFACE_AGE=0
GTK_BINARY_AGE=0
40
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
41 42 43
dnl
AC_DIVERT_POP()dnl

44 45 46
AC_SUBST(GTK_MAJOR_VERSION)
AC_SUBST(GTK_MINOR_VERSION)
AC_SUBST(GTK_MICRO_VERSION)
47 48
AC_SUBST(GTK_INTERFACE_AGE)
AC_SUBST(GTK_BINARY_AGE)
49 50 51 52 53 54 55 56 57 58 59 60
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)

61 62 63 64
#
# gdk-pixbuf gets versioned separately, and for now, using standard
# libtool versioning, not GTK+-style versioning
#
65 66 67
GDK_PIXBUF_MAJOR=$GTK_MAJOR_VERSION
GDK_PIXBUF_MINOR=$GTK_MINOR_VERSION
GDK_PIXBUF_MICRO=$GTK_MICRO_VERSION
68 69 70 71 72 73
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)

74 75 76 77
# For automake.
VERSION=$GTK_VERSION
PACKAGE=gtk+

78 79
GETTEXT_PACKAGE=gtk20
AC_SUBST(GETTEXT_PACKAGE)
80
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
81

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

Elliot Lee's avatar
Elliot Lee committed
85
dnl Initialize automake stuff
86
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
Elliot Lee's avatar
Elliot Lee committed
87 88 89 90 91 92 93 94 95 96 97 98

# 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

99 100 101 102 103 104 105 106 107 108 109 110
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
111 112 113 114
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)
115
AC_ARG_ENABLE(xim, [  --enable-xim            support XIM [default=yes]],
116
			, enable_xim="yes")
117 118
AC_ARG_ENABLE(xim_inst, [  --disable-xim-inst      does not use xim instantiate callback],
			, enable_xim_inst="maybe")
Havoc Pennington's avatar
Havoc Pennington committed
119 120
AC_ARG_ENABLE(xkb, [  --enable-xkb            support XKB [default=maybe]],
			, enable_xkb="maybe")
121
AC_ARG_ENABLE(rebuilds, [  --disable-rebuilds      disable all source autogeneration rules],,enable_rebuilds=yes)
Elliot Lee's avatar
Elliot Lee committed
122

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

125
gdktarget=x11
126 127
gdktargetlib=libgdk-x11-1.3.la
gtktargetlib=libgtk-x11-1.3.la
128 129 130 131 132 133 134 135 136
AC_ARG_WITH(gdktarget, [  --with-gdktarget=[x11/nanox/linux-fb] select GDK target [default=x11] ],
	gdktarget=$with_gdktarget)

AC_SUBST(gdktarget)
case $gdktarget in
  x11|nanox|linux-fb) ;;
  *) AC_MSG_ERROR([Invalid target for GDK: use x11, nanox or linux-fb.]);;
esac

Alexander Larsson's avatar
Alexander Larsson committed
137 138
AC_ARG_ENABLE(shadowfb, [  --disable-shadowfb      disable shadowfb support for linux-fb],,enable_shadowfb=yes)
	
139
if test "x$enable_debug" = "xyes"; then
Tim Janik's avatar
Tim Janik committed
140
  test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
141
  GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
Elliot Lee's avatar
Elliot Lee committed
142
else
143
  if test "x$enable_debug" = "xno"; then
144
    GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
145
  else
146
    GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
147
  fi
Elliot Lee's avatar
Elliot Lee committed
148 149
fi

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

Alexander Larsson's avatar
Alexander Larsson committed
152
			
Elliot Lee's avatar
Elliot Lee committed
153 154 155 156 157
# Build time sanity check...
AM_SANITY_CHECK

# Checks for programs.
AC_PROG_CC
158
AC_ISC_POSIX
Elliot Lee's avatar
Elliot Lee committed
159 160 161 162
AM_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_MAKE_SET

Raja R Harinath's avatar
Raja R Harinath committed
163
changequote(,)dnl
164
if test "x$GCC" = "xyes"; then
Raja R Harinath's avatar
Raja R Harinath committed
165 166 167 168
  case " $CFLAGS " in
  *[\ \	]-Wall[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac
Elliot Lee's avatar
Elliot Lee committed
169

170
  if test "x$enable_ansi" = "xyes"; then
Raja R Harinath's avatar
Raja R Harinath committed
171 172 173 174 175 176 177 178 179
    case " $CFLAGS " in
    *[\ \	]-ansi[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -ansi" ;;
    esac

    case " $CFLAGS " in
    *[\ \	]-pedantic[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -pedantic" ;;
    esac
Elliot Lee's avatar
Elliot Lee committed
180 181
  fi
fi
Raja R Harinath's avatar
Raja R Harinath committed
182
changequote([,])dnl
Elliot Lee's avatar
Elliot Lee committed
183

184 185 186
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

187 188 189 190 191
# libtool option to control which symbols are exported
# right now, symbols starting with _ are not exported
LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
AC_SUBST(LIBTOOL_EXPORT_OPTIONS)

192
# define a MAINT-like variable REBUILD which is set if Perl
193 194 195 196 197
# and awk are found, so autogenerated sources can be rebuilt

AC_PROG_AWK
AC_CHECK_PROGS(PERL, perl5 perl)

198 199 200
# We would like indent, but don't require it.
AC_CHECK_PROG(INDENT, indent, indent)

201
REBUILD=\#
202 203 204 205 206
if test "x$enable_rebuilds" = "xyes" && \
     test -n "$PERL" && \
     $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
     test -n "$AWK" ; then
  REBUILD=
207 208
fi
AC_SUBST(REBUILD)
209

210
AC_CHECK_FUNCS(lstat mkstemp sigsetjmp bind_textdomain_codeset)
Tor Lillqvist's avatar
Tor Lillqvist committed
211

212 213 214 215
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
216
	STRIP_BEGIN='$(strip $(STRIP_DUMMY)'
217 218 219 220 221
	STRIP_END=')'
	AC_MSG_RESULT(yes)
else
	AC_MSG_RESULT(no)
fi
222 223
STRIP_DUMMY=
AC_SUBST(STRIP_DUMMY)
224 225 226
AC_SUBST(STRIP_BEGIN)
AC_SUBST(STRIP_END)

Owen Taylor's avatar
Owen Taylor committed
227
# i18n stuff
228
ALL_LINGUAS="az ca cs da de el en_GB en@IPA es et eu fa fi fr ga gl he hr hu ia it ja ko lt nl nn no pl pt pt_BR ro ru sk sl sp sr sv tr uk vi wa zh_TW zh_CN"
229
AM_GLIB_GNU_GETTEXT
230 231
LIBS="$LIBS $INTLLIBS"

232
# AM_GLIB_GNU_GETTEXT above substs $DATADIRNAME
233 234 235
# 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
236

237 238
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
239
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
240

241
gtk_save_LIBS=$LIBS
242 243 244 245
LIBS="$LIBS -lm"
AC_TRY_RUN([#include <math.h>
             int main (void) { return (log(1) != log(1.)); }],
     AC_MSG_RESULT(none needed),
246
     gtk_save_CFLAGS="$CFLAGS"
247 248 249 250 251
     CFLAGS="$CFLAGS -std1"
     AC_TRY_RUN([#include <math.h>
	         int main (void) { return (log(1) != log(1.)); }],
         AC_MSG_RESULT(-std1),
         AC_MSG_RESULT()
252
         CFLAGS="$gtk_save_CFLAGS"
253
         AC_MSG_WARN(
254 255 256 257
                [No ANSI prototypes found in library. (-std1 didn't work.)]),
	 true
     ),
     AC_MSG_RESULT(none needed)
258 259 260
)
LIBS=$gtk_save_LIBS

261 262 263 264
MATH_LIB=-lm
AC_MSG_CHECKING(for the BeOS)
case $host in
  *-*-beos*)
265
    AC_MSG_RESULT(yes)
266 267
    MATH_LIB=
  ;;
268 269
  *)
    AC_MSG_RESULT(no)
270 271 272
  ;;
esac

273 274 275 276
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),
277
  gtk_save_CFLAGS="$CFLAGS"
278 279 280 281
  CFLAGS="$CFLAGS -posix"
  AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
    AC_MSG_RESULT(-posix),
    AC_MSG_RESULT()
282
    CFLAGS="$gtk_save_CFLAGS"
283 284
    AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))

285
#
Owen Taylor's avatar
Owen Taylor committed
286 287
# Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
# 
288

289
GLIB_PACKAGES="gobject-2.0 gmodule-2.0"
Owen Taylor's avatar
Owen Taylor committed
290
GLIB_REQUIRED_VERSION=1.3.4
291

Owen Taylor's avatar
Owen Taylor committed
292
AM_PATH_GLIB_2_0($GLIB_REQUIRED_VERSION, :,
Owen Taylor's avatar
Owen Taylor committed
293
  AC_MSG_ERROR([
Owen Taylor's avatar
Owen Taylor committed
294 295 296
*** GLIB $GLIB_REQUIRED_VERSION or better is required. The latest version of 
*** GLIB is always available from ftp://ftp.gtk.org/.]),
  gobject gmodule gthread)
Owen Taylor's avatar
Owen Taylor committed
297

298 299
AC_CHECK_HEADERS(dirent.h, AC_DEFINE(HAVE_DIRENT_H))
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
300
AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
Tor Lillqvist's avatar
Tor Lillqvist committed
301
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
302

303 304 305
saved_cflags="$CFLAGS"
saved_ldflags="$LDFLAGS"

306

307 308
# Checks for header files.
AC_HEADER_STDC
309

310 311
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
Elliot Lee's avatar
Elliot Lee committed
312

313 314 315
# Checks for library functions.
AC_TYPE_SIGNAL
AC_FUNC_MMAP
316

317 318
AC_CHECK_FUNCS(getresuid)
AC_TYPE_UID_T
319

320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335
# 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
336

337 338 339 340 341 342 343
# `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)
344

345 346 347 348 349 350 351
# 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)
352

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

357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
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"
376

377 378 379 380 381 382
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
Havoc Pennington committed
383

384 385


386 387 388
##################################################
# Checks for gdk-pixbuf
##################################################
389

390
AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
391

392 393 394 395 396 397 398
AC_ARG_ENABLE(modules, [  --disable-modules       Disables dynamic module loading],[
	if test x$withval = xyes; then 
	    with_modules=yes
        else
            with_modules=no
	fi
])
399

400 401 402 403 404 405 406
dynworks=false
deps=
if test x$with_modules = xno; then
    AC_MSG_RESULT(no)
else
    AC_MSG_RESULT(yes)
    AC_MSG_CHECKING(whether dynamic modules work)
407 408 409 410 411
    ## for loop is to strip newline 
    tmp=`pkg-config --variable=gmodule_supported gmodule-2.0`
    for I in $tmp; do
        dynworks=$I
    done
412
fi
413

414 415 416 417 418 419 420 421 422 423 424 425 426
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
427

428 429 430 431 432 433
if $dynworks; then
   AC_DEFINE(USE_GMODULE)
   AC_MSG_RESULT(yes)
else
   AC_MSG_RESULT(no)
fi
Havoc Pennington's avatar
Havoc Pennington committed
434

435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
dnl Test for libtiff
  if test -z "$LIBTIFF"; then
    AC_CHECK_LIB(tiff, TIFFReadScanline,
      AC_CHECK_HEADER(tiffio.h,
        TIFF='tiff'; LIBTIFF='-ltiff',
        AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
      AC_CHECK_LIB(tiff, TIFFWriteScanline,
        AC_CHECK_HEADER(tiffio.h,
          TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
          AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
        AC_CHECK_LIB(tiff34, TIFFFlushData,
          AC_CHECK_HEADER(tiffio.h,
            TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
            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
450 451
  fi

452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476
dnl Test for libjpeg
  if test -z "$LIBJPEG"; then
    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
#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
477 478
  fi

479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494
dnl Test for libpng
  if test -z "$LIBPNG"; then
    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)
    if test "$png_ok" = yes; then
      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'
495
      else
496
        AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
497
      fi
498 499
    else
     AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
500
    fi
501
  fi
502

503 504 505
AC_SUBST(LIBTIFF)
AC_SUBST(LIBJPEG)
AC_SUBST(LIBPNG)
506

507
AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
508

509 510 511 512
#
# Allow building some or all gdk-pixbuf loaders included
#
AC_MSG_CHECKING(pixbuf loaders to build)
513

514
AC_ARG_WITH(included_loaders, [  --with-included-loaders=LOADER1,LOADER2,... Build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
515

516 517 518 519 520 521 522 523 524
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

525 526 527 528 529
all_loaders="png,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm"
included_loaders=""
# If no loaders specified, include all
if test "x$with_included_loaders" = xyes ; then
  included_loaders="$all_loaders"
530
else
531
  included_loaders="$with_included_loaders"
532 533
fi

534
AC_MSG_RESULT($included_loaders)
535

536 537
INCLUDED_LOADER_OBJ=
INCLUDED_LOADER_DEFINE=
538

539 540 541 542 543 544 545
IFS="${IFS= 	}"; gtk_save_ifs="$IFS"; IFS=","
for loader in $included_loaders; do
 if echo "$all_loaders" | grep "\(^\|\,\)$loader\(\$\|\,\)" > /dev/null; then
   :
 else
   AC_MSG_ERROR([the specified loader $loader does not exist])
 fi
546

547 548 549 550 551 552
 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)
553

554 555
AC_HEADER_DIRENT
AC_HEADER_SYS_WAIT
Alexander Larsson's avatar
Alexander Larsson committed
556

557 558 559 560 561 562
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
563
if $dynworks ; then
564 565
  STATIC_LIB_DEPS=
  if echo "$included_loaders" | grep "\(^\|\,\)tiff\(\$\|\,\)" > /dev/null; then
Havoc Pennington's avatar
Havoc Pennington committed
566
    STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
567 568
  fi
  if echo "$included_loaders" | grep "\(^\|\,\)jpeg\(\$\|\,\)" > /dev/null; then
Havoc Pennington's avatar
Havoc Pennington committed
569
    STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
570 571
  fi
  if echo "$included_loaders" | grep "\(^\|\,\)png\(\$\|\,\)" > /dev/null; then
Havoc Pennington's avatar
Havoc Pennington committed
572
    STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
573
  fi
574 575
else
  STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
576
fi
Elliot Lee's avatar
Elliot Lee committed
577

578 579 580
# 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.)
581
#
582
# This code is partially taken from Mesa
583
#
584 585 586 587 588 589 590 591 592
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)
593

594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613
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
614
fi
615

616
AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
617 618


619
GDK_PIXBUF_PACKAGES="gmodule-2.0 gobject-2.0"
620 621
GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
GDK_PIXBUF_EXTRA_CFLAGS= 
622 623
GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
624

625 626 627 628 629
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)
630

631

632 633 634
########################################
# Windowing system checks
########################################
635

636 637
GDK_EXTRA_LIBS=$GDK_WLIBS
GDK_EXTRA_CFLAGS= 
638

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

642 643 644 645 646 647 648 649
  ## be sure we also have Pango built with xft support
  if $PKG_CONFIG --exists pangoxft ; then
    PANGO_PACKAGES="pangox pangoxft"
    have_xft=true
    AC_DEFINE(HAVE_XFT)
  else
    PANGO_PACKAGES="pangox"
    have_xft=false
650
  fi
651

652
  AM_CONDITIONAL(HAVE_XFT, $have_xft)
653

654 655 656
  x_libs="`$PKG_CONFIG --libs $PANGO_PACKAGES`"
  x_cflags="`$PKG_CONFIG --cflags $PANGO_PACKAGES`"
  x_extra_libs=
Elliot Lee's avatar
Elliot Lee committed
657

Havoc Pennington's avatar
Havoc Pennington committed
658 659 660 661 662 663 664 665 666 667 668 669
  ## 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, :,
670
            AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
Havoc Pennington's avatar
Havoc Pennington committed
671
            $x_libs_for_checks)
Elliot Lee's avatar
Elliot Lee committed
672

673 674
  if test "x$enable_shm" = "xyes"; then
    # Check for the Xext library (needed for XShm extention)
675 676 677 678
    AC_CHECK_LIB(Xext, XShmAttach,
        if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
          x_extra_libs="-lXext"
        fi,
679 680
        # On AIX, it is in XextSam instead, but we still need -lXext
        AC_CHECK_LIB(XextSam, XShmAttach, 
681 682 683 684
            if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
               x_extra_libs="-lXextSam -lXext"
            else
               x_extra_libs="-lXextSam"
Havoc Pennington's avatar
Havoc Pennington committed
685 686
            fi, , $x_libs_for_checks),
        $x_libs_for_checks)
687
  fi
Elliot Lee's avatar
Elliot Lee committed
688

689
  GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
690 691
  # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
  GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs `$PKG_CONFIG --libs pangox`"
Elliot Lee's avatar
Elliot Lee committed
692

693
  # Check for shaped window extension
Owen Taylor's avatar
Owen Taylor committed
694

695
  AC_CHECK_LIB(Xext, XShapeCombineMask,
696 697
      if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
           x_extra_libs="-lXext $x_extra_libs"
698 699 700
      fi
      AC_DEFINE(HAVE_SHAPE_EXT),
      ,
Havoc Pennington's avatar
Havoc Pennington committed
701
      $x_libs_for_checks)
702 703 704 705 706 707

  # Check for XConvertCase (X11R6 specific)

  AC_CHECK_LIB(X11, XConvertCase,
      AC_DEFINE(HAVE_XCONVERTCASE),
      ,
Havoc Pennington's avatar
Havoc Pennington committed
708
      $x_libs_for_checks)
709 710

  # Check for XIM support.
Raja R Harinath's avatar
Raja R Harinath committed
711

712 713 714
  AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
	    : ,
	    enable_xim_inst="no",
Havoc Pennington's avatar
Havoc Pennington committed
715
	    $x_libs_for_checks)
Raja R Harinath's avatar
Raja R Harinath committed
716

717 718 719
  # On Solaris, calling XRegisterIMInstantiateCallback seems to
  # cause an immediate segfault, so we disable it, unless
  # the user specifically forces it to be on.
Raja R Harinath's avatar
Raja R Harinath committed
720

721 722 723 724 725 726 727 728 729 730
  if test x$enable_xim_inst = xmaybe ; then
    case host in
	  *-*-solaris*)
            enable_xim_inst="no"
            ;;
	  *)
	    enable_xim_inst="yes"
	    ;;
    esac
  fi
731

732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747
  if test "x$enable_xim" = "xyes"; then
    GTK_XIM_FLAGS="-DUSE_XIM"
    if test "x$enable_xim_inst" = "xyes"; then
      AC_DEFINE(USE_X11R6_XIM)
    fi
  fi

  # Check for XKB support.

  if test "x$enable_xkb" = "xyes"; then
        AC_MSG_WARN(XKB support explicitly enabled)
        AC_DEFINE(HAVE_XKB)
  elif test "x$enable_xkb" = "xmaybe"; then
        AC_CHECK_LIB(X11, XkbQueryExtension,
                     AC_DEFINE(HAVE_XKB),
	             ,
Havoc Pennington's avatar
Havoc Pennington committed
748
	             $x_libs_for_checks)
749 750 751 752 753 754 755 756 757 758 759 760
  else
        AC_MSG_WARN(XKB support explicitly disabled)
  fi

  x_cflags="$X_CFLAGS"
  x_ldflags="$X_LDFLAGS"

  # set up things for XInput

  if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
    AC_DEFINE(XINPUT_GXI)
    xinput_progs=gxid
761
    x_extra_libs="-lXi $x_extra_libs"
762 763
  elif test "x$with_xinput" = "xxfree"; then
    AC_DEFINE(XINPUT_XFREE)
764
    x_extra_libs="-lXi $x_extra_libs"
765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791
  else
    AC_DEFINE(XINPUT_NONE)
  fi

  AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
  AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)

  if test "x$enable_shm" = "xyes"; then
    # 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)
    if test "x$no_xext_lib" = "xyes"; then
      AC_MSG_RESULT(no)
      no_xshm=yes
    else
      if test -f "$x_includes/X11/extensions/XShm.h"; then
        AC_MSG_RESULT(yes)
        AC_DEFINE(HAVE_XSHM_H)
      else
        AC_MSG_RESULT(no)
        no_xshm=yes
      fi
    fi
  fi
Owen Taylor's avatar
Owen Taylor committed
792

793 794
  GDK_EXTRA_CFLAGS=
  GDK_EXTRA_LIBS="$x_extra_libs"
Owen Taylor's avatar
Owen Taylor committed
795

796 797 798
  # these are already defined above
  #gdktargetlib = "libgdk-x11-1.3.la"
  #gtktargetlib = "libgtk-x11-1.3.la"
Owen Taylor's avatar
Owen Taylor committed
799

800
  AM_CONDITIONAL(USE_X11, true)
Owen Taylor's avatar
Owen Taylor committed
801
else
802
  AM_CONDITIONAL(USE_X11, false)
Owen Taylor's avatar
Owen Taylor committed
803 804
fi

805
AC_SUBST(xinput_progs)
Owen Taylor's avatar
Owen Taylor committed
806

807
GDK_PIXBUF_XLIB_PACKAGES=
808 809
GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags  $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825

AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)

if test "x$gdktarget" = "xnanox"; then
  AC_CHECK_LIB(nano-X, GrOpen,,AC_MSG_ERROR([nano-X libraries not found.]))
  # nano-X may require additional libraries
  GDK_EXTRA_LIBS="-lnano-X $GDK_EXTRA_LIBS"

  gdktargetlib="libgdk-nanox-1.3.la"
  gtktargetlib="libgtk-nanox-1.3.la"

  AM_CONDITIONAL(USE_NANOX, true)
Owen Taylor's avatar
Owen Taylor committed
826
else
827
  AM_CONDITIONAL(USE_NANOX, false)
Owen Taylor's avatar
Owen Taylor committed
828 829
fi

830 831 832
if test "x$gdktarget" = "xlinux-fb"; then
  gdktargetlib="libgdk-linux-fb-1.3.la"
  gtktargetlib="libgtk-linux-fb-1.3.la"
Owen Taylor's avatar
Owen Taylor committed
833

834 835 836
  AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
  if test x$FREETYPE_CONFIG = xno ; then
    AC_MSG_ERROR([*** freetype-config not found])
Owen Taylor's avatar
Owen Taylor committed
837 838
  fi

839 840 841
  FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
  FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
  CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
Owen Taylor's avatar
Owen Taylor committed
842

843 844 845 846 847 848
  if test x$enable_shadowfb = xyes ; then
    AC_DEFINE(ENABLE_SHADOW_FB)
  fi
  
  GDK_EXTRA_CFLAGS="$FREETYPE_CFLAGS"
  GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
Owen Taylor's avatar
Owen Taylor committed
849

850 851 852 853
  AM_CONDITIONAL(USE_LINUX_FB, true)
else
  AM_CONDITIONAL(USE_LINUX_FB, false)
fi
Owen Taylor's avatar
Owen Taylor committed
854

855 856
AC_SUBST(gdktargetlib)
AC_SUBST(gtktargetlib)
Owen Taylor's avatar
Owen Taylor committed
857

858
#
859
# Pick correct Pango packages to use
860 861
#

862 863 864 865 866 867 868 869
if test "x$gdktarget" = "xx11"; then
	if $have_xft = true ; then
            PANGO_PACKAGES="pangox pangoxft"
        else
            PANGO_PACKAGES=pangox
        fi
elif test "x$gdktarget" = "xlinux-fb"; then
        PANGO_PACKAGES=pangoft2
870
else
871
        PANGO_PACKAGES=pango
872 873
fi

874
# Check for Pango flags
875

876 877 878 879
AC_MSG_CHECKING(Pango flags)
if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
        PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
        PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
880

881 882 883 884 885 886 887 888 889
        AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
else
        AC_MSG_ERROR([
*** Pango not found. Pango is required to build GTK+.
*** See http://www.pango.org for Pango information.
*** For the framebuffer target, you will need to build 
*** Pango with freetype support.
])
fi
890

891
CFLAGS="$CFLAGS $PANGO_CFLAGS"
892

893 894 895 896
if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
        :
else
        AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
897
*** Can't link to Pango. Pango is required to build
898
*** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS)
899
fi
Owen Taylor's avatar
Owen Taylor committed
900

901 902
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
Owen Taylor's avatar
Owen Taylor committed
903

904
GDK_PACKAGES=$PANGO_PACKAGES
905 906
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
Owen Taylor's avatar
Owen Taylor committed
907

908 909 910 911 912
AC_SUBST(GDK_PACKAGES)
AC_SUBST(GDK_EXTRA_LIBS)
AC_SUBST(GDK_EXTRA_CFLAGS)
AC_SUBST(GDK_DEP_LIBS)
AC_SUBST(GDK_DEP_CFLAGS)
Owen Taylor's avatar
Owen Taylor committed
913 914


915 916 917
########################################
# Check for Accessibility Toolkit flags
########################################
Havoc Pennington's avatar
Havoc Pennington committed
918

919 920 921 922 923
ATK_PACKAGES=atk
AC_MSG_CHECKING(ATK flags)
if $PKG_CONFIG --exists $ATK_PACKAGES ; then
        ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
        ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
Havoc Pennington's avatar
Havoc Pennington committed
924

925 926 927 928 929 930 931
        AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
else
        AC_MSG_ERROR([
*** Accessibility Toolkit not found. Accessibility Toolkit is required
*** to build GTK+.
])
fi
Owen Taylor's avatar
Owen Taylor committed
932

933 934 935 936 937 938 939
if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
        :
else
        AC_CHECK_LIB(atk, atk_object_get_type, : , AC_MSG_ERROR([
                *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
                *** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
fi
940

941 942 943
GTK_PACKAGES=atk
GTK_EXTRA_LIBS=
GTK_EXTRA_CFLAGS= 
944 945
GTK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
946 947 948 949 950 951

AC_SUBST(GTK_PACKAGES)
AC_SUBST(GTK_EXTRA_LIBS)
AC_SUBST(GTK_EXTRA_CFLAGS)
AC_SUBST(GTK_DEP_LIBS)
AC_SUBST(GTK_DEP_CFLAGS)
Owen Taylor's avatar
Owen Taylor committed
952 953


954 955
AC_SUBST(GTK_DEBUG_FLAGS)
AC_SUBST(GTK_XIM_FLAGS)
Owen Taylor's avatar
Owen Taylor committed
956 957

##################################################
Owen Taylor's avatar
Owen Taylor committed
958
# Checks for gtk-doc and docbook-tools
Owen Taylor's avatar
Owen Taylor committed
959 960
##################################################

961 962 963 964 965 966 967 968 969 970
AC_ARG_WITH(html-dir, [  --with-html-dir=PATH path to installed docs ])

if test "x$with_html_dir" = "x" ; then
  HTML_DIR='${datadir}/gtk-doc/html'
else
  HTML_DIR=$with_html_dir
fi

AC_SUBST(HTML_DIR)

Owen Taylor's avatar
Owen Taylor committed
971
AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
Owen Taylor's avatar
Owen Taylor committed
972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987

gtk_doc_min_version=0.6
if $GTKDOC ; then 
    gtk_doc_version=`gtkdoc-mkdb --version`
    AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
    if perl <<EOF ; then
      exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
            ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
EOF
      AC_MSG_RESULT(yes)
   else
      AC_MSG_RESULT(no)
      GTKDOC=false
   fi
fi

Owen Taylor's avatar
Owen Taylor committed
988 989 990
AC_CHECK_PROG(DB2HTML, db2html, true, false)
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)

991 992 993 994 995 996 997
dnl Let people disable the gtk-doc stuff.
AC_ARG_ENABLE(gtk-doc, [  --enable-gtk-doc  Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)

if test x$enable_gtk_doc = xauto ; then
  if test x$GTKDOC = xtrue ; then
    enable_gtk_doc=yes
  else
Owen Taylor's avatar
Owen Taylor committed
998
    enable_gtk_doc=no 
999 1000 1001 1002 1003 1004 1005
  fi
fi

dnl NOTE: We need to use a separate automake conditional for this
dnl       to make this work with the tarballs.
AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)

Owen Taylor's avatar
Owen Taylor committed
1006 1007 1008 1009 1010

##################################################
# Output commands
##################################################

1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047
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
1048
$gdk_wc
1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068
_______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
],[
1069 1070
if test "x$gdktarget" = "xx11" ; then
  gdk_windowing='
1071
#define GDK_WINDOWING_X11'
1072 1073 1074 1075 1076
elif test "x$gdktarget" = "xnanox" ; then
  gdk_windowing='
#define GDK_WINDOWING_NANOX'
elif test "x$gdktarget" = "xlinux-fb" ; then
  gdk_windowing='
1077 1078
#define GDK_WINDOWING_FB
#define GDK_NATIVE_WINDOW_POINTER'
1079 1080
fi

1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094
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


1095 1096
])

1097 1098 1099
AC_PATH_PROG(SGML2HTML, sgml2html, no)
AM_CONDITIONAL(HAVE_SGML2HTML, ! test x$SGML2HTML = xno)

1100
AC_OUTPUT([
Tor Lillqvist's avatar
Tor Lillqvist committed
1101
config.h.win32
1102
gtk+.spec
1103
docs/gtk-config.1
1104
Makefile
1105
gdk-pixbuf-2.0.pc
1106 1107
gdk-2.0.pc
gtk+-2.0.pc
1108 1109 1110
gdk-pixbuf-2.0-uninstalled.pc
gdk-2.0-uninstalled.pc
gtk+-2.0-uninstalled.pc
Havoc Pennington's avatar
Havoc Pennington committed
1111
m4macros/Makefile
Owen Taylor's avatar
Owen Taylor committed
1112
po/Makefile.in
Tor Lillqvist's avatar
Tor Lillqvist committed
1113 1114
build/Makefile
build/win32/Makefile
Owen Taylor's avatar
Owen Taylor committed
1115
demos/Makefile
1116
demos/gtk-demo/Makefile
1117
tests/Makefile
1118
docs/Makefile
1119 1120
docs/reference/Makefile
docs/reference/gdk-pixbuf/Makefile
1121 1122
docs/reference/gdk/Makefile
docs/reference/gtk/Makefile
1123
docs/faq/Makefile
Owen Taylor's avatar
Owen Taylor committed
1124 1125
docs/tutorial/Makefile
gdk-pixbuf/Makefile
1126
gdk-pixbuf/makefile.mingw
Owen Taylor's avatar
Owen Taylor committed
1127 1128
gdk-pixbuf/gdk-pixbuf-features.h
gdk-pixbuf/pixops/Makefile
1129
gdk-pixbuf/pixops/makefile.mingw
1130
gdk/Makefile
1131
gdk/makefile.mingw
1132
gdk/x11/Makefile
1133
gdk/win32/Makefile
1134
gdk/win32/makefile.mingw
1135 1136
gdk/win32/rc/Makefile
gdk/win32/rc/gdk.rc
1137 1138
gdk/nanox/Makefile
gdk/linux-fb/Makefile
1139
gtk/Makefile
1140
gtk/makefile.mingw
1141
gtk/makefile.msc
1142
gtk/gtkcompat.h
1143
gtk/gtk-win32.rc
1144
gtk/stock-icons/Makefile
1145
modules/Makefile
Owen Taylor's avatar
Owen Taylor committed
1146
modules/input/Makefile
Havoc Pennington's avatar
Havoc Pennington committed
1147 1148 1149
contrib/Makefile
contrib/gdk-pixbuf-xlib/Makefile
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
Havoc Pennington's avatar
Havoc Pennington committed
1150
])