242 lines
6.3 KiB
Plaintext
242 lines
6.3 KiB
Plaintext
dnl -- Begin zlib autoconf macro
|
|
dnl Copyright (c) 2002 Patrick McFarland
|
|
dnl Under the GPL License
|
|
dnl When copying, include from Begin to End zlib autoconf macro, including
|
|
dnl those tags, so others can easily copy it too. (Maybe someday this will
|
|
dnl become zlib.m4?)
|
|
dnl
|
|
dnl AM_PATH_ZLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
|
dnl Tests for zlib, outputs ZLIB_VERSION, ZLIB_LIBS, and ZLIB_CFLAGS
|
|
AC_DEFUN(AM_PATH_ZLIB,
|
|
[dnl
|
|
dnl
|
|
dnl
|
|
AC_ARG_WITH(zlib-prefix,[ --with-zlib-prefix=PFX Prefix where zlib is installed (optional)], zlib_prefix="$withval", zlib_prefix="")
|
|
min_zlib_version=ifelse([$1], ,1.1.0,$1)
|
|
AC_MSG_CHECKING(for zlib - version >= $min_zlib_version)
|
|
|
|
tempLIBS="$LIBS"
|
|
tempCFLAGS="$CFLAGS"
|
|
if test x$zlib_prefix != x ; then
|
|
ZLIB_LIBS="-L$zlib_prefix"
|
|
ZLIB_CFLAGS="-I$zlib_prefix"
|
|
fi
|
|
ZLIB_LIBS="$ZLIB_LIBS -lz"
|
|
LIBS="$LIBS $ZLIB_LIBS"
|
|
CFLAGS="$CFLAGS $ZLIB_CFLAGS"
|
|
with_zlib=no
|
|
AC_TRY_RUN([
|
|
#include <zlib.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
char*
|
|
my_strdup (char *str)
|
|
{
|
|
char *new_str;
|
|
|
|
if (str)
|
|
{
|
|
new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
|
|
strcpy (new_str, str);
|
|
}
|
|
else
|
|
new_str = NULL;
|
|
|
|
return new_str;
|
|
}
|
|
|
|
int main (int argc, char *argv[])
|
|
{
|
|
int major, minor, micro, zlib_major_version, zlib_minor_version, zlib_micro_version;
|
|
|
|
char *zlibver;
|
|
char *tmp_version;
|
|
|
|
zlibver = ZLIB_VERSION;
|
|
|
|
{ FILE *fp = fopen("conf.zlibtest", "a");
|
|
if ( fp ) {
|
|
fprintf(fp, "%s", zlibver);
|
|
fclose(fp);
|
|
}
|
|
}
|
|
|
|
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
|
tmp_version = my_strdup("$min_zlib_version");
|
|
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
|
printf("%s, bad version string for min_zlib_version.\n", "$min_zlib_version");
|
|
exit(1);
|
|
}
|
|
if (sscanf(zlibver, "%d.%d.%d", &zlib_major_version, &zlib_minor_version, &zlib_micro_version) != 3) {
|
|
printf("%s, bad version string given by zlib, sometimes due to very old zlibs \n didnt correctly define their version. Please upgrade if you are running \n an old zlib.\n", "zlibver");
|
|
exit(1);
|
|
}
|
|
|
|
if ((zlib_major_version > major) ||
|
|
((zlib_major_version == major) && (zlib_minor_version > minor)) ||
|
|
((zlib_major_version == major) && (zlib_minor_version == minor) && (zlib_micro_version >= micro)))
|
|
{
|
|
return 0;
|
|
}
|
|
else
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
],with_zlib=yes,,[AC_MSG_WARN(Cross Compiling, Assuming zlib is avalible)])
|
|
|
|
if test x$with_zlib = xyes; then
|
|
AC_MSG_RESULT(yes)
|
|
ZLIB_VERSION=$(<conf.zlibtest)
|
|
ifelse([$2], , :, [$2])
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
ZLIB_CFLAGS=""
|
|
ZLIB_LIBS=""
|
|
ZLIB_VERSION=""
|
|
ifelse([$3], , :, [$3])
|
|
fi
|
|
LIBS="$tempLIBS"
|
|
CFLAGS="$tempCFLAGS"
|
|
rm conf.zlibtest
|
|
AC_SUBST(ZLIB_CFLAGS)
|
|
AC_SUBST(ZLIB_VERSION)
|
|
AC_SUBST(ZLIB_LIBS)
|
|
])
|
|
dnl -- End zlib autoconf macro
|
|
|
|
dnl ----
|
|
|
|
dnl -- Begin libpng autoconf macro
|
|
dnl Copyright (c) 2002 Patrick McFarland
|
|
dnl Under the GPL License
|
|
dnl When copying, include from Begin to End libpng autoconf macro, including
|
|
dnl those tags, so others can easily copy it too. (Maybe someday this will
|
|
dnl become libpng.m4?)
|
|
dnl
|
|
dnl AM_PATH_LIBPNG([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
|
dnl Tests for libpng, outputs LIBPNG_VERSION, LIBPNG_LIBS, and LIBPNG_CFLAGS
|
|
AC_DEFUN(AM_PATH_LIBPNG,
|
|
[dnl
|
|
dnl
|
|
dnl
|
|
|
|
dnl Comment out this section, and the other labled parts to disable the user
|
|
dnl having a choice about being able to disable libpng or not. Recommended
|
|
dnl you use AC_MSG_ERROR(LIBPNG >= 1.0.0 is required) for the
|
|
dnl ACTION-IF-NOT-FOUND if you plan on disabling user choice.
|
|
|
|
dnl <--- disable for no user choice part #1
|
|
AC_ARG_ENABLE(libpng,[ --disable-libpng Build without libpng support ],,enable_libpng=yes)
|
|
dnl --->
|
|
|
|
AC_ARG_WITH(libpng-prefix,[ --with-libpng-prefix=PFX Prefix where libpng is installed (optional)], libpng_prefix="$withval", libpng_prefix="")
|
|
|
|
min_libpng_version=ifelse([$1], ,1.0.0,$1)
|
|
tempLIBS="$LIBS"
|
|
tempCFLAGS="$CFLAGS"
|
|
if test x$libpng_prefix != x ; then
|
|
LIBPNG_LIBS="-L$libpng_prefix"
|
|
LIBPNG_CFLAGS="-I$libpng_prefix"
|
|
fi
|
|
LIBPNG_LIBS="$LIBPNG_LIBS -lpng"
|
|
LIBS="$LIBS $LIBPNG_LIBS"
|
|
CFLAGS="$CFLAGS $LIBPNG_CFLAGS"
|
|
|
|
AC_MSG_CHECKING(for libpng - version >= $min_libpng_version)
|
|
with_libpng=no
|
|
|
|
dnl <--- disable for no user choice part #2
|
|
if test x$enable_libpng != xno; then
|
|
dnl --->
|
|
|
|
AC_TRY_RUN([
|
|
#include <png.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
char*
|
|
my_strdup (char *str)
|
|
{
|
|
char *new_str;
|
|
|
|
if (str)
|
|
{
|
|
new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
|
|
strcpy (new_str, str);
|
|
}
|
|
else
|
|
new_str = NULL;
|
|
|
|
return new_str;
|
|
}
|
|
|
|
int main (int argc, char *argv[])
|
|
{
|
|
int major, minor, micro, libpng_major_version, libpng_minor_version, libpng_micro_version;
|
|
|
|
char *libpngver;
|
|
char *tmp_version;
|
|
|
|
libpngver = PNG_LIBPNG_VER_STRING;
|
|
|
|
{ FILE *fp = fopen("conf.libpngtest", "a");
|
|
if ( fp ) {
|
|
fprintf(fp, "%s", libpngver);
|
|
fclose(fp);
|
|
}
|
|
}
|
|
|
|
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
|
tmp_version = my_strdup("$min_libpng_version");
|
|
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
|
printf("%s, bad version string for min_libpng_version.\n", "$min_libpng_version");
|
|
exit(1);
|
|
}
|
|
if (sscanf(libpngver, "%d.%d.%d", &libpng_major_version, &libpng_minor_version, &libpng_micro_version) != 3) {
|
|
printf("%s, bad version string given by libpng, sometimes due to very old libpngs \n didnt correctly define their version. Please upgrade if you are running \n an old libpng.\n", "libpngver");
|
|
exit(1);
|
|
}
|
|
|
|
if ((libpng_major_version > major) ||
|
|
((libpng_major_version == major) && (libpng_minor_version > minor)) ||
|
|
((libpng_major_version == major) && (libpng_minor_version == minor) && (libpng_micro_version >= micro)))
|
|
{
|
|
return 0;
|
|
}
|
|
else
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
],with_libpng=yes,,[AC_MSG_WARN(Cross Compiling, Assuming libpng is avalible)])
|
|
|
|
if test x$with_libpng = xyes; then
|
|
AC_MSG_RESULT(yes)
|
|
LIBPNG_VERSION=$(<conf.libpngtest)
|
|
ifelse([$2], , :, [$2])
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
LIBPNG_CFLAGS=""
|
|
LIBPNG_LIBS=""
|
|
LIBPNG_VERSION=""
|
|
ifelse([$3], , :, [$3])
|
|
fi
|
|
LIBS="$tempLIBS"
|
|
CFLAGS="$tempCFLAGS"
|
|
rm conf.libpngtest
|
|
AC_SUBST(LIBPNG_CFLAGS)
|
|
AC_SUBST(LIBPNG_VERSION)
|
|
AC_SUBST(LIBPNG_LIBS)
|
|
|
|
dnl <--- disable for no user choice part #3
|
|
else
|
|
AC_MSG_RESULT(disabled by user)
|
|
fi
|
|
dnl --->
|
|
])
|
|
dnl -- End libpng autoconf macro
|