Blame common/m4/gst-platform.m4

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