Blame common/m4/gst-platform.m4

Packit 971217
dnl AG_GST_PLATFORM
Packit 971217
dnl Check for platform specific features and define some variables
Packit 971217
dnl
Packit 971217
dnl GST_EXTRA_MODULE_SUFFIX: contains a platform specific
Packit 971217
dnl   extra module suffix additional to G_MODULE_SUFFIX
Packit 971217
dnl
Packit 971217
dnl HAVE_OSX: Defined if compiling for OS X
Packit 971217
dnl
Packit 971217
dnl GST_HAVE_UNSAFE_FORK: Defined if fork is unsafe (Windows)
Packit 971217
dnl
Packit 971217
dnl HAVE_WIN32: Defined if compiling on Win32
Packit 971217
dnl
Packit 971217
Packit 971217
AC_DEFUN([AG_GST_PLATFORM],
Packit 971217
[
Packit 971217
  AC_REQUIRE([AC_CANONICAL_HOST])
Packit 971217
Packit 971217
  case $host_os in
Packit 971217
    rhapsody*)
Packit 971217
      AC_DEFINE_UNQUOTED(GST_EXTRA_MODULE_SUFFIX, [".dylib"], [Extra platform specific plugin suffix])
Packit 971217
      ;;
Packit 971217
    darwin*)
Packit 971217
      AC_DEFINE_UNQUOTED(GST_EXTRA_MODULE_SUFFIX, [".dylib"], [Extra platform specific plugin suffix])
Packit 971217
      AC_DEFINE_UNQUOTED(HAVE_OSX, 1, [Defined if compiling for OSX])
Packit 971217
      ;;
Packit 971217
    cygwin*)
Packit 971217
      AC_DEFINE_UNQUOTED(GST_HAVE_UNSAFE_FORK, 1, [Defined when registry scanning through fork is unsafe])
Packit 971217
      ;;
Packit 971217
    mingw* | msvc* | mks*)
Packit 971217
      dnl HAVE_WIN32 currently means "disable POSIXisms".
Packit 971217
      AC_DEFINE_UNQUOTED(HAVE_WIN32, 1, [Defined if compiling for Windows])
Packit 971217
Packit 971217
      dnl define __MSVCRT_VERSION__ version if not set already by the
Packit 971217
      dnl compiler (ie. mostly for mingw). This is needed for things like
Packit 971217
      dnl __stat64 to be available. If set by the compiler, ensure it's
Packit 971217
      dnl new enough - we need at least WinXP SP2.
Packit 971217
      AC_TRY_COMPILE([ ], [ return __MSVCRT_VERSION__; ], [
Packit 971217
          AC_TRY_COMPILE([ ], [
Packit 971217
            #if __MSVCRT_VERSION__ < 0x0601
Packit 971217
            #error "MSVCRT too old"
Packit 971217
            #endif
Packit 971217
          ], [
Packit 971217
            AC_MSG_NOTICE([MSVCRT version looks ok])
Packit 971217
          ], [
Packit 971217
            AC_MSG_ERROR([MSVCRT version too old, need at least WinXP SP2])
Packit 971217
          ])
Packit 971217
      ], [
Packit 971217
        AC_MSG_NOTICE([Setting MSVCRT version to 0x0601])
Packit 971217
        AC_DEFINE_UNQUOTED(__MSVCRT_VERSION__, 0x0601, [We need at least WinXP SP2 for __stat64])
Packit 971217
      ])
Packit 971217
      ;;
Packit 971217
     *)
Packit 971217
      ;;
Packit 971217
  esac
Packit 971217
])
Packit 971217
Packit 971217
AC_DEFUN([AG_GST_LIBTOOL_PREPARE],
Packit 971217
[
Packit 971217
  dnl Persuade libtool to also link (-l) a 'pure' (DirectX) static lib,
Packit 971217
  dnl i.e. as opposed to only import lib with dll counterpart.
Packit 971217
  dnl Needs to be tweaked before libtool's checks.
Packit 971217
  case $host_os in
Packit 971217
  cygwin* | mingw*)
Packit 971217
    lt_cv_deplibs_check_method=pass_all
Packit 971217
    ;;
Packit 971217
  esac
Packit 971217
])