diff host/infra/acinclude.m4 @ 76:435cced73e2f ecos-v1_3_1-release

eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
author jlarmour
date Tue, 28 Mar 2000 14:10:45 +0000
parents
children 6ed91473a1cd
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/host/infra/acinclude.m4
@@ -0,0 +1,130 @@
+dnl Process this file with aclocal to get an aclocal.m4 file. Then
+dnl process that with autoconf.
+dnl ====================================================================
+dnl
+dnl     acinclude.m4
+dnl
+dnl     Host side implementation of the eCos infrastructure.
+dnl
+dnl ====================================================================
+dnl####COPYRIGHTBEGIN####
+dnl                                                                         
+dnl ----------------------------------------------------------------------------
+dnl Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
+dnl
+dnl This file is part of the eCos host tools.
+dnl
+dnl This program is free software; you can redistribute it and/or modify it 
+dnl under the terms of the GNU General Public License as published by the Free 
+dnl Software Foundation; either version 2 of the License, or (at your option) 
+dnl any later version.
+dnl 
+dnl This program is distributed in the hope that it will be useful, but WITHOUT 
+dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
+dnl more details.
+dnl 
+dnl You should have received a copy of the GNU General Public License along with
+dnl this program; if not, write to the Free Software Foundation, Inc., 
+dnl 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+dnl
+dnl ----------------------------------------------------------------------------
+dnl                                                                          
+dnl####COPYRIGHTEND####
+dnl ====================================================================
+dnl#####DESCRIPTIONBEGIN####
+dnl
+dnl Author(s):	bartv
+dnl Contact(s):	bartv
+dnl Date:	1998/07/14
+dnl Version:	0.01
+dnl
+dnl####DESCRIPTIONEND####
+dnl ====================================================================
+
+dnl Access shared macros.
+dnl AM_CONDITIONAL needs to be mentioned here or else aclocal does not
+dnl incorporate the macro into aclocal.m4
+sinclude(../acinclude.m4)
+
+
+dnl ====================================================================
+dnl Look for a 64 bit data type. It is necessary to check both C and C++
+dnl compilers.
+dnl
+dnl A better implementation would check whether or not AC_PROG_CC and
+dnl AC_PROG_CXX have been invoked and only test the appropriate
+dnl compiler.
+
+AC_DEFUN(CYG_AC_TYPE_64bit, [
+    AC_REQUIRE([AC_PROG_CC])
+    AC_REQUIRE([AC_PROG_CXX])
+
+    AC_CACHE_CHECK("for a 64 bit data type",cyg_ac_cv_type_64bit,[
+        for type in "long" "long long" "__int64"; do
+            AC_LANG_SAVE
+	    AC_LANG_C
+            AC_TRY_RUN([
+                main() {
+                    return 8 != sizeof($type);
+                }
+	    ],ctype_64bit=$type,ctype_64bit="unknown",ctype_64bit="unknown")
+	    AC_LANG_CPLUSPLUS
+            AC_TRY_RUN([
+                int main(int argc, char ** argv) {
+                    return 8 != sizeof($type);
+                }
+	    ],cxxtype_64bit=$type,cxxtype_64bit="unknown",cxxtype_64bit="unknown")
+	    AC_LANG_RESTORE
+            if test "${ctype_64bit}" = "${type}" -a "${cxxtype_64bit}" = "${type}"; then
+                cyg_ac_cv_type_64bit="${type}"
+                break
+            fi
+        done
+    ])
+    if test "${cyg_ac_cv_type_64bit}" = ""; then
+        AC_MSG_ERROR(Unable to figure out how to do 64 bit arithmetic)
+    else
+        if test "${cyg_ac_cv_type_64bit}" != "long long"; then
+            AC_DEFINE_UNQUOTED(cyg_halint64,${cyg_ac_cv_type_64bit})
+            AC_DEFINE_UNQUOTED(cyg_halcount64,${cyg_ac_cv_type_64bit})
+        fi
+    fi
+])
+
+dnl ====================================================================
+dnl Check that both the C and C++ compilers support __PRETTY_FUNCTION__
+
+AC_DEFUN(CYG_AC_C_PRETTY_FUNCTION,[
+    AC_REQUIRE([AC_PROG_CC])
+    AC_REQUIRE([AC_PROG_CXX])
+
+    AC_CACHE_CHECK("for __PRETTY_FUNCTION__ support",cyg_ac_cv_c_pretty_function,[
+        AC_LANG_SAVE
+        AC_LANG_C
+        AC_TRY_LINK(
+            [#include <stdio.h>],
+            [puts(__PRETTY_FUNCTION__);],
+            c_ok="yes",
+            c_ok="no"
+        )
+        AC_LANG_CPLUSPLUS
+        AC_TRY_LINK(
+            [#include <cstdio>],
+            [puts(__PRETTY_FUNCTION__);],
+            cxx_ok="yes",
+            cxx_ok="no"
+        )
+        AC_LANG_RESTORE
+        if test "${c_ok}" = "yes" -a "${cxx_ok}" = "yes"; then
+            cyg_ac_cv_c_pretty_function="yes"
+        fi
+    ])
+    if test "${cyg_ac_cv_c_pretty_function}" = "yes"; then
+        AC_DEFINE(CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO)
+    fi
+])
+
+
+
+