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

AC_CANONICAL_SYSTEM

AM_INIT_AUTOMAKE(gprof, 2.8.1)

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

case "${target}" in
alpha-*-*)	MY_TARGET=alpha ;;
changequote(,)dnl
i[3456]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)

dnl We need to set BSD44_FORMAT on a host which uses the additional
dnl header fields.  This is an attempt to do that.  I can't think of a
dnl good feature test for this.
case "${target}" in
*-*-bsd4.4* | *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
  AC_DEFINE(BSD44_FORMAT)
  ;;
esac

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=
HLDENV=
# 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)'
    ;;
  *-*-solaris*)
    HLDFLAGS='-R $(libdir)'
    ;;
  *-*-sysv4*)
    HLDENV='if test -z "$${LD_RUN_PATH}"; then LD_RUN_PATH=$(libdir); else LD_RUN_PATH=$${LD_RUN_PATH}:$(libdir); fi; export LD_RUN_PATH;'
    ;;
  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_SUBST(HLDENV)

# automake --cygnus requires these for some reason.
AM_MAINTAINER_MODE
AM_CYGWIN32

AC_OUTPUT(Makefile)