You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
334 lines
8.5 KiB
334 lines
8.5 KiB
# Process this file with autoconf to produce a configure script.
|
|
AC_INIT(gdk_imlib/gdk_imlib.h)
|
|
|
|
# Save this value here, since automake will set cflags later
|
|
cflags_set=${CFLAGS+set}
|
|
|
|
AC_CONFIG_HEADERS(config.h)
|
|
|
|
AM_INIT_AUTOMAKE(imlib, 1.9.15)
|
|
AC_PROG_CC
|
|
AM_PROG_LIBTOOL
|
|
|
|
dnl Initialize maintainer mode
|
|
AM_MAINTAINER_MODE
|
|
|
|
dnl Give the user an option to compile without shared memory support,
|
|
dnl incase it is broken for example.
|
|
AC_ARG_ENABLE(shm, [ --enable-shm support shared memory if available [default=yes]], echo $enable_shm, enable_shm="yes")
|
|
|
|
AM_PATH_GTK(1.2.1,[
|
|
GDK_IMLIB="gdk_imlib utils"],[
|
|
GDK_IMLIB=""
|
|
AC_MSG_WARN([*** gdk_imlib will not be built ***])])
|
|
|
|
AC_MSG_CHECKING(whether to build gmodulized imlib)
|
|
|
|
AC_ARG_ENABLE(modules, [ --disable-modules Disables dynamic module loading],[
|
|
if test x$withval = xyes; then
|
|
with_modules=yes
|
|
else
|
|
with_modules=no
|
|
fi
|
|
])
|
|
|
|
dynworks=false
|
|
if test x$with_modules = xno; then
|
|
AC_MSG_RESULT(no)
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
|
|
if test "x$GDK_IMLIB" != x; then
|
|
oLIBS="$LIBS"
|
|
oCFLAGS="$CFLAGS"
|
|
LIBS="$LIBS `glib-config --libs gmodule`"
|
|
CFLAGS="$CFLAGS `glib-config --cflags gmodule`"
|
|
AC_TRY_RUN([
|
|
#include <glib.h>
|
|
#include <gmodule.h>
|
|
main ()
|
|
{
|
|
if (g_module_supported ())
|
|
exit (0);
|
|
else
|
|
exit (1);
|
|
}
|
|
], dynworks=true)
|
|
LIBS="$oLIBS"
|
|
CFLAGS="$oCFLAGS"
|
|
fi
|
|
|
|
dnl Now we check to see if our libtool supports shared lib deps
|
|
dnl (in a rather ugly way even)
|
|
builddir=`pwd`
|
|
if $dynworks; then
|
|
imlib_libtool_config="$builddir/libtool --config"
|
|
imlib_deplibs_check=`$imlib_libtool_config | \
|
|
grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
|
|
sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
|
|
if test "x$imlib_deplibs_check" = "xnone" || \
|
|
test "x$imlib_deplibs_check" = "xunknown" || \
|
|
test "x$imlib_deplibs_check" = "x"; then
|
|
dynworks=false
|
|
fi
|
|
fi
|
|
|
|
if $dynworks; then
|
|
AC_DEFINE(USE_GMODULE, 1, [ ])
|
|
GMODULE_LIBS="`glib-config --libs gmodule`"
|
|
GMODULE_FLAGS="`glib-config --cflags gmodule`"
|
|
AC_SUBST(GMODULE_LIBS)
|
|
AC_SUBST(GMODULE_FLAGS)
|
|
fi
|
|
|
|
fi
|
|
|
|
AC_SUBST(TIFFLIBS)
|
|
AC_SUBST(GIFLIBS)
|
|
AC_SUBST(JPEGLIBS)
|
|
AC_SUBST(PNGLIBS)
|
|
|
|
|
|
AC_SUBST(GDK_IMLIB)
|
|
AM_CONDITIONAL(DYNAMIC_MODULES_WORK, $dynworks)
|
|
|
|
AC_HEADER_STDC
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_SYS_WAIT
|
|
|
|
AC_TYPE_SIGNAL
|
|
|
|
AC_CHECK_FUNCS(vsnprintf)
|
|
AC_CHECK_FUNCS(snprintf)
|
|
AC_CHECK_FUNCS(basename)
|
|
|
|
AC_CHECK_FUNCS(blumfrub)
|
|
AC_CHECK_FUNCS(buckets_of_erogenous_nym)
|
|
AC_CHECK_FUNCS(buttox)
|
|
|
|
AC_CHECK_HEADER(stdarg.h, AC_DEFINE(HAVE_STDARGS, 1, [ ]))
|
|
|
|
AC_CHECK_HEADER(string.h)
|
|
AC_CHECK_HEADER(strings.h)
|
|
|
|
AC_PATH_X
|
|
AC_PATH_XTRA
|
|
|
|
if test "x$x_includes" = "x"; then
|
|
x_includes="/usr/include"
|
|
fi
|
|
|
|
dnl If we are compiling without shared memory support, then don\'t do
|
|
dnl the checks for XShm
|
|
if test "x$enable_shm" = "xyes"; then
|
|
# Check for the Xext library (needed for XShm extension)
|
|
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_xshm_ext=yes, $X_LIBS),
|
|
$X_LIBS)
|
|
fi
|
|
|
|
if test -z "$GDK_IMLIB"; then
|
|
# see macros/gnome-x-checks.m4, and gtk.m4
|
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
|
GX_LIBS="$X_PRE_LIBS $X_LIBS -lX11 -lm"
|
|
else
|
|
CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
|
|
GX_LIBS="$GTK_LIBS"
|
|
fi
|
|
AC_SUBST(GX_LIBS)
|
|
|
|
CPPFLAGS="$CPPFLAGS -I$includedir -I$prefix/include"
|
|
|
|
SUPPORT_LIBS=""
|
|
|
|
dnl Test for shared memory headers and semantics, unless we are
|
|
dnl configured to build without shared memory extensions.
|
|
if test "x$enable_shm" = "xyes"; then
|
|
# Check for shared memory
|
|
AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H, 1, [ ]), no_sys_ipc=yes)
|
|
AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H, 1, [ ]), no_sys_shm=yes)
|
|
|
|
if test "x$no_sys_ipc" != "xyes" \
|
|
&& test "x$no_sys_shm" != "xyes" \
|
|
&& test "x$no_xshm_ext" != "xyes" ; then
|
|
AC_DEFINE(HAVE_SHM, 1, [ ])
|
|
fi
|
|
|
|
# Check whether shmctl IPC_RMID allowes subsequent attaches
|
|
if test "$ac_cv_header_sys_shm_h" = "yes"; then
|
|
AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
|
|
AC_TRY_RUN([
|
|
#include <sys/types.h>
|
|
#include <sys/ipc.h>
|
|
#include <sys/shm.h>
|
|
int main()
|
|
{
|
|
int id;
|
|
char *shmaddr;
|
|
id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0777);
|
|
if (id == -1)
|
|
exit (2);
|
|
shmaddr = shmat (id, 0, 0);
|
|
shmctl (id, IPC_RMID, 0);
|
|
if ((char*) shmat (id, 0, 0) == (char*) -1)
|
|
{
|
|
shmdt (shmaddr);
|
|
exit (1);
|
|
}
|
|
shmdt (shmaddr);
|
|
shmdt (shmaddr);
|
|
exit (0);
|
|
}
|
|
],
|
|
AC_DEFINE(IPC_RMID_DEFERRED_RELEASE, 1, [ ])
|
|
AC_MSG_RESULT(yes),
|
|
AC_MSG_RESULT(no),
|
|
AC_MSG_RESULT(assuming no))
|
|
fi
|
|
|
|
# Check for the X shared memory extension header file
|
|
AC_MSG_CHECKING(X11/extensions/XShm.h)
|
|
if test "x$no_xext_lib" = "xyes"; then
|
|
# If we couldn't find XShmAttach earlier, don't use the header
|
|
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, 1, [ ])
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
no_xshm=yes
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
dnl Test for libjpeg
|
|
AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
|
|
jpeg_ok=yes,
|
|
jpeg_ok=no
|
|
AC_MSG_ERROR(*** JPEG library not found ***), $GX_LIBS)
|
|
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
|
|
JPEGLIBS="-ljpeg"
|
|
SUPPORT_LIBS="$SUPPORT_LIBS -ljpeg"; AC_DEFINE(HAVE_LIBJPEG, 1, [ ])
|
|
else
|
|
AC_MSG_ERROR(*** JPEG header file not found ***)
|
|
fi
|
|
fi
|
|
|
|
dnl Test for libtiff
|
|
AC_CHECK_LIB(tiff, TIFFReadScanline,
|
|
[AC_CHECK_HEADER(tiffio.h,
|
|
[TIFFLIBS="-ltiff"
|
|
SUPPORT_LIBS="$SUPPORT_LIBS -ltiff"; AC_DEFINE(HAVE_LIBTIFF, 1, [ ])],
|
|
[AC_MSG_ERROR(*** TIFF header files not found ***)])],
|
|
[AC_CHECK_LIB(tiff, TIFFWriteScanline,
|
|
[AC_CHECK_HEADER(tiffio.h,
|
|
[TIFFLIBS="-ltiff -ljpeg -lz"
|
|
SUPPORT_LIBS="$SUPPORT_LIBS -ltiff -ljpeg -lz"; AC_DEFINE(HAVE_LIBTIFF, 1, [ ])],
|
|
[AC_MSG_ERROR(*** TIFF header files not found ***)])],
|
|
[AC_CHECK_LIB(tiff34, TIFFFlushData,
|
|
[AC_CHECK_HEADER(tiffio.h,
|
|
[TIFFLIBS="-ltiff34 -ljpeg -lz"
|
|
SUPPORT_LIBS="$SUPPORT_LIBS -ltiff34 -ljpeg -lz"; AC_DEFINE(HAVE_LIBTIFF, 1, [ ])],
|
|
[AC_MSG_ERROR(*** TIFF header files not found ***)])],
|
|
[AC_MSG_ERROR(*** TIFF library not found ***)], -ljpeg -lz $GX_LIBS)], -ljpeg -lz $GX_LIBS)], $GX_LIBS)
|
|
|
|
|
|
AC_CHECK_HEADER(gif_lib.h,
|
|
[AC_CHECK_LIB(ungif, DGifOpenFileName,
|
|
[GIFLIBS="-lungif"
|
|
SUPPORT_LIBS="$SUPPORT_LIBS -lungif"; AC_DEFINE(HAVE_LIBGIF, 1, [ ])],
|
|
[AC_CHECK_LIB(gif, DGifOpenFileName,
|
|
[GIFLIBS="-lgif"
|
|
SUPPORT_LIBS="$SUPPORT_LIBS -lgif"
|
|
AC_DEFINE(HAVE_LIBGIF, 1, [ ])],
|
|
[AC_MSG_ERROR(*** GIF library file not found ***)],
|
|
$GX_LIBS)],
|
|
$GX_LIBS)],
|
|
[AC_MSG_ERROR(*** GIF header not found ***)])
|
|
|
|
AC_CHECK_LIB(png, png_read_info,
|
|
[AC_CHECK_HEADER(png.h,
|
|
png_ok=yes,
|
|
png_ok=no)],
|
|
[AC_MSG_ERROR(*** PNG library not found ***)], -lz -lm $GX_LIBS)
|
|
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_set_IHDR;],
|
|
png_ok=yes,
|
|
png_ok=no)
|
|
AC_MSG_RESULT($png_ok)
|
|
if test "$png_ok" = no; then
|
|
AC_MSG_ERROR(*** PNG library is too old ***)
|
|
fi
|
|
else
|
|
AC_MSG_ERROR(*** PNG header file not found ***)
|
|
fi
|
|
|
|
if test "$png_ok" = yes; then
|
|
PNGLIBS="-lpng -lz"
|
|
AC_SUBST(HAVE_LIBPNG)
|
|
SUPPORT_LIBS="$SUPPORT_LIBS -lpng -lz"; AC_DEFINE(HAVE_LIBPNG, 1, [ ])
|
|
fi
|
|
|
|
SUPPORT_LIBS="$SUPPORT_LIBS -lm"
|
|
GDK_SUPPORT_LIBS="$SUPPORT_LIBS"
|
|
|
|
if test $dynworks = false; then
|
|
GIFLIBS=
|
|
TIFFLIBS=
|
|
PNGLIBS=
|
|
JPEGLIBS=
|
|
else
|
|
GDK_SUPPORT_LIBS=
|
|
fi
|
|
|
|
AM_CONDITIONAL(HAVE_GIF, test "x$GIFLIBS" != x)
|
|
AM_CONDITIONAL(HAVE_TIFF, test "x$TIFFLIBS" != x)
|
|
AM_CONDITIONAL(HAVE_PNG, test "x$PNGLIBS" != x)
|
|
AM_CONDITIONAL(HAVE_JPEG, test "x$JPEGLIBS" != x)
|
|
|
|
AC_SUBST(SUPPORT_LIBS)
|
|
AC_SUBST(GDK_SUPPORT_LIBS)
|
|
AC_SUBST(CPPFLAGS)
|
|
AC_SUBST(X_CFLAGS)
|
|
AC_SUBST(LDFLAGS)
|
|
AC_SUBST(X_PRE_LIBS)
|
|
AC_SUBST(X_LIBS)
|
|
AC_SUBST(X_EXTRA_LIBS)
|
|
|
|
AC_OUTPUT([
|
|
imlib.spec
|
|
gdk_imlib/Makefile
|
|
Imlib/Makefile
|
|
utils/Makefile
|
|
config/Makefile
|
|
doc/Makefile
|
|
Makefile
|
|
imlib-config
|
|
imlib.pc
|
|
imlibgdk.pc
|
|
], [
|
|
case "$CONFIG_FILES" in
|
|
*imlib-config*)
|
|
chmod +x imlib-config
|
|
;;
|
|
esac])
|