Fixing output types from tap_type to o_type in gr_single_pole_iir.h. Doesn't make...
[debian/gnuradio] / gr-howto-write-a-block / config / lf_cxx.m4
index c2b3cd5399ccf31056e402a3860240ede81aa545..dfc6bfbfe716b3fadcf8b13b9d341c6c99fe6270 100644 (file)
@@ -3,7 +3,7 @@ dnl Copyright (C) 1988 Eleftherios Gkioulekas <lf@amath.washington.edu>
 dnl  
 dnl This program 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 program 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 of the License, or
+dnl the Free Software Foundation; either version 3 of the License, or
 dnl (at your option) any later version.
 dnl 
 dnl This program is distributed in the hope that it will be useful,
 dnl (at your option) any later version.
 dnl 
 dnl This program is distributed in the hope that it will be useful,
@@ -37,11 +37,6 @@ AC_DEFUN([LF_CONFIGURE_CXX],[
 
 # -----------------------------------------------------------------------
 # This macro tests the C++ compiler for various portability problem.
 
 # -----------------------------------------------------------------------
 # This macro tests the C++ compiler for various portability problem.
-# 1. Defines CXX_HAS_NO_BOOL if the compiler does not support the bool
-#    data type
-# 2. Defines CXX_HAS_BUGGY_FOR_LOOPS if the compiler has buggy
-#    scoping for the for-loop
-# 3. Defines USE_ASSERT if the user wants to use assertions
 # -----------------------------------------------------------------------
 
 
 # -----------------------------------------------------------------------
 
 
@@ -56,36 +51,10 @@ AC_DEFUN([LF_CXX_PORTABILITY],[
   AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
 
   AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
 
-  dnl Check whether we have bool
-  AC_MSG_CHECKING(whether C++ has bool)
-  AC_TRY_RUN([main() { bool b1=true; bool b2=false; }],
-             [ AC_MSG_RESULT(yes) ],
-             [ AC_MSG_RESULT(no)
-               AC_DEFINE(CXX_HAS_NO_BOOL,[],[Define if C++ is missing bool type]) ],
-             [ AC_MSG_WARN(Don't cross-compile)]
-            )
-
-  dnl Test whether C++ has buggy for-loops
-  AC_MSG_CHECKING(whether C++ has buggy scoping in for-loops)
-  AC_TRY_COMPILE([#include <iostream.h>], [
-   for (int i=0;i<10;i++) { }
-   for (int i=0;i<10;i++) { }
-], [ AC_MSG_RESULT(no) ],
-   [ AC_MSG_RESULT(yes)
-     AC_DEFINE(CXX_HAS_BUGGY_FOR_LOOPS,[],[Define if for loop scoping is broken]) ])
-
-  dnl Test whether the user wants to enable assertions
-  AC_MSG_CHECKING(whether user wants assertions)
-  AC_ARG_ENABLE(assert,
-                [  --disable-assert        don't use cpp.h assert],
-                [ AC_DEFINE(NDEBUG,[],[Define to disable asserts (don't doit!)])
-                  AC_MSG_RESULT(no)  ],
-                [ AC_MSG_RESULT(yes) ],
-               )
 
   dnl Test whether C++ has std::isnan
   AC_MSG_CHECKING(whether C++ has std::isnan)
 
   dnl Test whether C++ has std::isnan
   AC_MSG_CHECKING(whether C++ has std::isnan)
-  AC_TRY_COMPILE([#include <math.h>], [
+  AC_TRY_COMPILE([#include <cmath>], [
    std::isnan(0);
 ], [ AC_MSG_RESULT(yes)
        AC_DEFINE(CXX_HAS_STD_ISNAN,[],[Define if has std::isnan]) ],
    std::isnan(0);
 ], [ AC_MSG_RESULT(yes)
        AC_DEFINE(CXX_HAS_STD_ISNAN,[],[Define if has std::isnan]) ],
@@ -96,26 +65,3 @@ AC_DEFUN([LF_CXX_PORTABILITY],[
   AC_LANG_RESTORE
 ])
 
   AC_LANG_RESTORE
 ])
 
-AH_BOTTOM([// Workaround for compilers with buggy for-loop scoping
-// That's quite a few compilers actually including recent versions of
-// Dec Alpha cxx, HP-UX CC and SGI CC.
-// The trivial "if" statement provides the correct scoping to the 
-// for loop
-
-#ifdef CXX_HAS_BUGGY_FOR_LOOPS
-#undef for
-#define for if(1) for
-#endif
-])
-
-AH_BOTTOM([// If the C++ compiler we use doesn't have bool, then
-// the following is a near-perfect work-around. 
-// You must make sure your code does not depend on "int" and "bool"
-// being two different types, in overloading for instance.
-
-#ifdef CXX_HAS_NO_BOOL
-#define bool int
-#define true 1
-#define false 0
-#endif
-])