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
|
dnl Process this file with autoconf to produce a configure script
dnl
AC_PREREG(2.5)
AC_INIT(ldmain.c)
AC_ARG_ENABLE(targets,
[ --enable-targets alternative target configurations],
[case "${enableval}" in
yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
;;
no) enable_targets= ;;
*) enable_targets=$enableval ;;
esac])dnl
AC_ARG_ENABLE(shared,
[ --enable-shared build shared BFD library],
[case "${enableval}" in
yes) shared=true ;;
no) shared=false ;;
*bfd*) shared=true ;;
*) shared=false ;;
esac])dnl
AC_CONFIG_HEADER(config.h:config.in)
AC_CONFIG_AUX_DIR(`cd $srcdir/..; pwd`)
AC_CANONICAL_SYSTEM
if test -z "$target" ; then
AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
fi
if test -z "$host" ; then
AC_MSG_ERROR(Unrecognized host system type; please check config.sub.)
fi
AC_ARG_PROGRAM
# host-specific stuff:
AC_PROG_CC
AC_PROG_INSTALL
. ${srcdir}/configure.host
AC_SUBST(HLDFLAGS)
AC_SUBST(HLDENV)
AC_SUBST(RPATH_ENVVAR)
AC_SUBST(HDEFINES)
AC_SUBST(HOSTING_CRT0)
AC_SUBST(HOSTING_LIBS)
AC_SUBST(NATIVE_LIB_DIRS)
# For most hosts we can use a simple definition to pick up the BFD and
# opcodes libraries. However, if we are building shared libraries, we
# need to handle some hosts specially.
BFDLIB='-L../bfd -lbfd'
case "${host}" in
*-*-sunos*)
# On SunOS, we must link against the name we are going to install,
# not -lbfd, since SunOS does not support SONAME.
if test "${shared}" = "true"; then
BFDLIB='-L../bfd -l`echo bfd | sed '"'"'$(program_transform_name)'"'"'`'
fi
;;
alpha*-*-osf*)
# On Alpha OSF/1, the native linker searches all the -L
# directories for any LIB.so files, and only then searches for any
# LIB.a files. That means that if there is an installed
# libbfd.so, but this build is not done with --enable-shared, the
# link will wind up being against the install libbfd.so rather
# than the newly built libbfd. To avoid this, we must explicitly
# link against libbfd.a when --enable-shared is not used.
if test "${shared}" != "true"; then
BFDLIB='../bfd/libbfd.a'
fi
;;
esac
AC_SUBST(BFDLIB)
AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h)
AC_CHECK_FUNCS(sbrk)
AC_HEADER_DIRENT
BFD_BINARY_FOPEN
BFD_NEED_DECLARATION(strstr)
BFD_NEED_DECLARATION(free)
BFD_NEED_DECLARATION(sbrk)
# target-specific stuff:
all_targets=
EMUL=
all_emuls=
TDIRS=
for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
do
if test "$targ_alias" = "all"; then
all_targets=true
else
# Canonicalize the secondary target names.
result=`$ac_config_sub $targ_alias 2>/dev/null`
if test -n "$result"; then
targ=$result
else
targ=$targ_alias
fi
. ${srcdir}/configure.tgt
if test "$targ" = "$target"; then
EMUL=$targ_emul
fi
for i in $targ_emul $targ_extra_emuls; do
case " $all_emuls " in
*" e${i}.o "*) ;;
*)
all_emuls="$all_emuls e${i}.o"
eval result=\$tdir_$i
test -z "$result" && result=$targ_alias
TDIRS="$TDIRS\\
tdir_$i=$result"
;;
esac
done
fi
done
AC_SUBST(EMUL)
AC_SUBST(TDIRS)
if test x${all_targets} = xtrue; then
EMULATION_OFILES='$(ALL_EMULATIONS)'
else
EMULATION_OFILES=$all_emuls
fi
AC_SUBST(EMULATION_OFILES)
AC_OUTPUT(Makefile,
[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])
|