dnl COMPILER WIN32 support ==================================== # figure out how to run CC with access to the win32 api if present # configure that as the CC program, # WIN32 may be present with WINE, under cygwin, or under mingw, # or cross compilers targeting those same three targets. # as it happens, I can only test cygwin, so extra input here will be appreciated # send bug reports to Robert Collins # # logic: is CC already configured? if not, call AC_PROG_CC. # if so - try it. If that doesn't work ,try -mwin32. If that doesn't work, fail # # 2001-03-15 - Changed from yes/no to true/false -suggested by Lars J Aas # * Change true to : - suggest by Alexandre Oliva # * changed layout on the basis of autoconf mailing list: # there are now two interfaces, a language specific one which sets # or clears WIN32 && WIN32FLAGS as appropriate # * m4 Syntax fixup: Akim Demaille # # All faults& bugs are mine - Robert AC_DEFUN([AC_PROG_CC_WIN32], [ AC_REQUIRE([AC_PROG_CC]) AC_MSG_CHECKING([how to access the Win32 API]) WIN32FLAGS= AC_TRY_COMPILE(,[#ifndef WIN32 #ifndef _WIN32 #error WIN32 or _WIN32 not defined #endif #endif], [ dnl found windows.h with the current config. AC_MSG_RESULT([present by default]) ], [ dnl try -mwin32 ac_compile_save="$ac_compile" dnl we change CC so config.log looks correct save_CC="$CC" ac_compile="$ac_compile -mwin32" CC="$CC -mwin32" AC_TRY_COMPILE(,[#ifndef WIN32 #ifndef _WIN32 #error WIN32 or _WIN32 not defined #endif #endif], [ dnl found windows.h using -mwin32 AC_MSG_RESULT([found via -mwin32]) ac_compile="$ac_compile_save" CC="$save_CC" WIN32FLAGS="-mwin32" ], [ ac_compile="$ac_compile_save" CC="$save_CC" AC_MSG_RESULT([not found]) ]) ]) ]) # figure out how to run CXX with access to the win32 api if present # configure that as the CXX program, # WIN32 may be present with WINE, under cygwin, or under mingw, # or cross compilers targeting those same three targets. # as it happens, I can only test cygwin, so extra input here will be appreciated # send bug reports to Robert Collins AC_DEFUN([AC_PROG_CXX_WIN32], [ AC_MSG_CHECKING([how to access the Win32 API]) WIN32FLAGS= AC_TRY_COMPILE(,[#ifndef WIN32 #ifndef _WIN32 #error WIN32 or _WIN32 not defined #endif #endif], [ dnl found windows.h with the current config. AC_MSG_RESULT([present by default]) ], [ dnl try -mwin32 ac_compile_save="$ac_compile" dnl we change CC so config.log looks correct save_CXX="$CXX" ac_compile="$ac_compile -mwin32" CXX="$CXX -mwin32" AC_TRY_COMPILE(,[#ifndef WIN32 #ifndef _WIN32 #error WIN32 or _WIN32 not defined #endif #endif], [ dnl found windows.h using -mwin32 AC_MSG_RESULT([found via -mwin32]) ac_compile="$ac_compile_save" CXX="$save_CXX" WIN32FLAGS="-mwin32" ], [ ac_compile="$ac_compile_save" CXX="$save_CXX" AC_MSG_RESULT([not found]) ]) ]) ]) AC_DEFUN(AC_API_WIN32, [ dnl high level interface for finding out compiler support for win32. AC_LANG_CASE([C], AC_PROG_CC_WIN32 [CFLAGS="$WIN32FLAGS $CFLAGS" CPPFLAGS="$WIN32FLAGS $CPPFLAGS"], [C++], AC_PROG_CXX_WIN32 [CXXFLAGS="$WIN32FLAGS $CXXFLAGS" CPPFLAGS="$WIN32FLAGS $CPPFLAGS"], [AC_FATAL([No macro support for WIN32 with $_AC_LANG]) ]) ]) dnl end compiler WIN32 support ===========================================