Merge branch 'grc' from http://gnuradio.org/git/jblum.git into master
[debian/gnuradio] / config / grc_gr_audio_oss.m4
index 0bee883fb13dfcc3f39e95afb65f02a6c9e28bdb..13c83bba9b229cb30c13c291c69a8de35d838f46 100644 (file)
@@ -1,10 +1,10 @@
-dnl Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+dnl Copyright 2001,2002,2003,2004,2005,2006,2008 Free Software Foundation, Inc.
 dnl 
 dnl This file is part of GNU Radio
 dnl 
 dnl GNU Radio is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
 dnl 
 dnl This file is part of GNU Radio
 dnl 
 dnl GNU Radio is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2, or (at your option)
+dnl the Free Software Foundation; either version 3, or (at your option)
 dnl any later version.
 dnl 
 dnl GNU Radio is distributed in the hope that it will be useful,
 dnl any later version.
 dnl 
 dnl GNU Radio is distributed in the hope that it will be useful,
@@ -14,39 +14,50 @@ dnl GNU General Public License for more details.
 dnl 
 dnl You should have received a copy of the GNU General Public License
 dnl along with GNU Radio; see the file COPYING.  If not, write to
 dnl 
 dnl You should have received a copy of the GNU General Public License
 dnl along with GNU Radio; see the file COPYING.  If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-dnl Boston, MA 02111-1307, USA.
+dnl the Free Software Foundation, Inc., 51 Franklin Street,
+dnl Boston, MA 02110-1301, USA.
 
 AC_DEFUN([GRC_GR_AUDIO_OSS],[
 
 AC_DEFUN([GRC_GR_AUDIO_OSS],[
-    AC_CONFIG_SRCDIR([gr-audio-oss/src/audio_oss.i])
+    GRC_ENABLE(gr-audio-oss)    
 
 
-    AC_CONFIG_FILES([ \
-       gr-audio-oss/Makefile \
-       gr-audio-oss/src/Makefile \
-       gr-audio-oss/src/run_tests \
-    ])
-
-    succeeded=yes
+    dnl Don't do gr-audio-oss if gnuradio-core skipped
+    GRC_CHECK_DEPENDENCY(gr-audio-oss, gnuradio-core)
 
 
-    case $target in
-       *-*-netbsd*)
-           AC_HAVE_LIBRARY(ossaudio,[],[succeeded=no])
-           if test $succeeded = yes; then
+    dnl If execution gets to here, $passed will be:
+    dnl   with : if the --with code didn't error out
+    dnl   yes  : if the --enable code passed muster and all dependencies are met
+    dnl   no   : otherwise
+    if test $passed = yes; then
+        dnl Make sure the correct library and/or headers are available.
+        case $host_os in
+         netbsd*)
+           AC_HAVE_LIBRARY(ossaudio,[],
+               [passed=no;AC_MSG_RESULT([gr-audio-oss requires library ossaudio, not found.])])
+           if test $passed != no; then
                OSS_LIBS=-lossaudio
                OSS_LIBS=-lossaudio
+               AC_SUBST(OSS_LIBS)
                AC_MSG_RESULT([Using OSS library $OSS_LIBS])
            fi
            ;;
                AC_MSG_RESULT([Using OSS library $OSS_LIBS])
            fi
            ;;
-       *)
-           AC_CHECK_HEADER(sys/soundcard.h,[],[succeeded=no])
-    esac
+          darwin*)
+           dnl OSX / Darwin can't use OSS
+           passed=no
+            ;;
+         *)
+           AC_CHECK_HEADER(sys/soundcard.h,[],
+               [passed=no;AC_MSG_RESULT([gr-audio-oss requires sys/soundcard.h, not found.])])
+        esac
+    fi
 
 
-    if test $succeeded = yes; then
-       AC_SUBST(OSS_LIBS)
+    AC_CONFIG_FILES([ \
+        gr-audio-oss/Makefile \
+       gr-audio-oss/gnuradio-audio-oss.pc \
+        gr-audio-oss/src/Makefile \
+        gr-audio-oss/src/run_tests \
+    ])
+
+    GRC_BUILD_CONDITIONAL(gr-audio-oss,[
        dnl run_tests is created from run_tests.in.  Make it executable.
         AC_CONFIG_COMMANDS([run_tests_oss], [chmod +x gr-audio-oss/src/run_tests])
        dnl run_tests is created from run_tests.in.  Make it executable.
         AC_CONFIG_COMMANDS([run_tests_oss], [chmod +x gr-audio-oss/src/run_tests])
-        subdirs="$subdirs gr-audio-oss"
-    else
-       AC_MSG_RESULT([failed: $OSS_PKG_ERRORS])
-       failed="$failed gr-audio-oss"
-    fi
+    ])
 ])
 ])