source: rtems/aclocal.m4 @ 158f2110

4.104.114.84.95
Last change on this file since 158f2110 was 158f2110, checked in by Joel Sherrill <joel.sherrill@…>, on May 18, 1998 at 4:35:00 PM

Regenerated.

  • Property mode set to 100644
File size: 8.4 KB
Line 
1dnl aclocal.m4 generated automatically by aclocal 1.2
2
3dnl $Id$
4
5dnl macro to detect mkdir
6AC_DEFUN(RTEMS_PATH_MKDIR,
7[AC_PATH_PROG(MKDIR,mkdir)
8])
9
10dnl macro to check for mkdir -p
11AC_DEFUN(RTEMS_PROG_MKDIR_P,
12[
13AC_REQUIRE([RTEMS_PATH_MKDIR])
14AC_MSG_CHECKING([for working $MKDIR -p])
15AC_CACHE_VAL(rtems_cv_prog_mkdir_p,
16[rm -rf conftestdata
17if $MKDIR -p conftestdata 2>/dev/null ;then
18rtems_cv_prog_MKDIR_P="yes"
19else
20rtems_cv_prog_MKDIR_P="no"
21fi])dnl
22rm -rf conftestdata
23AC_MSG_RESULT($rtems_cv_prog_MKDIR_P)
24])
25
26dnl macro to check for mkdir -m 0755
27AC_DEFUN(RTEMS_PROG_MKDIR_M,
28[
29AC_REQUIRE([RTEMS_PATH_MKDIR])
30AC_MSG_CHECKING([for working $MKDIR -m 0755])
31AC_CACHE_VAL(rtems_cv_prog_MKDIR_P,
32[rm -rf conftestdata
33if $MKDIR -m 0775 conftestdata 2>/dev/null; then
34rtems_cv_prog_MKDIR_M="yes"
35else
36rtems_cv_prog_MKDIR_M="no"
37fi])dnl
38rm -rf conftestdata
39AC_MSG_RESULT($rtems_cv_prog_MKDIR_M)
40])
41
42
43dnl $Id$
44
45dnl canonicalize target name
46dnl NOTE: Most rtems targets do not fullfil autoconf's
47dnl target naming conventions "processor-vendor-os"
48dnl Therefore autoconf's AC_CANONICAL_TARGET will fail for them
49dnl and we have to fix it for rtems ourselves
50
51AC_DEFUN(RTEMS_CANONICAL_TARGET_CPU,
52[AC_MSG_CHECKING(rtems target cpu)
53changequote(<<, >>)dnl
54target_cpu=`echo $target | sed 's%^\([^-]*\)-\(.*\)$%\1%'`
55changequote([, ])dnl
56AC_MSG_RESULT($target_cpu)
57])
58
59dnl
60dnl $Id$
61dnl
62dnl Check for target gcc
63dnl
64dnl Adaptation of autoconf-2.12's AC_PROG_CC to rtems
65dnl
66dnl 98/02/10 Ralf Corsepius     (corsepiu@faw.uni-ulm.de)
67dnl
68
69AC_DEFUN(RTEMS_PROG_CC,
70[
71AC_BEFORE([$0], [AC_PROG_CPP])dnl
72AC_BEFORE([$0], [AC_PROG_CC])dnl
73AC_CHECK_PROG(CC, gcc, gcc)
74if test -z "$CC"; then
75  AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
76  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
77fi
78
79RTEMS_PROG_CC_WORKS
80AC_PROG_CC_GNU
81
82if test $ac_cv_prog_gcc = yes; then
83  GCC=yes
84dnl Check whether -g works, even if CFLAGS is set, in case the package
85dnl plays around with CFLAGS (such as to build both debugging and
86dnl normal versions of a library), tasteless as that idea is.
87  ac_test_CFLAGS="${CFLAGS+set}"
88  ac_save_CFLAGS="$CFLAGS"
89  CFLAGS=
90  AC_PROG_CC_G
91  if test "$ac_test_CFLAGS" = set; then
92    CFLAGS="$ac_save_CFLAGS"
93  elif test $ac_cv_prog_cc_g = yes; then
94    CFLAGS="-g -O2"
95  else
96    CFLAGS="-O2"
97  fi
98else
99  GCC=
100  test "${CFLAGS+set}" = set || CFLAGS="-g"
101fi
102
103CC_FOR_TARGET=$CC
104rtems_cv_prog_gcc=$ac_cv_prog_gcc
105rtems_cv_prog_cc_g=$ac_cv_prog_cc_g
106
107dnl restore initial values
108unset CC
109unset ac_cv_prog_gcc
110unset ac_cv_prog_cc_g
111unset ac_cv_prog_CC
112])
113
114
115dnl Almost identical to AC_PROG_CC_WORKS
116dnl added malloc to program fragment, because rtems has its own malloc
117dnl which is not available while bootstrapping rtems
118
119AC_DEFUN(RTEMS_PROG_CC_WORKS,
120[AC_MSG_CHECKING([whether the target C compiler ($CC $CFLAGS $LDFLAGS) works])
121AC_LANG_SAVE
122AC_LANG_C
123AC_TRY_COMPILER(
124[main(){return(0);}],
125rtems_cv_prog_cc_works, rtems_cv_prog_cc_cross)
126AC_LANG_RESTORE
127AC_MSG_RESULT($rtems_cv_prog_cc_works)
128if test $rtems_cv_prog_cc_works = no; then
129  AC_MSG_ERROR([installation or configuration problem: target C compiler cannot create executables.])
130fi
131AC_MSG_CHECKING([whether the target C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler])
132AC_MSG_RESULT($rtems_cv_prog_cc_cross)
133])
134
135dnl
136dnl $Id$
137dnl
138dnl Check whether the target compiler accepts -specs
139dnl
140dnl 98/02/11 Ralf Corsepius     corsepiu@faw.uni-ulm.de
141dnl
142
143AC_DEFUN(RTEMS_GCC_SPECS,
144[AC_REQUIRE([RTEMS_PROG_CC])
145AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts -specs,rtems_cv_gcc_specs,
146[touch confspec
147echo 'void f(){}' >conftest.c
148if test -z "`${CC_FOR_TARGET} -specs confspec -c conftest.c 2>&1`";then
149  rtems_cv_gcc_specs=yes
150else
151  rtems_cv_gcc_specs=no
152fi
153rm -f confspec conftest*
154])])
155
156dnl
157dnl $Id$
158dnl
159dnl Check whether the target compiler accepts -pipe
160dnl
161dnl 98/02/11 Ralf Corsepius     corsepiu@faw.uni-ulm.de
162dnl
163
164AC_DEFUN(RTEMS_GCC_PIPE,
165[AC_REQUIRE([RTEMS_PROG_CC])
166AC_REQUIRE([AC_CANONICAL_HOST])
167AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts --pipe,rtems_cv_gcc_pipe,
168[
169case "$host_os" in
170  cygwin32*)
171    rtems_cv_gcc_pipe=no
172    ;;
173  *)
174    echo 'void f(){}' >conftest.c
175    if test -z "`${CC_FOR_TARGET} --pipe -c conftest.c 2>&1`";then
176      rtems_cv_gcc_pipe=yes
177    else
178      rtems_cv_gcc_pipe=no
179    fi
180    rm -f conftest*
181    ;;
182esac
183])
184])
185
186dnl
187dnl $Id$
188dnl
189dnl Check for target g++
190dnl
191dnl Adaptation of autoconf-2.12's AC_PROG_CXX to rtems
192dnl
193dnl 98/02/10 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
194dnl
195 
196AC_DEFUN(RTEMS_PROG_CXX,
197[
198AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
199AC_BEFORE([$0], [AC_PROG_CXX])dnl
200AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
201
202RTEMS_PROG_CXX_WORKS
203AC_PROG_CXX_GNU
204
205if test $ac_cv_prog_gxx = yes; then
206  GXX=yes
207dnl Check whether -g works, even if CXXFLAGS is set, in case the package
208dnl plays around with CXXFLAGS (such as to build both debugging and
209dnl normal versions of a library), tasteless as that idea is.
210  ac_test_CXXFLAGS="${CXXFLAGS+set}"
211  ac_save_CXXFLAGS="$CXXFLAGS"
212  CXXFLAGS=
213  AC_PROG_CXX_G
214  if test "$ac_test_CXXFLAGS" = set; then
215    CXXFLAGS="$ac_save_CXXFLAGS"
216  elif test $ac_cv_prog_cxx_g = yes; then
217    CXXFLAGS="-g -O2"
218  else
219    CXXFLAGS="-O2"
220  fi
221else
222  GXX=
223  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
224fi
225CXX_FOR_TARGET=$CXX
226
227dnl restore initial values
228unset CXX
229unset ac_cv_prog_gxx
230])
231
232
233dnl Almost identical to AC_PROG_CXX_WORKS
234dnl Additional handling of malloc
235dnl NOTE: using newlib with a native compiler is cross-compiling, indeed.
236AC_DEFUN(RTEMS_PROG_CXX_WORKS,
237[AC_MSG_CHECKING([whether the target C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works])
238AC_LANG_SAVE
239AC_LANG_CPLUSPLUS
240
241dnl this fails if rtems uses newlib, because rtems has its own malloc which
242dnl is not available at bootstrap
243AC_TRY_COMPILER(
244  [main(){return(0);}],
245  rtems_cv_prog_cxx_works, rtems_cv_prog_cxx_cross)
246AC_LANG_RESTORE
247AC_MSG_RESULT($rtems_cv_prog_cxx_works)
248if test $rtems_cv_prog_cxx_works = no; then
249  AC_MSG_ERROR([installation or configuration problem: target C++ compiler cannot create executables.])
250fi
251AC_MSG_CHECKING([whether the target C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler])
252AC_MSG_RESULT($rtems_cv_prog_cxx_cross)
253])
254
255dnl $Id$
256dnl
257dnl Set target tools
258dnl
259dnl 98/02/12 Ralf Corsepius     (corsepiu@faw.uni-ulm.de)
260dnl
261
262AC_DEFUN(RTEMS_CANONICALIZE_TOOLS,
263[AC_REQUIRE([RTEMS_PROG_CC])dnl
264if test "$rtems_cv_prog_gcc" = "yes" ; then
265  dnl We are using gcc, now ask it about its tools
266  dnl Necessary if gcc was configured to use the target's native tools
267  dnl or uses prefixes for gnutools (e.g. gas instead of as)
268  AR_FOR_TARGET=`$CC_FOR_TARGET --print-prog-name=ar`
269  AS_FOR_TARGET=`$CC_FOR_TARGET --print-prog-name=as`
270  LD_FOR_TARGET=`$CC_FOR_TARGET --print-prog-name=ld`
271  NM_FOR_TARGET=`$CC_FOR_TARGET --print-prog-name=nm`
272  RANLIB_FOR_TARGET=`$CC_FOR_TARGET --print-prog-name=ranlib`
273fi
274
275dnl check whether the tools exist
276dnl FIXME: What shall be done if they don't exist?
277
278dnl NOTE: CC_FOR_TARGET should always be valid at this point,
279dnl       cf. RTEMS_PROG_CC 
280AC_PATH_PROG(CC_FOR_TARGET,"$program_prefix"gcc,no)
281
282dnl FIXME: This may fail if the compiler has not been recognized as gcc
283dnl       and uses tools with different names
284AC_PATH_PROG(AR_FOR_TARGET,"$program_prefix"ar,no)
285AC_PATH_PROG(AS_FOR_TARGET,"$program_prefix"as,no)
286AC_PATH_PROG(NM_FOR_TARGET,"$program_prefix"nm,no)
287AC_PATH_PROG(LD_FOR_TARGET,"$program_prefix"ld,no)
288
289dnl NOTE: This is doubtful, but should not disturb all current rtems'
290dnl       targets (remark: solaris fakes ranlib!!)
291AC_PATH_PROG(RANLIB_FOR_TARGET,"$program_prefix"ranlib,no)
292
293dnl NOTE: These may not be available, if not using gnutools
294AC_PATH_PROG(OBJCOPY_FOR_TARGET,"$program_prefix"objcopy,no)
295AC_PATH_PROG(SIZE_FOR_TARGET,"$program_prefix"size,no)
296])
297
298dnl $Id$
299
300dnl RTEMS_CHECK_MAKEFILE(path)
301dnl Search for Makefile.in's within the directory starting
302dnl at path and append an entry for Makefile to global variable
303dnl "makefiles" (from configure.in) for each Makefile.in found
304dnl
305AC_DEFUN(RTEMS_CHECK_MAKEFILE,
306[RTEMS_CHECK_FILES_IN($1,Makefile,makefiles)
307])
308
309dnl $Id$
310
311dnl RTEMS_CHECK_FILES_IN(path,file,var)
312dnl path .. path relative to srcdir, where to start searching for files
313dnl file .. name of the files to search for
314dnl var  .. shell variable to append files found
315AC_DEFUN(RTEMS_CHECK_FILES_IN,
316[
317AC_MSG_CHECKING(for $2.in in $1)
318if test -d $srcdir/$1; then
319  rtems_av_save_dir=`pwd`;
320  cd $srcdir;
321  rtems_av_tmp=`find $1 -name "$2.in" -print | sed "s/$2\.in/%/" | sort | sed "s/%/$2/"`
322  $3="$$3 $rtems_av_tmp";
323  cd $rtems_av_save_dir;
324  AC_MSG_RESULT(done)
325else
326  AC_MSG_RESULT(no)
327fi
328])
329
330
Note: See TracBrowser for help on using the repository browser.