Mercurial > ecos
comparison host/infra/configure.in @ 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 |
comparison
equal
deleted
inserted
replaced
| 75:41bf073c0c32 | 76:435cced73e2f |
|---|---|
| 1 dnl Process this file with autoconf to produce a configure script. | |
| 2 dnl ==================================================================== | |
| 3 dnl | |
| 4 dnl configure.in | |
| 5 dnl | |
| 6 dnl Host side implementation of the eCos infrastructure. | |
| 7 dnl | |
| 8 dnl ==================================================================== | |
| 9 dnl####COPYRIGHTBEGIN#### | |
| 10 dnl | |
| 11 dnl ---------------------------------------------------------------------------- | |
| 12 dnl Copyright (C) 1998, 1999, 2000 Red Hat, Inc. | |
| 13 dnl | |
| 14 dnl This file is part of the eCos host tools. | |
| 15 dnl | |
| 16 dnl This program is free software; you can redistribute it and/or modify it | |
| 17 dnl under the terms of the GNU General Public License as published by the Free | |
| 18 dnl Software Foundation; either version 2 of the License, or (at your option) | |
| 19 dnl any later version. | |
| 20 dnl | |
| 21 dnl This program is distributed in the hope that it will be useful, but WITHOUT | |
| 22 dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 23 dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
| 24 dnl more details. | |
| 25 dnl | |
| 26 dnl You should have received a copy of the GNU General Public License along with | |
| 27 dnl this program; if not, write to the Free Software Foundation, Inc., | |
| 28 dnl 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
| 29 dnl | |
| 30 dnl ---------------------------------------------------------------------------- | |
| 31 dnl | |
| 32 dnl####COPYRIGHTEND#### | |
| 33 dnl ==================================================================== | |
| 34 dnl#####DESCRIPTIONBEGIN#### | |
| 35 dnl | |
| 36 dnl Author(s): bartv | |
| 37 dnl Contact(s): bartv | |
| 38 dnl Date: 1998/07/13 | |
| 39 dnl Version: 0.01 | |
| 40 dnl | |
| 41 dnl####DESCRIPTIONEND#### | |
| 42 dnl ==================================================================== | |
| 43 | |
| 44 dnl No infrastructure is complete without assertions. | |
| 45 AC_INIT(assert.cxx) | |
| 46 | |
| 47 dnl Pick up the support files from the top-level of the host source tree | |
| 48 AC_CONFIG_AUX_DIR(..) | |
| 49 | |
| 50 dnl Other standard options. | |
| 51 AC_CANONICAL_HOST | |
| 52 | |
| 53 dnl This package is called cyginfra. Hopefully this will not clash | |
| 54 dnl with any other Red Hat packages. The generated header file may | |
| 55 dnl get #include'd indirectly by other packages, so it is not a | |
| 56 dnl good idea to define package and version. | |
| 57 AM_INIT_AUTOMAKE(cyginfra, 0.1,0) | |
| 58 CYG_AC_SUBST_VERSION(CYGNUM_INFRA_VERSION) | |
| 59 AM_MAINTAINER_MODE | |
| 60 | |
| 61 dnl The package contains a library implemented in C++. It has to be | |
| 62 dnl buildable under NT. Only a static version of the library is | |
| 63 dnl of interest at the moment. | |
| 64 AC_PROG_MAKE_SET | |
| 65 AC_PROG_CC | |
| 66 AC_PROG_CXX | |
| 67 AC_PROG_RANLIB | |
| 68 AC_OBJEXT | |
| 69 AC_EXEEXT | |
| 70 CYG_AC_PROG_MSVC | |
| 71 CYG_AC_PROG_STANDARD_COMPILER_FLAGS | |
| 72 | |
| 73 dnl This package cannot be cross-compiled yet. | |
| 74 if test ${cross_compiling} = yes; then | |
| 75 AC_MSG_ERROR(cross-compilation of this package is not supported) | |
| 76 fi | |
| 77 | |
| 78 dnl Work out the endianness. The standard macro for this is used | |
| 79 dnl even though it will give warnings at autoconf time. | |
| 80 AC_C_BIGENDIAN | |
| 81 | |
| 82 dnl Work out a suitable datatype for 64 bit arithmetic. | |
| 83 CYG_AC_TYPE_64bit | |
| 84 | |
| 85 dnl Check the sizes of the pointer and long data types, so that | |
| 86 dnl CYG_ADDRWORD can be defined correctly. | |
| 87 AC_CHECK_SIZEOF(int *) | |
| 88 AC_CHECK_SIZEOF(long) | |
| 89 | |
| 90 dnl See whether or not the compiler provides __PRETTY_FUNCTION__ | |
| 91 CYG_AC_C_PRETTY_FUNCTION | |
| 92 | |
| 93 dnl What version of Tcl should be used? | |
| 94 CYG_AC_PATH_TCL | |
| 95 | |
| 96 dnl -------------------------------------------------------------------- | |
| 97 dnl User-settable options. Currently these are handled via --enable | |
| 98 dnl command line options, in the absence of an accepted and more rational | |
| 99 dnl alternative. | |
| 100 | |
| 101 AC_ARG_ENABLE(tracebufsize,[ --enable-tracebufsize=X size of the trace buffer],[ | |
| 102 if test "$enableval" = "no" -o "$enableval" = "yes"; then | |
| 103 AC_MSG_ERROR("--enable-tracebufsize should be given a suitable value") | |
| 104 else | |
| 105 AC_DEFINE_UNQUOTED(CYGNUM_INFRA_TRACE_VECTOR_SIZE,$enableval) | |
| 106 fi | |
| 107 ]) | |
| 108 | |
| 109 dnl -------------------------------------------------------------------- | |
| 110 dnl Directory structures. | |
| 111 dnl | |
| 112 dnl The purpose of this infrastructure implementation is to provide a way | |
| 113 dnl of giving host code access to the same set of assertions and tracing | |
| 114 dnl facilities as are available on the target side. The implementations | |
| 115 dnl of these facilities has to be rather different, for example the host | |
| 116 dnl side has to worry about running in both command-line and GUI tools, | |
| 117 dnl not to mention supporting different languages such as Tcl as well | |
| 118 dnl as C and C++. | |
| 119 dnl | |
| 120 dnl After a successful build there should be a library libcyginfra.a | |
| 121 dnl which can be linked with the application code and which can get | |
| 122 dnl installed. In addition there will be a set of header files. | |
| 123 dnl | |
| 124 dnl The infrastructure exports four main header files: | |
| 125 dnl | |
| 126 dnl cyg/infra/cyg_type.h data types, useful macros, and a | |
| 127 dnl few compiler-related odds and ends | |
| 128 dnl | |
| 129 dnl cyg/infra/cyg_ass.h lots of lovely assertion macros | |
| 130 dnl | |
| 131 dnl cyg/infra/cyg_trac.h lots of lovely trace macros | |
| 132 dnl | |
| 133 dnl cyg/infra/testcase.h routines for use in testcases | |
| 134 dnl | |
| 135 dnl These header files are shared between host and target side, to make | |
| 136 dnl sure that a consistent set of macros is used between the two. There | |
| 137 dnl are a number of host-specific extensions in the header files as | |
| 138 dnl well. | |
| 139 dnl | |
| 140 dnl The header files rely on a number of other header files: | |
| 141 dnl | |
| 142 dnl pkgconf/infra.h | |
| 143 dnl cyg/hal/basetype.h | |
| 144 dnl | |
| 145 dnl Obviously cyg/hal/basetype.h cannot be shared between host and target, | |
| 146 dnl instead it has to depend on autoconf information. | |
| 147 dnl | |
| 148 dnl Sharing pkgconf/infra.h between host and target is slightly more feasible, | |
| 149 dnl especially if we get the configuration tool to a point where it can | |
| 150 dnl be used for both host and target. However for now this would create a | |
| 151 dnl bit of confusion because two configuration systems would be in use, and | |
| 152 dnl it seems better to stick with just autoconf for now. Therefore | |
| 153 dnl pkgconf/infra.h #include's the file generated by autoconf and | |
| 154 dnl generates the appropriate #define's (it is not a good idea to have | |
| 155 dnl autoconf generate pkgconf/infra.h directly, autoconf is slightly too | |
| 156 dnl eager to do substitutions). | |
| 157 dnl | |
| 158 dnl The configuration header file that is normally generated is | |
| 159 dnl config.h. It is more in keeping with eCos conventions to have | |
| 160 dnl a different header file hostinfra.h instead. This can | |
| 161 dnl achieved using the appropriate AM_CONFIG_HEADER macro. | |
| 162 dnl | |
| 163 dnl Making the copies of cyg_type.h etc. is the responsibility of | |
| 164 dnl Makefile.am, configure is responsible only for the makefile and for | |
| 165 dnl hostinfra.h. | |
| 166 | |
| 167 AM_CONFIG_HEADER(hostinfra.h:config.h.in) | |
| 168 AC_OUTPUT(Makefile:Makefile.in testsuite/Makefile:testsuite/Makefile.in) | |
| 169 |
