Added autotools header generation and build time version checking
[debian/gnuradio] / config / grc_gr_audio_oss.m4
index 386df51d875629b88678dd27a0c70df05736ff22..13c83bba9b229cb30c13c291c69a8de35d838f46 100644 (file)
@@ -18,37 +18,45 @@ dnl the Free Software Foundation, Inc., 51 Franklin Street,
 dnl Boston, MA 02110-1301, USA.
 
 AC_DEFUN([GRC_GR_AUDIO_OSS],[
-    GRC_ENABLE([gr-audio-oss])    
+    GRC_ENABLE(gr-audio-oss)    
 
-    AC_CONFIG_FILES([ \
-       gr-audio-oss/Makefile \
-       gr-audio-oss/src/Makefile \
-       gr-audio-oss/src/run_tests \
-    ])
+    dnl Don't do gr-audio-oss if gnuradio-core skipped
+    GRC_CHECK_DEPENDENCY(gr-audio-oss, gnuradio-core)
 
-    passed=yes
-    # Don't do gr-audio-oss if gnuradio-core skipped
-    if test x$gnuradio_core_skipped = xyes; then
-        AC_MSG_RESULT([Component gr-audio-oss requires gnuradio-core, which is not being built or specified via pre-installed files.])
-       passed=no
-    fi
-    # Make sure the correct library and/or headers are available.
-    case $host in
-       *-*-netbsd*)
+    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 x$passed != xno; then
+           if test $passed != no; then
                OSS_LIBS=-lossaudio
+               AC_SUBST(OSS_LIBS)
                AC_MSG_RESULT([Using OSS library $OSS_LIBS])
            fi
            ;;
-       *)
+          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
+        esac
+    fi
+
+    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],[
-       AC_SUBST(OSS_LIBS)
+    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])
     ])