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