diff options
Diffstat (limited to 'contrib/gdb/opcodes/configure.in')
-rw-r--r-- | contrib/gdb/opcodes/configure.in | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/contrib/gdb/opcodes/configure.in b/contrib/gdb/opcodes/configure.in new file mode 100644 index 0000000..e0c4f58 --- /dev/null +++ b/contrib/gdb/opcodes/configure.in @@ -0,0 +1,216 @@ +AC_PREREQ(2.0) +AC_INIT(z8k-dis.c) +# configure.in script for the opcodes library. +# Copyright (C) 1995, 1996 Free Software Foundation, Inc. +# Written by Cygnus Support. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +AC_ARG_ENABLE(targets, +[ --enable-targets alternative target configurations], +[case "${enableval}" in + yes | "") AC_ERROR(enable-targets option must specify target names or 'all') + ;; + 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) + +AC_CONFIG_AUX_DIR(`cd $srcdir/..;pwd`) +AC_CANONICAL_SYSTEM +if test -z "$target" ; then + AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) +fi +AC_ARG_PROGRAM + +# host-specific stuff: + +ALLLIBS='$(TARGETLIB)' +PICFLAG= +SHLIB=unused-shlib +SHLINK=unused-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 + +AC_PROG_CC + +. ${srcdir}/../bfd/configure.host + +AC_SUBST(HDEFINES) +AC_CHECK_TOOL(AR, ar) +AC_CHECK_TOOL(RANLIB, 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 + ALLLIBS='$(TARGETLIB)' + PICFLAG= + SHLIB=unused-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 + # Rebuild the shared library if libiberty or libbfd changes. + SHLIB_DEP="../libiberty/libiberty.a ../bfd/libbfd.a" +else + COMMON_SHLIB= + SHLIB_DEP= +fi +AC_SUBST(COMMON_SHLIB) +AC_SUBST(SHLIB_DEP) +AC_SUBST(SHLINK) + +AC_CHECK_HEADERS(string.h strings.h) + +# target-specific stuff: + +# Canonicalize the secondary target names. +if test -n "$enable_targets" ; then + for targ in `echo $enable_targets | sed 's/,/ /g'` + do + result=`$ac_config_sub $targ 2>/dev/null` + if test -n "$result" ; then + canon_targets="$canon_targets $result" + else + # Allow targets that config.sub doesn't recognize, like "all". + canon_targets="$canon_targets $targ" + fi + done +fi + +all_targets=false +selarchs= +for targ in $target $canon_targets +do + if test "x$targ" = "xall" ; then + all_targets=true + else + . $srcdir/../bfd/config.bfd + selarchs="$selarchs $targ_archs" + fi +done + +# We don't do any links based on the target system, just makefile config. + +if test x${all_targets} = xfalse ; then + + # Target architecture .o files. + ta= + + for arch in $selarchs + do + ad=`echo $arch | sed -e s/bfd_//g -e s/_arch//g` + 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" ;; + 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" ;; + bfd_i386_arch) ta="$ta i386-dis.o" ;; + bfd_i860_arch) ;; + bfd_i960_arch) ta="$ta i960-dis.o" ;; + bfd_m68k_arch) ta="$ta m68k-dis.o m68k-opc.o" ;; + bfd_m88k_arch) ta="$ta m88k-dis.o" ;; + 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" ;; + 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" ;; + + "") ;; + *) AC_MSG_ERROR(*** unknown target architecture $arch) ;; + esac + done + + # Weed out duplicate .o files. + f="" + for i in $ta ; do + case " $f " in + *" $i "*) ;; + *) f="$f $i" ;; + esac + done + ta="$f" + + # And duplicate -D flags. + f="" + for i in $archdefs ; do + case " $f " in + *" $i "*) ;; + *) f="$f $i" ;; + esac + done + archdefs="$f" + + BFD_MACHINES="$ta" + +else # all_targets is true + archdefs=-DARCH_all + BFD_MACHINES='$(ALL_MACHINES)' +fi + +AC_SUBST(archdefs) +AC_SUBST(BFD_MACHINES) + +AC_OUTPUT(Makefile, +[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac]) |