summaryrefslogtreecommitdiff
path: root/m4/directx.m4
blob: 61b241c0fe27a4997064559cb3488a9c74e67ae2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
dnl
dnl autoconf script for DirectX
dnl
dnl written by Frantisek Dvorak <valtri@users.sourceforge.net>
dnl
dnl
dnl AM_PATH_DIRECTX([ACTION IF FOUND [, ACTION IF NOT FOUND]]))
dnl
dnl It looks for DirectX, defines DIRECTX_CPPFLAGS, DIRECTX_AUDIO_LIBS and 
dnl DIRECTX_VIDEO_LIBS.
dnl
AC_DEFUN([AM_PATH_DIRECTX], [
    AC_ARG_WITH([dxheaders],
                [AS_HELP_STRING([--with-dxheaders], [specify location of DirectX headers])],
                [dxheaders_prefix="$withval"], [dxheaders_prefix="no"])
    if test x"$dxheaders_prefix" != x"no"; then
        DIRECTX_CPPFLAGS="-I$dxheaders_prefix $DIRECTX_CPPFLAGS"
    fi

    AC_MSG_CHECKING([for DirectX])
    DIRECTX_AUDIO_LIBS="$DIRECTX_LIBS -ldsound"
    DIRECTX_VIDEO_LIBS="$DIRECTX_LIBS -lgdi32 -lddraw"

    AC_LANG_PUSH([C])
    ac_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $DIRECTX_CPPFLAGS"
    ac_save_LIBS="$LIBS" LIBS="$LIBS $DIRECTX_VIDEO_LIBS $DIRECTX_AUDIO_LIBS"
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h>
                                         #include <windows.h>
                                         #include <ddraw.h>
                                         #include <dsound.h>]],
                                       [[DirectDrawCreate(0, NULL, 0); DirectSoundCreate(0, NULL, 0)]])],
                      [have_directx=yes], [have_directx=no])
    CPPFLAGS="$ac_save_CPPFLAGS"
    LIBS="$ac_save_LIBS"
    AC_LANG_POP([C])

    AC_SUBST(DIRECTX_CPPFLAGS)
    AC_SUBST(DIRECTX_AUDIO_LIBS)
    AC_SUBST(DIRECTX_VIDEO_LIBS)
    AM_CONDITIONAL([ENABLE_DIRECTX], [test x"$have_directx" = x"yes"])

    AC_MSG_RESULT([$have_directx])
    if test x"$have_directx" = x"yes"; then
        AC_DEFINE([HAVE_DIRECTX], 1, [Define this if you have DirectX])
        ifelse([$1], , :, [$1])
    else
        ifelse([$2], , :, [$2])
    fi
])