diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-02-05 21:17:52 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-02-05 21:17:52 +0000 |
commit | e0bf1022ddc4d5697106c67a0a6f4088fb6531aa (patch) | |
tree | 1f9427e3aee6b565caac17784eabdece6a76a329 /opcodes/configure.in | |
parent | 44f795f7feef198729a978ff84c4c2dc9efbc1b3 (diff) | |
download | gdb-e0bf1022ddc4d5697106c67a0a6f4088fb6531aa.zip gdb-e0bf1022ddc4d5697106c67a0a6f4088fb6531aa.tar.gz gdb-e0bf1022ddc4d5697106c67a0a6f4088fb6531aa.tar.bz2 |
Support for building as a shared library, based on patches from
Alan Modra <alan@spri.levels.unisa.edu.au>:
* configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
SHLIB_CFLAGS, COMMON_SHLIB, SHLINK.
* configure: Rebuild.
* Makefile.in (ALLLIBS): New variable.
(PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
(COMMON_SHLIB, SHLINK): New variables.
(.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
(STAGESTUFF): Remove variable.
(all): Depend upon $(ALLLIBS) rather than $(TARGETLIB).
(stamp-piclist, piclist): New targets.
($(SHLIB), $(SHLINK)): New targets.
($(OFILES)): Depend upon stamp-picdir.
(disassemble.o): Build twice if PICFLAG is set.
(MOSTLYCLEAN): Add pic/*.o.
(clean): Remove $(SHLIB), $(SHLINK), piclist, and stamp-piclist.
(distclean): Remove pic and stamp-picdir.
(install): Install shared libraries.
(stamp-picdir): New target.
Diffstat (limited to 'opcodes/configure.in')
-rw-r--r-- | opcodes/configure.in | 68 |
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) ;; |