* configure.in: Check for --enable-shared. Substitute new
[platform/upstream/binutils.git] / binutils / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 dnl
3 AC_PREREQ(2.0)
4 AC_INIT(ar.c)
5
6 AC_ARG_ENABLE(targets,
7 [  --enable-targets        alternative target configurations],
8 [case "${enableval}" in
9   yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
10             ;;
11   no)       enable_targets= ;;
12   *)        enable_targets=$enableval ;;
13 esac])dnl
14 AC_ARG_ENABLE(shared,
15 [  --enable-shared         build shared BFD library],
16 [case "${enableval}" in
17   yes) shared=true ;;
18   no)  shared=false ;;
19   *)   AC_MSG_ERROR([bad value ${enableval} for BFD shared option]) ;;
20 esac])dnl
21
22 AC_CONFIG_HEADER(config.h:config.in)
23
24 AC_CONFIG_AUX_DIR(`cd $srcdir/..; pwd`)
25 AC_CANONICAL_SYSTEM
26 if test -z "$target" ; then
27     AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
28 fi
29 if test -z "$host" ; then
30     AC_MSG_ERROR(Unrecognized host system type; please check config.sub.)
31 fi
32 AC_ARG_PROGRAM
33
34 # host-specific stuff:
35
36 HDEFINES=
37 LDFLAGS=
38 HLDFLAGS=
39
40 . ${srcdir}/../bfd/configure.host
41
42 AC_PROG_CC
43 AC_SUBST(CFLAGS)
44 AC_SUBST(HDEFINES)
45 AC_SUBST(LDFLAGS)
46 AC_SUBST(HLDFLAGS)
47 AR=${AR-ar}
48 AC_SUBST(AR)
49 AC_PROG_RANLIB
50 AC_PROG_INSTALL
51
52 # For most hosts we can use a simple definition to pick up the BFD and
53 # opcodes libraries.  However, if we are building shared libraries, we
54 # need to handle some hosts specially.
55 BFDLIB='-L../bfd -lbfd'
56 OPCODES='-L../opcodes -lopcodes'
57 if test "${shared}" = "true"; then
58   case "${host}" in
59   *-*-sunos*)
60     # On SunOS, we must link against the name we are going to install,
61     # not -lbfd, since SunOS does not support SONAME.
62     BFDLIB='-L../bfd -l`echo bfd | sed '"'"'$(program_transform_name)'"'"'`'
63     OPCODES='-L../opcodes -l`echo opcodes | sed '"'"'$(program_transform_name)'"'"'`'
64     ;;
65   esac
66 fi
67 AC_SUBST(BFDLIB)
68 AC_SUBST(OPCODES)
69
70 BFD_CC_FOR_BUILD
71
72 AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h fcntl.h sys/file.h)
73 AC_HEADER_SYS_WAIT
74 AC_CHECK_FUNCS(sbrk utimes)
75
76 AC_MSG_CHECKING(for time_t in time.h)
77 AC_CACHE_VAL(bu_cv_decl_time_t_time_h,
78 [AC_TRY_COMPILE([#include <time.h>], [time_t i;],
79 bu_cv_decl_time_t_time_h=yes, bu_cv_decl_time_t_time_h=no)])
80 AC_MSG_RESULT($bu_cv_decl_time_t_time_h)
81 if test $bu_cv_decl_time_t_time_h = yes; then
82   AC_DEFINE([HAVE_TIME_T_IN_TIME_H])
83 fi
84
85 AC_MSG_CHECKING(for time_t in sys/types.h)
86 AC_CACHE_VAL(bu_cv_decl_time_t_types_h,
87 [AC_TRY_COMPILE([#include <sys/types.h>], [time_t i;],
88 bu_cv_decl_time_t_types_h=yes, bu_cv_decl_time_t_types_h=no)])
89 AC_MSG_RESULT($bu_cv_decl_time_t_types_h)
90 if test $bu_cv_decl_time_t_types_h = yes; then
91   AC_DEFINE([HAVE_TIME_T_IN_TYPES_H])
92 fi
93
94 # Under Next 3.2 <utime.h> apparently does not define struct utimbuf
95 # by default.
96 AC_MSG_CHECKING([for utime.h])
97 AC_CACHE_VAL(bu_cv_header_utime_h,
98 [AC_TRY_COMPILE([#include <sys/types.h>
99 #ifdef HAVE_TIME_H
100 #include <time.h>
101 #endif
102 #include <utime.h>],
103 [struct utimbuf s;],
104 bu_cv_header_utime_h=yes, bu_cv_header_utime_h=no)])
105 AC_MSG_RESULT($bu_cv_header_utime_h)
106 if test $bu_cv_header_utime_h = yes; then
107   AC_DEFINE(HAVE_GOOD_UTIME_H)
108 fi
109
110 BFD_NEED_DECLARATION(fprintf)
111
112 BFD_BINARY_FOPEN
113
114 # target-specific stuff:
115
116 # Canonicalize the secondary target names.
117 if test -n "$enable_targets"; then
118     for targ in `echo $enable_targets | sed 's/,/ /g'`
119     do
120         result=`$ac_config_sub $targ 2>/dev/null`
121         if test -n "$result"; then
122             canon_targets="$canon_targets $result"
123         else
124             # Allow targets that config.sub doesn't recognize, like "all".
125             canon_targets="$canon_targets $targ"
126         fi
127     done
128 fi
129
130 all_targets=false
131 BUILD_NLMCONV=
132 NLMCONV_DEFS=
133 BUILD_SRCONV=
134 BUILD_DLLTOOL=
135 DLLTOOL_DEFS=
136
137 for targ in $target $canon_targets
138 do
139     if test "x$targ" = "xall"; then
140         all_targets=true
141         BUILD_NLMCONV='$(NLMCONV_PROG)'
142         BUILD_SRCONV='$(SRCONV_PROG)'
143         NLMCONV_DEFS="-DNLMCONV_I386 -DNLMCONV_ALPHA -DNLMCONV_POWERPC -DNLMCONV_SPARC"
144     else
145         case $targ in
146 changequote(,)dnl
147         i[345]86*-*-netware*) 
148 changequote([,])dnl
149           BUILD_NLMCONV='$(NLMCONV_PROG)'
150           NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_I386"
151           ;;
152         alpha*-*-netware*)
153           BUILD_NLMCONV='$(NLMCONV_PROG)'
154           NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_ALPHA"
155           ;;
156         powerpc*-*-netware*)
157           BUILD_NLMCONV='$(NLMCONV_PROG)'
158           NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_POWERPC"
159           ;;
160         sparc*-*-netware*)
161           BUILD_NLMCONV='$(NLMCONV_PROG)'
162           NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_SPARC"
163           ;;
164         esac
165         case $targ in
166         *-*-hms*) BUILD_SRCONV='$(SRCONV_PROG)' ;;
167         esac
168         case $targ in
169         arm-*pe*)
170           BUILD_DLLTOOL='$(DLLTOOL_PROG)'
171           DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
172          ;;
173 changequote(,)dnl
174         i[3-6]86-*pe* | i[3-6]86-*-cygwin32)
175 changequote([,])dnl
176           BUILD_DLLTOOL='$(DLLTOOL_PROG)'
177           DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386"
178          ;;
179         powerpc*-*-*pe* | powerpc*-*-cygwin32)
180           BUILD_DLLTOOL='$(DLLTOOL_PROG)'
181           DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_PPC"
182          ;;
183         esac
184     fi
185 done
186
187 AC_SUBST(NLMCONV_DEFS)
188 AC_SUBST(BUILD_NLMCONV)
189 AC_SUBST(BUILD_SRCONV)
190 AC_SUBST(BUILD_DLLTOOL)
191 AC_SUBST(DLLTOOL_DEFS)
192
193 targ=$target
194 . $srcdir/../bfd/config.bfd
195 if test "x$targ_underscore" = "xyes"; then
196     UNDERSCORE=1
197 else
198     UNDERSCORE=0
199 fi
200 AC_SUBST(UNDERSCORE)
201
202 AC_OUTPUT(Makefile,
203 [case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])