dnl -*- mode: shell-script -*-
dnl Process this file with autoconf to produce a configure script.
m4_define([libidl_major_version], [0])
m4_define([libidl_minor_version], [8])
m4_define([libidl_micro_version], [14])
m4_define([libidl_version], [libidl_major_version.libidl_minor_version.libidl_micro_version])
# Before making a release, the LT_VERSION string should be modified.
# The string is of the form C:R:A.
# - If interfaces have been changed or added, but binary compatibility
# has
# been preserved, change to C+1:0:A+1
# - If binary compatibility has been broken (eg removed or changed
# interfaces)
# change to C+1:0:0
# - If the interface is the same as the previous version, change to
# C:R+1:A
m4_define([lt_version], [0:0:0])
dnl the forth argument is because AC_INIT will lowercase the package name
dnl if left off.
AC_INIT([libIDL], [libidl_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=libIDL],
[libIDL])
AC_CONFIG_SRCDIR([include/libIDL/IDL.h.in])
AM_INIT_AUTOMAKE([1.9 no-define no-dist-gzip dist-bzip2])
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
AC_SUBST(LIBIDL_MAJOR_VERSION, [libidl_major_version])
AC_SUBST(LIBIDL_MINOR_VERSION, [libidl_minor_version])
AC_SUBST(LIBIDL_MICRO_VERSION, [libidl_micro_version])
AC_SUBST(LIBIDL_VERSION, [libidl_version])
AC_SUBST(LT_VERSION, [lt_version])
AC_DEFINE_UNQUOTED(LIBIDL_VERSION, ["libidl_version"],
[the libIDL version number])
dnl --disable-comile-warnings
AC_ARG_ENABLE(compile-warnings,
AC_HELP_STRING([--enable-compile-warnings=@<:@no/yes@:>@],
[Turn on compiler warnings.]),,
[enable_compile_warnings="yes"])
dnl Make sure that $ACLOCAL_FLAGS is passed to subsequent aclocal runs.
ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
AC_SUBST([ACLOCAL_AMFLAGS])
AC_ISC_POSIX
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CPP
AC_CPP_ACCEPT_IDL
if [[ "$ac_cv_cpp_accept_idl" = "no" ]]; then
AC_MSG_WARN(CPP does not accept IDL)
fi
AC_CPP_PIPE_STDIN
CPP_PROGRAM="$CPP"
AC_DEFINE_UNQUOTED(CPP_PROGRAM, "$CPP")
AM_PROG_LEX
if [[ "$LEX" != "flex" ]]; then
AC_MSG_ERROR(flex is required to create the libIDL scanner)
fi
LFLAGS="-8"
AC_SUBST(LFLAGS)
AC_PROG_YACC
dnl determine if a usable yacc is available on this system
AC_CHECK_PROG(HAVE_YACC, $YACC, yes, no)
if [[ "$HAVE_YACC" = "no" ]]; then
AC_MSG_ERROR($YACC is not usable as yacc - consider using bison)
fi
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
AM_MAINTAINER_MODE
AC_MSG_CHECKING([for Win32])
case "$host" in
*-*-mingw*)
os_win32=yes
;;
*)
os_win32=no
;;
esac
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
dnl Checks for libraries.
PKG_CHECK_MODULES(LIBIDL, glib-2.0 >= 2.4.0)
AC_STDC_HEADERS
AC_CHECK_HEADERS(stddef.h)
AC_CHECK_HEADERS(unistd.h)
AC_CHECK_HEADERS(wchar.h, HAVE_WCHAR_H=1)
AC_CHECK_HEADERS(wcstr.h, HAVE_WCSTR_H=1)
if test -z "$HAVE_WCHAR_H"; then
HAVE_WCHAR_H=0
fi
if test -z "$HAVE_WCSTR_H"; then
HAVE_WCSTR_H=0
fi
AC_SUBST(HAVE_WCHAR_H)
AC_SUBST(HAVE_WCSTR_H)
AC_CHECK_FUNCS(popen symlink access)
dnl glib requires a 64-bit type
dnl to support MSVC add __int64
AC_CHECK_SIZEOF(long long)
AC_MSG_CHECKING(for format to printf and scanf a guint64)
AC_CACHE_VAL(libIDL_cv_long_long_format,[
for format in ll q I64; do
AC_TRY_RUN([#include <stdio.h>
#include <stdlib.h>
int main()
{
long long b, a = -0x3AFAFAFAFAFAFAFALL;
char buffer[1000];
sprintf (buffer, "%${format}u", a);
sscanf (buffer, "%${format}u", &b);
exit (b!=a);
}
],
libIDL_cv_long_long_format=${format}
break)
done])
if test -n "$libIDL_cv_long_long_format"; then
AC_MSG_RESULT(%${libIDL_cv_long_long_format}u)
IDL_LL="\"${libIDL_cv_long_long_format}\""
AC_SUBST(IDL_LL)
else
AC_MSG_RESULT(none)
AC_MSG_ERROR([
*** libIDL requires a 64 bit format type.
])
fi
if test "x$GCC" = "xyes" -a "x$enable_compile_warnings" != "xno"; then
WARN_CFLAGS="-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations"
else
WARN_CFLAGS=
fi
AC_MSG_CHECKING(what warning flags to pass to the C compiler)
AC_MSG_RESULT($WARN_CFLAGS)
AC_SUBST(WARN_CFLAGS)
AC_CONFIG_FILES([
Makefile
Makefile.msc
libIDL-zip
include/Makefile
include/libIDL/Makefile
include/libIDL/IDL.h
libIDL-config-2
libIDL.m4
libIDL.spec
libIDL-2.0.pc
libIDL-2.0-uninstalled.pc
])
AC_OUTPUT
echo
echo libIDL $LIBIDL_VERSION configuration complete
echo
echo " C Preprocessor: \"$CPP_PROGRAM\""
if [[ "$ac_cv_cpp_pipe_stdin" = "yes" ]]; then
echo " Standard input supported."
else
echo " Using symlink method."
fi
echo