aboutsummaryrefslogtreecommitdiff
path: root/newlib/configure.in
blob: 99a4b40b3d6619e37284b2dd034d24404a1af5aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
dnl This is the newlib configure.in file.
dnl Process this file with autoconf to produce a configure script.

AC_PREREQ(2.5)
AC_INIT(libc)
AM_CONFIG_HEADER(newlib.h:newlib.hin)

dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. 
AC_CONFIG_AUX_DIR(..)

dnl Support --enable-newlib-io-pos-args
dnl This option is actually read in libc/configure.in.  It is repeated
dnl here so that it shows up in the help text.
AC_ARG_ENABLE(newlib-io-pos-args,
[  --enable-newlib-io-pos-args enable printf-family positional arg support],
[case "${enableval}" in
  yes) newlib_io_pos_args=yes ;;
  no)  newlib_io_pos_args=no ;;
  *)   AC_MSG_ERROR(bad value ${enableval} for newlib-io-pos-args option) ;;
 esac], [newlib_io_pos_args=no])dnl


NEWLIB_CONFIGURE(.)

dnl We have to enable libtool after NEWLIB_CONFIGURE because if we try and
dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
dnl line of the macro which fail because appropriate LDFLAGS are not set.
if test "${use_libtool}" = "yes"; then
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
AC_PROG_AWK
fi

configdirs="libc libm"

AC_ARG_ENABLE(newlib_hw_fp,
[  --enable-newlib-hw-fp    Turn on hardware floating point math],
[case "${enableval}" in
   yes) newlib_hw_fp=true ;;
   no)  newlib_hw_fp=false ;;
   *) AC_MSG_ERROR(bad value ${enableval} for --enable-newlib-hw-fp) ;;
 esac],[newlib_hw_fp=false])
AM_CONDITIONAL(NEWLIB_HW_FP, test x$newlib_hw_fp = xtrue)

if test -z "${with_multisubdir}"; then
  configdirs="${configdirs} doc"
  have_doc=yes
else
  have_doc=
fi
AM_CONDITIONAL(HAVE_DOC, test x$have_doc = xyes)

EXTRA_DIRS=
AC_SUBST(EXTRA_DIRS)

# These get added in the top-level configure.in, except in the case where
# newlib is being built natively.
if test -z `echo ${CC} | grep \/libc\/include`; then
  CC_FOR_NEWLIB="${CC} -I$PWD/targ-include -I${newlib_basedir}/libc/include"
else
  CC_FOR_NEWLIB="${CC}"
fi
AC_SUBST(CC_FOR_NEWLIB)

AC_CONFIG_SUBDIRS(${configdirs})

CRT0=
CRT0_DIR=
if test -n "${sys_dir}"; then
  CRT0=crt0.o
  CRT0_DIR=libc/
fi
AC_SUBST(CRT0)
AC_SUBST(CRT0_DIR)

CRT1=${crt1}
CRT1_DIR=
if test -n "${crt1_dir}"; then
  CRT1_DIR=${crt1_dir}/
fi
AC_SUBST(CRT1)
AC_SUBST(CRT1_DIR)

if test -n "${libm_machine_dir}"; then
  LIBM_MACHINE_OBJECTLIST=libm/machine/${libm_machine_dir}/objectlist.awk.in
fi
AC_SUBST(LIBM_MACHINE_OBJECTLIST)

if test -n "${machine_dir}"; then
  MACHINE_OBJECTLIST=libc/machine/${machine_dir}/objectlist.awk.in
fi
AC_SUBST(MACHINE_OBJECTLIST)

if test -n "${sys_dir}"; then
  SYS_OBJECTLIST=libc/sys/${sys_dir}/objectlist.awk.in
fi
AC_SUBST(SYS_OBJECTLIST)

if test "${have_sys_mach_dir}" = "yes"; then
  SYS_MACH_OBJECTLIST=libc/sys/${sys_dir}/machine/${machine_dir}/objectlist.awk.in
fi
AC_SUBST(SYS_MACH_OBJECTLIST)

if test -n "${posix_dir}"; then
  POSIX_OBJECTLIST=libc/${posix_dir}/objectlist.awk.in
fi
AC_SUBST(POSIX_OBJECTLIST)

if test -n "${signal_dir}"; then
  SIGNAL_OBJECTLIST=libc/${signal_dir}/objectlist.awk.in
fi
AC_SUBST(SIGNAL_OBJECTLIST)

if test -n "${syscall_dir}"; then
  SYSCALL_OBJECTLIST=libc/${syscall_dir}/objectlist.awk.in
fi
AC_SUBST(SYSCALL_OBJECTLIST)

if test -n "${unix_dir}"; then
  UNIX_OBJECTLIST=libc/${unix_dir}/objectlist.awk.in
fi
AC_SUBST(UNIX_OBJECTLIST)

if test -n "${stdio64_dir}"; then
  STDIO64_OBJECTLIST=libc/${stdio64_dir}/objectlist.awk.in
fi
AC_SUBST(STDIO64_OBJECTLIST)

# Put a plausible default for CC_FOR_BUILD in Makefile.
if test -z "$CC_FOR_BUILD"; then
  CC_FOR_BUILD=gcc
fi
AC_SUBST(CC_FOR_BUILD)

if test "${newlib_elix_level}" -gt "0"; then
AC_DEFINE_UNQUOTED(_ELIX_LEVEL,${newlib_elix_level})
fi

if test "${newlib_mb}" = "yes"; then
AC_DEFINE_UNQUOTED(_MB_LEN_MAX,8)
fi

AC_DEFINE_UNQUOTED(_NEWLIB_VERSION,"$VERSION")

if test "${multilib}" = "yes"; then
  multilib_arg="--enable-multilib"
else
  multilib_arg=
fi


AC_OUTPUT(Makefile,
[if test -n "$CONFIG_FILES"; then
  unset ac_file
  . ${newlib_basedir}/../config-ml.in
fi],
srcdir=${srcdir}
host=${host}
target=${target}
with_multisubdir=${with_multisubdir}
ac_configure_args="${multilib_arg} ${ac_configure_args}"
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
newlib_basedir=${newlib_basedir}
CC="${CC}"
LDFLAGS="${LDFLAGS}"
)