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