comparison CMakeLists.txt @ 2:82b9267a3e19

removed all backends except for the send backend
author Robert McIntyre <rlm@mit.edu>
date Tue, 25 Oct 2011 13:11:31 -0700
parents f9476ff7637e
children 99df34265b40
comparison
equal deleted inserted replaced
1:c41d773a85fb 2:82b9267a3e19
23 23
24 24
25 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE) 25 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
26 26
27 27
28 OPTION(ALSA "Check for ALSA backend" ON)
29 OPTION(OSS "Check for OSS backend" ON)
30 OPTION(SOLARIS "Check for Solaris backend" ON)
31 OPTION(SNDIO "Check for SndIO backend" ON)
32 OPTION(MMDEVAPI "Check for MMDevApi" ON)
33 OPTION(DSOUND "Check for DirectSound backend" ON)
34 OPTION(WINMM "Check for Windows Multimedia backend" ON)
35 OPTION(PORTAUDIO "Check for PortAudio backend" ON)
36 OPTION(PULSEAUDIO "Check for PulseAudio backend" ON)
37 OPTION(COREAUDIO "Check for CoreAudio backend" ON)
38 OPTION(OPENSL "Check for OpenSL backend" ON)
39 OPTION(WAVE "Enable Wave Writer backend" ON)
40 OPTION(SEND "Enable Send Backend" ON) 28 OPTION(SEND "Enable Send Backend" ON)
41
42 OPTION(REQUIRE_ALSA "Require ALSA backend" OFF)
43 OPTION(REQUIRE_OSS "Require OSS backend" OFF)
44 OPTION(REQUIRE_SOLARIS "Require Solaris backend" OFF)
45 OPTION(REQUIRE_SNDIO "Require SndIO backend" OFF)
46 OPTION(REQUIRE_MMDEVAPI "Require MMDevApi" OFF)
47 OPTION(REQUIRE_DSOUND "Require DirectSound backend" OFF)
48 OPTION(REQUIRE_WINMM "Require Windows Multimedia backend" OFF)
49 OPTION(REQUIRE_PORTAUDIO "Require PortAudio backend" OFF)
50 OPTION(REQUIRE_PULSEAUDIO "Require PulseAudio backend" OFF)
51 OPTION(REQUIRE_COREAUDIO "Require CoreAudio backend" OFF)
52 OPTION(REQUIRE_OPENSL "Require OpenSL backend" OFF)
53 29
54 OPTION(DLOPEN "Check for the dlopen API for loading optional libs" ON) 30 OPTION(DLOPEN "Check for the dlopen API for loading optional libs" ON)
55 31
56 OPTION(WERROR "Treat compile warnings as errors" OFF) 32 OPTION(WERROR "Treat compile warnings as errors" OFF)
57 33
397 # RLM: add send device 373 # RLM: add send device
398 Alc/backends/send.c 374 Alc/backends/send.c
399 ) 375 )
400 376
401 SET(BACKENDS "") 377 SET(BACKENDS "")
402 SET(HAVE_ALSA 0) 378
403 SET(HAVE_OSS 0)
404 SET(HAVE_SOLARIS 0)
405 SET(HAVE_SNDIO 0)
406 SET(HAVE_DSOUND 0)
407 SET(HAVE_WINMM 0)
408 SET(HAVE_PORTAUDIO 0)
409 SET(HAVE_PULSEAUDIO 0)
410 SET(HAVE_COREAUDIO 0)
411 SET(HAVE_OPENSL 0)
412 SET(HAVE_WAVE 0)
413
414
415 # Check ALSA backend
416 IF(ALSA)
417 CHECK_INCLUDE_FILE(alsa/asoundlib.h HAVE_ALSA_ASOUNDLIB_H)
418 IF(HAVE_ALSA_ASOUNDLIB_H)
419 CHECK_SHARED_FUNCTION_EXISTS(snd_pcm_open "alsa/asoundlib.h" asound "" HAVE_LIBASOUND)
420 IF(HAVE_LIBASOUND OR HAVE_DLFCN_H OR WIN32)
421 SET(HAVE_ALSA 1)
422 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/alsa.c)
423 IF(HAVE_DLFCN_H OR WIN32)
424 SET(BACKENDS "${BACKENDS} ALSA,")
425 ELSE()
426 SET(BACKENDS "${BACKENDS} ALSA \(linked\),")
427 SET(EXTRA_LIBS asound ${EXTRA_LIBS})
428 ENDIF()
429 ENDIF()
430 ENDIF()
431 ENDIF()
432 IF(REQUIRE_ALSA AND NOT HAVE_ALSA)
433 MESSAGE(FATAL_ERROR "Failed to enabled required ALSA backend")
434 ENDIF()
435
436 # Check OSS backend
437 IF(OSS)
438 CHECK_INCLUDE_FILE(sys/soundcard.h HAVE_SYS_SOUNDCARD_H)
439 IF(HAVE_SYS_SOUNDCARD_H)
440 SET(HAVE_OSS 1)
441 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/oss.c)
442 SET(BACKENDS "${BACKENDS} OSS,")
443 ENDIF()
444 ENDIF()
445 IF(REQUIRE_OSS AND NOT HAVE_OSS)
446 MESSAGE(FATAL_ERROR "Failed to enabled required OSS backend")
447 ENDIF()
448
449 # Check Solaris backend
450 IF(SOLARIS)
451 CHECK_INCLUDE_FILE(sys/audioio.h HAVE_SYS_AUDIOIO_H)
452 IF(HAVE_SYS_AUDIOIO_H)
453 SET(HAVE_SOLARIS 1)
454 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/solaris.c)
455 SET(BACKENDS "${BACKENDS} Solaris,")
456 ENDIF()
457 ENDIF()
458 IF(REQUIRE_SOLARIS AND NOT HAVE_SOLARIS)
459 MESSAGE(FATAL_ERROR "Failed to enabled required Solaris backend")
460 ENDIF()
461
462 # Check SndIO backend
463 IF(SNDIO)
464 CHECK_INCLUDE_FILE(sndio.h HAVE_SNDIO_H)
465 IF(HAVE_SNDIO_H)
466 CHECK_SHARED_FUNCTION_EXISTS(sio_open "sndio.h" sndio "" HAVE_LIBSNDIO)
467 IF(HAVE_LIBSNDIO OR HAVE_DLFCN_H OR WIN32)
468 SET(HAVE_SNDIO 1)
469 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/sndio.c)
470 IF(HAVE_DLFCN_H OR WIN32)
471 SET(BACKENDS "${BACKENDS} SndIO,")
472 ELSE()
473 SET(BACKENDS "${BACKENDS} SndIO \(linked\),")
474 SET(EXTRA_LIBS sndio ${EXTRA_LIBS})
475 ENDIF()
476 ENDIF()
477 ENDIF()
478 ENDIF()
479 IF(REQUIRE_SNDIO AND NOT HAVE_SNDIO)
480 MESSAGE(FATAL_ERROR "Failed to enabled required SndIO backend")
481 ENDIF()
482
483 # Check for MMDevApi backend
484 IF(HAVE_WINDOWS_H)
485 IF(MMDEVAPI)
486 CHECK_INCLUDE_FILE(mmdeviceapi.h HAVE_MMDEVICEAPI_H)
487 IF(HAVE_MMDEVICEAPI_H)
488 SET(HAVE_MMDEVAPI 1)
489 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/mmdevapi.c)
490
491 SET(BACKENDS "${BACKENDS} MMDevApi,")
492 ENDIF()
493 ENDIF()
494 ENDIF()
495 IF(REQUIRE_MMDEVAPI AND NOT HAVE_MMDEVAPI)
496 MESSAGE(FATAL_ERROR "Failed to enabled required MMDevApi backend")
497 ENDIF()
498
499 # Check DSound/MMSystem backend
500 IF(DSOUND)
501 CHECK_INCLUDE_FILE(dsound.h HAVE_DSOUND_H)
502 IF(HAVE_DSOUND_H)
503 CHECK_SHARED_FUNCTION_EXISTS(DirectSoundCreate "dsound.h" dsound "" HAVE_LIBDSOUND)
504 IF(HAVE_LIBDSOUND OR HAVE_DLFCN_H OR WIN32)
505 SET(HAVE_DSOUND 1)
506 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/dsound.c)
507
508 IF(HAVE_DLFCN_H OR WIN32)
509 SET(BACKENDS "${BACKENDS} DirectSound,")
510 ELSE()
511 SET(BACKENDS "${BACKENDS} DirectSound \(linked\),")
512 SET(EXTRA_LIBS dsound ${EXTRA_LIBS})
513 ENDIF()
514 ENDIF()
515 ENDIF()
516 ENDIF()
517 IF(REQUIRE_DSOUND AND NOT HAVE_DSOUND)
518 MESSAGE(FATAL_ERROR "Failed to enabled required DSound backend")
519 ENDIF()
520
521 IF(HAVE_WINDOWS_H)
522 IF(WINMM)
523 CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0500)
524 IF(HAVE_MMSYSTEM_H AND HAVE_LIBWINMM)
525 SET(HAVE_WINMM 1)
526 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/winmm.c)
527 SET(BACKENDS "${BACKENDS} WinMM,")
528 ENDIF()
529 ENDIF()
530 ENDIF()
531 IF(REQUIRE_WINMM AND NOT HAVE_WINMM)
532 MESSAGE(FATAL_ERROR "Failed to enable required WinMM backend")
533 ENDIF()
534
535 # Check PortAudio backend
536 IF(PORTAUDIO)
537 CHECK_INCLUDE_FILE(portaudio.h HAVE_PORTAUDIO_H)
538 IF(HAVE_PORTAUDIO_H)
539 CHECK_SHARED_FUNCTION_EXISTS(Pa_Initialize "portaudio.h" portaudio "" HAVE_LIBPORTAUDIO)
540 IF(HAVE_LIBPORTAUDIO OR HAVE_DLFCN_H OR WIN32)
541 SET(HAVE_PORTAUDIO 1)
542 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/portaudio.c)
543 IF(HAVE_DLFCN_H OR WIN32)
544 SET(BACKENDS "${BACKENDS} PortAudio,")
545 ELSE()
546 SET(BACKENDS "${BACKENDS} PortAudio \(linked\),")
547 SET(EXTRA_LIBS portaudio ${EXTRA_LIBS})
548 ENDIF()
549 ENDIF()
550 ENDIF()
551 ENDIF()
552 IF(REQUIRE_PORTAUDIO AND NOT HAVE_PORTAUDIO)
553 MESSAGE(FATAL_ERROR "Failed to enabled required PortAudio backend")
554 ENDIF()
555
556 # Check PulseAudio backend
557 IF(PULSEAUDIO)
558 CHECK_INCLUDE_FILE(pulse/pulseaudio.h HAVE_PULSE_PULSEAUDIO_H)
559 IF(HAVE_PULSE_PULSEAUDIO_H)
560 CHECK_SHARED_FUNCTION_EXISTS(pa_context_new "pulse/pulseaudio.h" pulse "" HAVE_LIBPULSE)
561 IF(HAVE_LIBPULSE OR HAVE_DLFCN_H OR WIN32)
562 SET(HAVE_PULSEAUDIO 1)
563 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/pulseaudio.c)
564 IF(HAVE_DLFCN_H OR WIN32)
565 SET(BACKENDS "${BACKENDS} PulseAudio,")
566 ELSE()
567 SET(BACKENDS "${BACKENDS} PulseAudio \(linked\),")
568 SET(EXTRA_LIBS pulse ${EXTRA_LIBS})
569 ENDIF()
570 ENDIF()
571 ENDIF()
572 ENDIF()
573 IF(REQUIRE_PULSEAUDIO AND NOT HAVE_PULSEAUDIO)
574 MESSAGE(FATAL_ERROR "Failed to enabled required PulseAudio backend")
575 ENDIF()
576
577 # Check CoreAudio backend
578 IF(COREAUDIO)
579 CHECK_INCLUDE_FILE(/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudio.h HAVE_COREAUDIO_FRAMEWORK)
580 IF(HAVE_COREAUDIO_FRAMEWORK)
581 SET(HAVE_COREAUDIO 1)
582 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/coreaudio.c)
583 SET(BACKENDS "${BACKENDS} CoreAudio,")
584 SET(EXTRA_LIBS /System/Library/Frameworks/CoreAudio.framework ${EXTRA_LIBS})
585 SET(EXTRA_LIBS /System/Library/Frameworks/AudioUnit.framework ${EXTRA_LIBS})
586 SET(EXTRA_LIBS /System/Library/Frameworks/ApplicationServices.framework ${EXTRA_LIBS})
587 ENDIF()
588 ENDIF()
589 IF(REQUIRE_COREAUDIO AND NOT HAVE_COREAUDIO)
590 MESSAGE(FATAL_ERROR "Failed to enabled required CoreAudio backend")
591 ENDIF()
592
593 # Check for OpenSL (Android) backend
594 IF(OPENSL)
595 CHECK_INCLUDE_FILE(SLES/OpenSLES_Android.h HAVE_SLES_OPENSLES_ANDROID_H)
596 IF(HAVE_SLES_OPENSLES_ANDROID_H)
597 CHECK_SHARED_FUNCTION_EXISTS(slCreateEngine "SLES/OpenSLES.h" OpenSLES "" HAVE_LIBOPENSLES)
598 IF(HAVE_LIBOPENSLES)
599 SET(HAVE_OPENSL 1)
600 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/opensl.c)
601 SET(BACKENDS "${BACKENDS} OpenSL,")
602 SET(EXTRA_LIBS OpenSLES ${EXTRA_LIBS})
603 ENDIF()
604 ENDIF()
605 ENDIF()
606 IF(REQUIRE_OPENSL AND NOT HAVE_OPENSL)
607 MESSAGE(FATAL_ERROR "Failed to enable required OpenSL backend")
608 ENDIF()
609
610 # Optionally enable the Wave Writer backend
611 IF(WAVE)
612 SET(HAVE_WAVE 1)
613 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/wave.c)
614 SET(BACKENDS "${BACKENDS} WaveFile,")
615 ENDIF()
616 379
617 380
618 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/send.c) 381 SET(ALC_OBJS ${ALC_OBJS} Alc/backends/send.c)
619 SET(BACKENDS "${BACKENDS} Send,") 382 SET(BACKENDS "${BACKENDS} Send,")
620 383
680 MESSAGE(STATUS "") 443 MESSAGE(STATUS "")
681 MESSAGE(STATUS "Building OpenAL with support for the following backends:") 444 MESSAGE(STATUS "Building OpenAL with support for the following backends:")
682 MESSAGE(STATUS " ${BACKENDS}") 445 MESSAGE(STATUS " ${BACKENDS}")
683 MESSAGE(STATUS "") 446 MESSAGE(STATUS "")
684 447
685 IF(WIN32)
686 IF(NOT HAVE_DSOUND)
687 MESSAGE(STATUS "WARNING: Building the Windows version without DirectSound output")
688 MESSAGE(STATUS " This is probably NOT what you want!")
689 MESSAGE(STATUS "")
690 ENDIF()
691 ENDIF()
692
693 # Install alsoft.conf configuration file 448 # Install alsoft.conf configuration file
694 IF(ALSOFT_CONFIG) 449 IF(ALSOFT_CONFIG)
695 INSTALL(FILES alsoftrc.sample 450 INSTALL(FILES alsoftrc.sample
696 DESTINATION /etc/openal 451 DESTINATION /etc/openal
697 RENAME alsoft.conf 452 RENAME alsoft.conf