aboutsummaryrefslogtreecommitdiff
path: root/opcodes/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/configure.in')
-rw-r--r--opcodes/configure.in68
1 files changed, 64 insertions, 4 deletions
diff --git a/opcodes/configure.in b/opcodes/configure.in
index 1ef7c5d..f68f098 100644
--- a/opcodes/configure.in
+++ b/opcodes/configure.in
@@ -26,6 +26,20 @@ AC_ARG_ENABLE(targets,
no) enable_targets= ;;
*) enable_targets=$enableval ;;
esac])dnl
+AC_ARG_ENABLE(shared,
+[ --enable-shared build shared opcodes library],
+[case "${enableval}" in
+ yes) shared=true ;;
+ no) shared=false ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for opcodes shared option]) ;;
+esac])dnl
+AC_ARG_ENABLE(commonbfdlib,
+[ --enable-commonbfdlib build shared BFD/opcodes/libiberty library],
+[case "${enableval}" in
+ yes) commonbfdlib=true ;;
+ no) commonbfdlib=false ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for opcodes commonbfdlib option]) ;;
+esac])dnl
AC_CONFIG_HEADER(config.h:config.in)
@@ -37,16 +51,57 @@ fi
# host-specific stuff:
+ALLIBS='$(TARGETLIB)'
+PICFLAG=
+SHLIB=
+SHLINK=
+if test "${shared}" = "true"; then
+ ALLLIBS='$(TARGETLIB) $(SHLIB) $(SHLINK)'
+ PICFLAG=-fpic
+ if test "${commonbfdlib}" = "true"; then
+changequote(,)dnl
+ SHLIB=../bfd/libbfd.so.`sed -e 's/[^0-9]*\([0-9.]*\).*/\1/' ${srcdir}/../bfd/VERSION`
+changequote([,])dnl
+ SHLINK=../bfd/libbfd.so
+ else
+changequote(,)dnl
+ SHLIB=libopcodes.so.`sed -e 's/[^0-9]*\([0-9.]*\).*/\1/' ${srcdir}/../bfd/VERSION`
+changequote([,])dnl
+ SHLINK=libopcodes.so
+ fi
+fi
+
. ${srcdir}/../bfd/configure.host
AC_PROG_CC
AC_SUBST(CFLAGS)
AC_SUBST(HDEFINES)
-AR=${AR-ar}
-AC_SUBST(AR)
+AC_CHECK_PROG(AR, ar, ar, :)
AC_PROG_RANLIB
AC_PROG_INSTALL
+if test "${shared}" = "true"; then
+ if test "${GCC}" != "yes" && test "${shared_non_gcc}" != "yes"; then
+ AC_MSG_WARN([opcodes --enable-shared only supported when using gcc])
+ shared=false
+ PICFLAG=
+ SHLIB=
+ fi
+fi
+
+AC_SUBST(ALLLIBS)
+AC_SUBST(PICFLAG)
+AC_SUBST(SHLIB)
+AC_SUBST(SHLIB_CC)
+AC_SUBST(SHLIB_CFLAGS)
+if test "${commonbfdlib}" = "true"; then
+ COMMON_SHLIB=yes
+else
+ COMMON_SHLIB=
+fi
+AC_SUBST(COMMON_SHLIB)
+AC_SUBST(SHLINK)
+
AC_CHECK_HEADERS(string.h strings.h)
# target-specific stuff:
@@ -90,11 +145,13 @@ if test x${all_targets} = xfalse ; then
archdefs="$archdefs -DARCH_$ad"
case "$arch" in
bfd_a29k_arch) ta="$ta a29k-dis.o" ;;
+ bfd_alliant_arch) ;;
bfd_alpha_arch) ta="$ta alpha-dis.o" ;;
# start-sanitize-arc
bfd_arc_arch) ta="$ta arc-dis.o arc-opc.o" ;;
# end-sanitize-arc
bfd_arm_arch) ta="$ta arm-dis.o" ;;
+ bfd_convex_arch) ;;
bfd_h8300_arch) ta="$ta h8300-dis.o" ;;
bfd_h8500_arch) ta="$ta h8500-dis.o" ;;
bfd_hppa_arch) ta="$ta hppa-dis.o" ;;
@@ -106,16 +163,19 @@ if test x${all_targets} = xfalse ; then
bfd_mips_arch) ta="$ta mips-dis.o mips-opc.o" ;;
bfd_ns32k_arch) ta="$ta ns32k-dis.o" ;;
bfd_powerpc_arch) ta="$ta ppc-dis.o ppc-opc.o" ;;
+ bfd_pyramid_arch) ;;
+ bfd_romp_arch) ;;
bfd_rs6000_arch) ta="$ta ppc-dis.o ppc-opc.o" ;;
- bfd_sh_arch) ta="$ta sh-dis.o" ;;
# start-sanitize-rce
bfd_rce_arch) ta="$ta rce-dis.o" ;;
# end-sanitize-rce
+ bfd_sh_arch) ta="$ta sh-dis.o" ;;
bfd_sparc_arch) ta="$ta sparc-dis.o sparc-opc.o" ;;
+ bfd_tahoe_arch) ;;
bfd_vax_arch) ;;
+ bfd_w65_arch) ta="$ta w65-dis.o" ;;
bfd_we32k_arch) ;;
bfd_z8k_arch) ta="$ta z8k-dis.o" ;;
- bfd_w65_arch) ta="$ta w65-dis.o" ;;
"") ;;
*) AC_MSG_ERROR(*** unknown target architecture $arch) ;;