aboutsummaryrefslogtreecommitdiff
path: root/gprof/configure.in
blob: 21409d5beb9447286401dc5afe8457973c3dc350 (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
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.5)dnl
AC_INIT(gprof.c)

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_PROG_CC
AC_PROG_INSTALL

AC_ISC_POSIX

AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM

case "${target}" in
alpha-*-*)	MY_TARGET=alpha ;;
changequote(,)dnl
i[345]86-*-*)	MY_TARGET=i386 ;;
changequote([,])dnl
sparc-*-*)	MY_TARGET=sparc ;;
tahoe-*-*)	MY_TARGET=tahoe ;;
vax-*-*)	MY_TARGET=vax ;;
ns32k-*-*)	MY_TARGET=ns532;;
*-*-*)		MY_TARGET=dummy ;;
esac

AC_SUBST(MY_TARGET)

BFDLIB='-L../bfd -lbfd'

# We need to handle some special cases if BFD was built shared.
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)

HLDFLAGS=
# If we have shared libraries, try to set rpath reasonably.
if test "${shared}" = "true"; then
  case "${host}" in
  *-*-hpux*)
    HLDFLAGS='-Wl,+s,+b,$(libdir)'
    ;;
  *-*-irix5*)
    HLDFLAGS='-Wl,-rpath,$(libdir)'
    ;;
  *-*-linux*aout*)
    ;;
  *-*-linux*)
    HLDFLAGS='-Wl,-rpath,$(libdir)'
    ;;
  *-*-sysv4* | *-*-solaris*)
    HLDFLAGS='-R $(libdir)'
    ;;
  esac
fi

# On SunOS, if the linker supports the -rpath option, use it to
# prevent ../bfd and ../opcodes from being included in the run time
# search path.
case "${host}" in
  *-*-sunos*)
    echo 'main () { }' > conftest.c
    ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
    if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
      :
    elif grep 'No such file' conftest.t >/dev/null 2>&1; then
      :
    elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
      :
    elif test "${shared}" = "true"; then
      HLDFLAGS='-Wl,-rpath=$(libdir)'
    else
      HLDFLAGS='-Wl,-rpath='
    fi
    rm -f conftest.t conftest.c conftest
    ;;
esac
AC_SUBST(HLDFLAGS)

AC_OUTPUT(Makefile)