diff -uprN binutils-2.15.90.0.1.1/ChangeLog binutils-2.15.90.0.2/ChangeLog --- binutils-2.15.90.0.1.1/ChangeLog 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/ChangeLog 2004-04-12 12:56:32.000000000 -0700 @@ -1,3 +1,139 @@ +2004-04-09 Nathanael Nerode + + PR bootstrap/14871 + * Makefile.tpl: If we don't have built-in-tree target tools, + use the ones found by configure rather than hacking around with + program_transform_name. + * configure.in: Give Makefile.tpl the information necessary + to do that. + * Makefile.in: Regenerate. + * configure: Regenerate. + +2004-04-06 Nathanael Nerode + + PR bootstrap/14760 + * configure.in: When computing baseargs, strip *all* copies of + offending options. Also, don't match/substitute the trailing space, + so that this actually works when two similar options are separated by + only one space. + * configure: Regenerate. + +2004-04-06 David Edelsohn + + * configure.in (powerpc-*-aix*): Remove target-libada from noconfigdirs. + (rs6000-*-aix*): Same. + * configure: Regenerate. + +2004-03-25 Stan Shebs + + Remove MPW support, no longer used. + * mpw-README, mpw-build.in, mpw-config.in, mpw-configure, + mpw-install: Remove files. + * src-release (DEVO_SUPPORT): Remove names of removed files. + * MAINTAINERS: Likewise. + +2004-03-24 Nathanael Nerode + + * Makefile.tpl (top level bootstrap support): Remove now-unneeded + STRICT_WARN, WARN_CFLAGS flags passed down to make. + * Makefile.in: Regenerate. + + * configure.in (top level bootstrap support): Rework --enable-werror + to set @stage2_werror_flag@. + * configure: Regenerate. + * Makefile.tpl (top level bootstrap support): Pass + @stage2_werror_flag@ down to configure in stages 2 and 3. + * Makefile.in: Regenerate. + +2004-03-23 Nathanael Nerode + + * Makefile.tpl (new-bootstrap): Set CC and CC_FOR_BUILD in configure + for stages 2 and 3 as well as in make. As a consequence, remove + OUTPUT_OPTION (now detected by configure) from the flags passed down + to make. + * Makefile.in: Regenerate. + + * Makefile.tpl (new-bootstrap): Fix typo. + * Makefile.in: Regenerate. + +2004-03-22 Nathanael Nerode + + * Makefile.tpl: Rearrange by moving recursive_targets rules + into their proper sections. + * Makefile.tpl (top level bootstrap support): Move disabling + of coverage flags from 'make' to 'configure'; improve comments. + * Makefile.in: Regenerate. + + * Makefile.tpl (experimental top level bootstrap) Move stage1 + language setting from all- target to configure- target; disable + intermodule optimization in stage 1; prevent gratuitous rebuilds + of stage 1. + * Makefile.in: Regenerate. + * configure.in: Comma-separate stage 1 language list for top + level bootstrap. + * configure: Regenerate. + + * Makefile.tpl: Clean up experimental top level bootstrap support: + note known problems; set CONFIG_SHELL; don't set BUILD_CC; relocate + prev-gcc in configure- targets as well as all- targets. + * Makefile.in: Regenerate. + +2004-03-17 Paolo Bonzini + + * configure.in: Remove symbolic link section. + * configure: Regenerate. + * Makefile.tpl (links): Remove. + * Makefile.in: Regenerate. + +2004-03-15 Paolo Bonzini + Nathanael Nerode + + * configure.in (DEFAULT_YACC, DEFAULT_M4, DEFAULT_LEX): + Set with AC_CHECK_PROGS. + * configure.in: Fix comment typo from last patch. + * configure: Regenerate. + +2004-03-15 Nathanael Nerode + + * Makefile.tpl: Introduce experimental top level bootstrap support. + * Makefile.in: Regenerate. + * configure.in: Introduce support for top level bootstrap. + * configure: Regenerate. + +2004-03-12 Eric Botcazou + Paolo Bonzini + + PR bootstrap/14522 + * configure.in: Cope with shells that do not support unquoted ^ + * configure: Regenerate. + +2004-03-11 Eric Botcazou + Paolo Bonzini + + PR bootstrap/14522 + * configure.in: Cope with shell that do not support nesting + quotes inside quoted backquote substitutions. + * configure: Regenerate. + +2004-03-10 Andrew Pinski + + PR bootstrap/14522 + * configure.in: Fix escaping of $. + * configure: Regenerate. + +2004-03-11 Nathanael Nerode + + * configure: Regenerate. + +2004-03-08 Paolo Bonzini + + PR ada/14131 + Move language detection to the top level. + * configure.in: Find default values for the tools as + soon as possible. Disable ada if GNAT is not found. + Emit error message about missing languages. Expand + --enable-languages=all for the gcc subdirectory. + 2004-03-01 Richard Sandiford * configure.in (mips64*-*-linux*): Override mips*-*-linux* case diff -uprN binutils-2.15.90.0.1.1/MAINTAINERS binutils-2.15.90.0.2/MAINTAINERS --- binutils-2.15.90.0.1.1/MAINTAINERS 2004-01-14 13:07:42.000000000 -0800 +++ binutils-2.15.90.0.2/MAINTAINERS 2004-04-12 12:56:32.000000000 -0700 @@ -100,8 +100,7 @@ winsup/ General discussion cygwin@sources.redhat.com. See also winsup/MAINTAINERS. -expect/; config-ml.in; mpw-README; mpw-build.in; mpw-config.in; -mpw-configure; mpw-install; setup.com; missing; makefile.vms; utils/; +expect/; config-ml.in; setup.com; missing; makefile.vms; utils/; config/; config.if; makefile.vms; missing; ylwrap; mkdep; etc/; install-sh; intl/ Ask DJ Delorie after reading the libiberty entry. diff -uprN binutils-2.15.90.0.1.1/Makefile.in binutils-2.15.90.0.2/Makefile.in --- binutils-2.15.90.0.1.1/Makefile.in 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/Makefile.in 2004-04-12 12:56:32.000000000 -0700 @@ -70,7 +70,6 @@ INSTALL_DATA = @INSTALL_DATA@ # Miscellaneous non-standard autoconf-set variables # ------------------------------------------------- -links=@configlinks@ # The file containing GCC's version number. gcc_version_trigger = @gcc_version_trigger@ gcc_version = @gcc_version@ @@ -247,6 +246,7 @@ TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/l FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ AR_FOR_TARGET=@AR_FOR_TARGET@ +CONFIGURED_AR_FOR_TARGET=@CONFIGURED_AR_FOR_TARGET@ USUAL_AR_FOR_TARGET = ` \ if [ -f $$r/binutils/ar ] ; then \ echo $$r/binutils/ar ; \ @@ -254,11 +254,12 @@ USUAL_AR_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(AR); \ else \ - echo ar | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_AR_FOR_TARGET) ; \ fi; \ fi` AS_FOR_TARGET=@AS_FOR_TARGET@ +CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@ USUAL_AS_FOR_TARGET = ` \ if [ -f $$r/gas/as-new ] ; then \ echo $$r/gas/as-new ; \ @@ -268,7 +269,7 @@ USUAL_AS_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(AS); \ else \ - echo as | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_AS_FOR_TARGET) ; \ fi; \ fi` @@ -294,6 +295,7 @@ CXXFLAGS_FOR_TARGET = $(CXXFLAGS) LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ +CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@ USUAL_DLLTOOL_FOR_TARGET = ` \ if [ -f $$r/binutils/dlltool ] ; then \ echo $$r/binutils/dlltool ; \ @@ -301,13 +303,14 @@ USUAL_DLLTOOL_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(DLLTOOL); \ else \ - echo dlltool | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_DLLTOOL_FOR_TARGET) ; \ fi; \ fi` GCJ_FOR_TARGET = @GCJ_FOR_TARGET@ LD_FOR_TARGET=@LD_FOR_TARGET@ +CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@ USUAL_LD_FOR_TARGET = ` \ if [ -f $$r/ld/ld-new ] ; then \ echo $$r/ld/ld-new ; \ @@ -317,13 +320,14 @@ USUAL_LD_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(LD); \ else \ - echo ld | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_LD_FOR_TARGET) ; \ fi; \ fi` LDFLAGS_FOR_TARGET = NM_FOR_TARGET=@NM_FOR_TARGET@ +CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@ USUAL_NM_FOR_TARGET = ` \ if [ -f $$r/binutils/nm-new ] ; then \ echo $$r/binutils/nm-new ; \ @@ -333,11 +337,12 @@ USUAL_NM_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(NM); \ else \ - echo nm | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_NM_FOR_TARGET) ; \ fi; \ fi` RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@ +CONFIGURED_RANLIB_FOR_TARGET=@CONFIGURED_RANLIB_FOR_TARGET@ USUAL_RANLIB_FOR_TARGET = ` \ if [ -f $$r/binutils/ranlib ] ; then \ echo $$r/binutils/ranlib ; \ @@ -349,11 +354,12 @@ USUAL_RANLIB_FOR_TARGET = ` \ echo ranlib; \ fi; \ else \ - echo ranlib | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_RANLIB_FOR_TARGET) ; \ fi; \ fi` WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ +CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@ USUAL_WINDRES_FOR_TARGET = ` \ if [ -f $$r/binutils/windres ] ; then \ echo $$r/binutils/windres ; \ @@ -361,7 +367,7 @@ USUAL_WINDRES_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(WINDRES); \ else \ - echo windres | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_WINDRES_FOR_TARGET) ; \ fi; \ fi` @@ -799,6800 +805,1328 @@ info-target: \ maybe-info-target-rda \ maybe-info-target-libada -# GCC, the eternal special case -.PHONY: maybe-info-gcc info-gcc -maybe-info-gcc: -info-gcc: \ - configure-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - -# Host modules. - -.PHONY: maybe-info-ash info-ash -maybe-info-ash: - -info-ash: \ - configure-ash - @[ -f ./ash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in ash" ; \ - (cd ash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - +.PHONY: do-dvi +do-dvi: dvi-host dvi-target -.PHONY: maybe-info-autoconf info-autoconf -maybe-info-autoconf: +.PHONY: dvi-host +dvi-host: maybe-dvi-gcc \ + maybe-dvi-ash \ + maybe-dvi-autoconf \ + maybe-dvi-automake \ + maybe-dvi-bash \ + maybe-dvi-bfd \ + maybe-dvi-opcodes \ + maybe-dvi-binutils \ + maybe-dvi-bison \ + maybe-dvi-byacc \ + maybe-dvi-bzip2 \ + maybe-dvi-dejagnu \ + maybe-dvi-diff \ + maybe-dvi-dosutils \ + maybe-dvi-etc \ + maybe-dvi-fastjar \ + maybe-dvi-fileutils \ + maybe-dvi-findutils \ + maybe-dvi-find \ + maybe-dvi-flex \ + maybe-dvi-gas \ + maybe-dvi-gawk \ + maybe-dvi-gettext \ + maybe-dvi-gnuserv \ + maybe-dvi-gprof \ + maybe-dvi-gzip \ + maybe-dvi-hello \ + maybe-dvi-indent \ + maybe-dvi-intl \ + maybe-dvi-tcl \ + maybe-dvi-itcl \ + maybe-dvi-ld \ + maybe-dvi-libgui \ + maybe-dvi-libiberty \ + maybe-dvi-libtool \ + maybe-dvi-m4 \ + maybe-dvi-make \ + maybe-dvi-mmalloc \ + maybe-dvi-patch \ + maybe-dvi-perl \ + maybe-dvi-prms \ + maybe-dvi-rcs \ + maybe-dvi-readline \ + maybe-dvi-release \ + maybe-dvi-recode \ + maybe-dvi-sed \ + maybe-dvi-send-pr \ + maybe-dvi-shellutils \ + maybe-dvi-sid \ + maybe-dvi-sim \ + maybe-dvi-tar \ + maybe-dvi-texinfo \ + maybe-dvi-textutils \ + maybe-dvi-time \ + maybe-dvi-uudecode \ + maybe-dvi-wdiff \ + maybe-dvi-zip \ + maybe-dvi-zlib \ + maybe-dvi-gdb \ + maybe-dvi-expect \ + maybe-dvi-guile \ + maybe-dvi-tk \ + maybe-dvi-tix \ + maybe-dvi-libtermcap \ + maybe-dvi-utils -info-autoconf: \ - configure-autoconf - @[ -f ./autoconf/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in autoconf" ; \ - (cd autoconf && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 +.PHONY: dvi-target +dvi-target: \ + maybe-dvi-target-libstdc++-v3 \ + maybe-dvi-target-newlib \ + maybe-dvi-target-libf2c \ + maybe-dvi-target-libobjc \ + maybe-dvi-target-libtermcap \ + maybe-dvi-target-winsup \ + maybe-dvi-target-libgloss \ + maybe-dvi-target-libiberty \ + maybe-dvi-target-gperf \ + maybe-dvi-target-examples \ + maybe-dvi-target-libffi \ + maybe-dvi-target-libjava \ + maybe-dvi-target-zlib \ + maybe-dvi-target-boehm-gc \ + maybe-dvi-target-qthreads \ + maybe-dvi-target-rda \ + maybe-dvi-target-libada +.PHONY: do-TAGS +do-TAGS: TAGS-host TAGS-target -.PHONY: maybe-info-automake info-automake -maybe-info-automake: +.PHONY: TAGS-host +TAGS-host: maybe-TAGS-gcc \ + maybe-TAGS-ash \ + maybe-TAGS-autoconf \ + maybe-TAGS-automake \ + maybe-TAGS-bash \ + maybe-TAGS-bfd \ + maybe-TAGS-opcodes \ + maybe-TAGS-binutils \ + maybe-TAGS-bison \ + maybe-TAGS-byacc \ + maybe-TAGS-bzip2 \ + maybe-TAGS-dejagnu \ + maybe-TAGS-diff \ + maybe-TAGS-dosutils \ + maybe-TAGS-etc \ + maybe-TAGS-fastjar \ + maybe-TAGS-fileutils \ + maybe-TAGS-findutils \ + maybe-TAGS-find \ + maybe-TAGS-flex \ + maybe-TAGS-gas \ + maybe-TAGS-gawk \ + maybe-TAGS-gettext \ + maybe-TAGS-gnuserv \ + maybe-TAGS-gprof \ + maybe-TAGS-gzip \ + maybe-TAGS-hello \ + maybe-TAGS-indent \ + maybe-TAGS-intl \ + maybe-TAGS-tcl \ + maybe-TAGS-itcl \ + maybe-TAGS-ld \ + maybe-TAGS-libgui \ + maybe-TAGS-libiberty \ + maybe-TAGS-libtool \ + maybe-TAGS-m4 \ + maybe-TAGS-make \ + maybe-TAGS-mmalloc \ + maybe-TAGS-patch \ + maybe-TAGS-perl \ + maybe-TAGS-prms \ + maybe-TAGS-rcs \ + maybe-TAGS-readline \ + maybe-TAGS-release \ + maybe-TAGS-recode \ + maybe-TAGS-sed \ + maybe-TAGS-send-pr \ + maybe-TAGS-shellutils \ + maybe-TAGS-sid \ + maybe-TAGS-sim \ + maybe-TAGS-tar \ + maybe-TAGS-texinfo \ + maybe-TAGS-textutils \ + maybe-TAGS-time \ + maybe-TAGS-uudecode \ + maybe-TAGS-wdiff \ + maybe-TAGS-zip \ + maybe-TAGS-zlib \ + maybe-TAGS-gdb \ + maybe-TAGS-expect \ + maybe-TAGS-guile \ + maybe-TAGS-tk \ + maybe-TAGS-tix \ + maybe-TAGS-libtermcap \ + maybe-TAGS-utils -info-automake: \ - configure-automake - @[ -f ./automake/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in automake" ; \ - (cd automake && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 +.PHONY: TAGS-target +TAGS-target: \ + maybe-TAGS-target-libstdc++-v3 \ + maybe-TAGS-target-newlib \ + maybe-TAGS-target-libf2c \ + maybe-TAGS-target-libobjc \ + maybe-TAGS-target-libtermcap \ + maybe-TAGS-target-winsup \ + maybe-TAGS-target-libgloss \ + maybe-TAGS-target-libiberty \ + maybe-TAGS-target-gperf \ + maybe-TAGS-target-examples \ + maybe-TAGS-target-libffi \ + maybe-TAGS-target-libjava \ + maybe-TAGS-target-zlib \ + maybe-TAGS-target-boehm-gc \ + maybe-TAGS-target-qthreads \ + maybe-TAGS-target-rda \ + maybe-TAGS-target-libada +.PHONY: do-install-info +do-install-info: install-info-host install-info-target -.PHONY: maybe-info-bash info-bash -maybe-info-bash: - -info-bash: \ - configure-bash - @[ -f ./bash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in bash" ; \ - (cd bash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-bfd info-bfd -maybe-info-bfd: - -info-bfd: \ - configure-bfd - @[ -f ./bfd/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in bfd" ; \ - (cd bfd && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-opcodes info-opcodes -maybe-info-opcodes: - -info-opcodes: \ - configure-opcodes - @[ -f ./opcodes/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in opcodes" ; \ - (cd opcodes && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-binutils info-binutils -maybe-info-binutils: - -info-binutils: \ - configure-binutils - @[ -f ./binutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in binutils" ; \ - (cd binutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-bison info-bison -maybe-info-bison: - -info-bison: \ - configure-bison - @[ -f ./bison/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in bison" ; \ - (cd bison && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-byacc info-byacc -maybe-info-byacc: - -info-byacc: \ - configure-byacc - @[ -f ./byacc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in byacc" ; \ - (cd byacc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-bzip2 info-bzip2 -maybe-info-bzip2: - -info-bzip2: \ - configure-bzip2 - @[ -f ./bzip2/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in bzip2" ; \ - (cd bzip2 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-dejagnu info-dejagnu -maybe-info-dejagnu: - -info-dejagnu: \ - configure-dejagnu - @[ -f ./dejagnu/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in dejagnu" ; \ - (cd dejagnu && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-diff info-diff -maybe-info-diff: - -info-diff: \ - configure-diff - @[ -f ./diff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in diff" ; \ - (cd diff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-dosutils info-dosutils -maybe-info-dosutils: - -info-dosutils: \ - configure-dosutils - @[ -f ./dosutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in dosutils" ; \ - (cd dosutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-etc info-etc -maybe-info-etc: - -info-etc: \ - configure-etc - @[ -f ./etc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in etc" ; \ - (cd etc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-fastjar info-fastjar -maybe-info-fastjar: - -info-fastjar: \ - configure-fastjar - @[ -f ./fastjar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in fastjar" ; \ - (cd fastjar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-fileutils info-fileutils -maybe-info-fileutils: - -info-fileutils: \ - configure-fileutils - @[ -f ./fileutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in fileutils" ; \ - (cd fileutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-findutils info-findutils -maybe-info-findutils: - -info-findutils: \ - configure-findutils - @[ -f ./findutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in findutils" ; \ - (cd findutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-find info-find -maybe-info-find: - -info-find: \ - configure-find - @[ -f ./find/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in find" ; \ - (cd find && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-flex info-flex -maybe-info-flex: - -info-flex: \ - configure-flex - @[ -f ./flex/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in flex" ; \ - (cd flex && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-gas info-gas -maybe-info-gas: - -info-gas: \ - configure-gas - @[ -f ./gas/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in gas" ; \ - (cd gas && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-gawk info-gawk -maybe-info-gawk: - -info-gawk: \ - configure-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in gawk" ; \ - (cd gawk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-gettext info-gettext -maybe-info-gettext: - -info-gettext: \ - configure-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in gettext" ; \ - (cd gettext && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-gnuserv info-gnuserv -maybe-info-gnuserv: - -info-gnuserv: \ - configure-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in gnuserv" ; \ - (cd gnuserv && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-gprof info-gprof -maybe-info-gprof: - -info-gprof: \ - configure-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in gprof" ; \ - (cd gprof && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-gzip info-gzip -maybe-info-gzip: - -info-gzip: \ - configure-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in gzip" ; \ - (cd gzip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-hello info-hello -maybe-info-hello: - -info-hello: \ - configure-hello - @[ -f ./hello/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in hello" ; \ - (cd hello && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-indent info-indent -maybe-info-indent: - -info-indent: \ - configure-indent - @[ -f ./indent/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in indent" ; \ - (cd indent && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-intl info-intl -maybe-info-intl: - -info-intl: \ - configure-intl - @[ -f ./intl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in intl" ; \ - (cd intl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-tcl info-tcl -maybe-info-tcl: - -info-tcl: \ - configure-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in tcl" ; \ - (cd tcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-itcl info-itcl -maybe-info-itcl: - -info-itcl: \ - configure-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in itcl" ; \ - (cd itcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-ld info-ld -maybe-info-ld: - -info-ld: \ - configure-ld - @[ -f ./ld/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in ld" ; \ - (cd ld && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-libgui info-libgui -maybe-info-libgui: - -info-libgui: \ - configure-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in libgui" ; \ - (cd libgui && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-libiberty info-libiberty -maybe-info-libiberty: - -info-libiberty: \ - configure-libiberty - @[ -f ./libiberty/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in libiberty" ; \ - (cd libiberty && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-libtool info-libtool -maybe-info-libtool: - -info-libtool: \ - configure-libtool - @[ -f ./libtool/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in libtool" ; \ - (cd libtool && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-m4 info-m4 -maybe-info-m4: - -info-m4: \ - configure-m4 - @[ -f ./m4/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in m4" ; \ - (cd m4 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-make info-make -maybe-info-make: - -info-make: \ - configure-make - @[ -f ./make/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in make" ; \ - (cd make && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-mmalloc info-mmalloc -maybe-info-mmalloc: - -info-mmalloc: \ - configure-mmalloc - @[ -f ./mmalloc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in mmalloc" ; \ - (cd mmalloc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-patch info-patch -maybe-info-patch: - -info-patch: \ - configure-patch - @[ -f ./patch/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in patch" ; \ - (cd patch && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-perl info-perl -maybe-info-perl: - -info-perl: \ - configure-perl - @[ -f ./perl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in perl" ; \ - (cd perl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-prms info-prms -maybe-info-prms: - -info-prms: \ - configure-prms - @[ -f ./prms/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in prms" ; \ - (cd prms && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-rcs info-rcs -maybe-info-rcs: - -info-rcs: \ - configure-rcs - @[ -f ./rcs/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in rcs" ; \ - (cd rcs && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-readline info-readline -maybe-info-readline: - -info-readline: \ - configure-readline - @[ -f ./readline/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in readline" ; \ - (cd readline && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-release info-release -maybe-info-release: - -info-release: \ - configure-release - @[ -f ./release/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in release" ; \ - (cd release && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-recode info-recode -maybe-info-recode: - -info-recode: \ - configure-recode - @[ -f ./recode/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in recode" ; \ - (cd recode && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-sed info-sed -maybe-info-sed: - -info-sed: \ - configure-sed - @[ -f ./sed/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in sed" ; \ - (cd sed && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-send-pr info-send-pr -maybe-info-send-pr: - -info-send-pr: \ - configure-send-pr - @[ -f ./send-pr/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in send-pr" ; \ - (cd send-pr && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-shellutils info-shellutils -maybe-info-shellutils: - -info-shellutils: \ - configure-shellutils - @[ -f ./shellutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in shellutils" ; \ - (cd shellutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-sid info-sid -maybe-info-sid: - -info-sid: \ - configure-sid - @[ -f ./sid/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in sid" ; \ - (cd sid && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-sim info-sim -maybe-info-sim: - -info-sim: \ - configure-sim - @[ -f ./sim/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in sim" ; \ - (cd sim && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-tar info-tar -maybe-info-tar: - -info-tar: \ - configure-tar - @[ -f ./tar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in tar" ; \ - (cd tar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-texinfo info-texinfo -maybe-info-texinfo: - -info-texinfo: \ - configure-texinfo - @[ -f ./texinfo/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in texinfo" ; \ - (cd texinfo && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-textutils info-textutils -maybe-info-textutils: - -info-textutils: \ - configure-textutils - @[ -f ./textutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in textutils" ; \ - (cd textutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-time info-time -maybe-info-time: - -info-time: \ - configure-time - @[ -f ./time/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in time" ; \ - (cd time && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-uudecode info-uudecode -maybe-info-uudecode: - -info-uudecode: \ - configure-uudecode - @[ -f ./uudecode/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in uudecode" ; \ - (cd uudecode && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-wdiff info-wdiff -maybe-info-wdiff: - -info-wdiff: \ - configure-wdiff - @[ -f ./wdiff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in wdiff" ; \ - (cd wdiff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-zip info-zip -maybe-info-zip: - -info-zip: \ - configure-zip - @[ -f ./zip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in zip" ; \ - (cd zip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-zlib info-zlib -maybe-info-zlib: - -info-zlib: \ - configure-zlib - @[ -f ./zlib/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in zlib" ; \ - (cd zlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-gdb info-gdb -maybe-info-gdb: - -info-gdb: \ - configure-gdb - @[ -f ./gdb/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in gdb" ; \ - (cd gdb && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-expect info-expect -maybe-info-expect: - -info-expect: \ - configure-expect - @[ -f ./expect/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in expect" ; \ - (cd expect && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-guile info-guile -maybe-info-guile: - -info-guile: \ - configure-guile - @[ -f ./guile/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in guile" ; \ - (cd guile && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-tk info-tk -maybe-info-tk: - -info-tk: \ - configure-tk - @[ -f ./tk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in tk" ; \ - (cd tk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-tix info-tix -maybe-info-tix: - -info-tix: \ - configure-tix - @[ -f ./tix/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in tix" ; \ - (cd tix && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-libtermcap info-libtermcap -maybe-info-libtermcap: - -info-libtermcap: \ - configure-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in libtermcap" ; \ - (cd libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-utils info-utils -maybe-info-utils: - -info-utils: \ - configure-utils - @[ -f ./utils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in utils" ; \ - (cd utils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - - -# Target modules. - -.PHONY: maybe-info-target-libstdc++-v3 info-target-libstdc++-v3 -maybe-info-target-libstdc++-v3: - -info-target-libstdc++-v3: \ - configure-target-libstdc++-v3 - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-newlib info-target-newlib -maybe-info-target-newlib: - -info-target-newlib: \ - configure-target-newlib - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/newlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-libf2c info-target-libf2c -maybe-info-target-libf2c: - -info-target-libf2c: \ - configure-target-libf2c - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-libobjc info-target-libobjc -maybe-info-target-libobjc: - -info-target-libobjc: \ - configure-target-libobjc - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-libtermcap info-target-libtermcap -maybe-info-target-libtermcap: - -info-target-libtermcap: \ - configure-target-libtermcap - @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libtermcap" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-winsup info-target-winsup -maybe-info-target-winsup: - -info-target-winsup: \ - configure-target-winsup - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/winsup && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-libgloss info-target-libgloss -maybe-info-target-libgloss: - -info-target-libgloss: \ - configure-target-libgloss - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-libiberty info-target-libiberty -maybe-info-target-libiberty: - -info-target-libiberty: \ - configure-target-libiberty - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-gperf info-target-gperf -maybe-info-target-gperf: - -info-target-gperf: \ - configure-target-gperf - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/gperf && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-examples info-target-examples -maybe-info-target-examples: - -info-target-examples: \ - configure-target-examples - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/examples && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-libffi info-target-libffi -maybe-info-target-libffi: - -info-target-libffi: \ - configure-target-libffi - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libffi && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-libjava info-target-libjava -maybe-info-target-libjava: - -info-target-libjava: \ - configure-target-libjava - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-zlib info-target-zlib -maybe-info-target-zlib: - -info-target-zlib: \ - configure-target-zlib - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/zlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-boehm-gc info-target-boehm-gc -maybe-info-target-boehm-gc: - -info-target-boehm-gc: \ - configure-target-boehm-gc - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-qthreads info-target-qthreads -maybe-info-target-qthreads: - -info-target-qthreads: \ - configure-target-qthreads - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-rda info-target-rda -maybe-info-target-rda: - -info-target-rda: \ - configure-target-rda - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/rda && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - -.PHONY: maybe-info-target-libada info-target-libada -maybe-info-target-libada: - -info-target-libada: \ - configure-target-libada - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing info in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libada && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - - - -.PHONY: do-dvi -do-dvi: dvi-host dvi-target - -.PHONY: dvi-host -dvi-host: maybe-dvi-gcc \ - maybe-dvi-ash \ - maybe-dvi-autoconf \ - maybe-dvi-automake \ - maybe-dvi-bash \ - maybe-dvi-bfd \ - maybe-dvi-opcodes \ - maybe-dvi-binutils \ - maybe-dvi-bison \ - maybe-dvi-byacc \ - maybe-dvi-bzip2 \ - maybe-dvi-dejagnu \ - maybe-dvi-diff \ - maybe-dvi-dosutils \ - maybe-dvi-etc \ - maybe-dvi-fastjar \ - maybe-dvi-fileutils \ - maybe-dvi-findutils \ - maybe-dvi-find \ - maybe-dvi-flex \ - maybe-dvi-gas \ - maybe-dvi-gawk \ - maybe-dvi-gettext \ - maybe-dvi-gnuserv \ - maybe-dvi-gprof \ - maybe-dvi-gzip \ - maybe-dvi-hello \ - maybe-dvi-indent \ - maybe-dvi-intl \ - maybe-dvi-tcl \ - maybe-dvi-itcl \ - maybe-dvi-ld \ - maybe-dvi-libgui \ - maybe-dvi-libiberty \ - maybe-dvi-libtool \ - maybe-dvi-m4 \ - maybe-dvi-make \ - maybe-dvi-mmalloc \ - maybe-dvi-patch \ - maybe-dvi-perl \ - maybe-dvi-prms \ - maybe-dvi-rcs \ - maybe-dvi-readline \ - maybe-dvi-release \ - maybe-dvi-recode \ - maybe-dvi-sed \ - maybe-dvi-send-pr \ - maybe-dvi-shellutils \ - maybe-dvi-sid \ - maybe-dvi-sim \ - maybe-dvi-tar \ - maybe-dvi-texinfo \ - maybe-dvi-textutils \ - maybe-dvi-time \ - maybe-dvi-uudecode \ - maybe-dvi-wdiff \ - maybe-dvi-zip \ - maybe-dvi-zlib \ - maybe-dvi-gdb \ - maybe-dvi-expect \ - maybe-dvi-guile \ - maybe-dvi-tk \ - maybe-dvi-tix \ - maybe-dvi-libtermcap \ - maybe-dvi-utils - -.PHONY: dvi-target -dvi-target: \ - maybe-dvi-target-libstdc++-v3 \ - maybe-dvi-target-newlib \ - maybe-dvi-target-libf2c \ - maybe-dvi-target-libobjc \ - maybe-dvi-target-libtermcap \ - maybe-dvi-target-winsup \ - maybe-dvi-target-libgloss \ - maybe-dvi-target-libiberty \ - maybe-dvi-target-gperf \ - maybe-dvi-target-examples \ - maybe-dvi-target-libffi \ - maybe-dvi-target-libjava \ - maybe-dvi-target-zlib \ - maybe-dvi-target-boehm-gc \ - maybe-dvi-target-qthreads \ - maybe-dvi-target-rda \ - maybe-dvi-target-libada - -# GCC, the eternal special case -.PHONY: maybe-dvi-gcc dvi-gcc -maybe-dvi-gcc: -dvi-gcc: \ - configure-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - -# Host modules. - -.PHONY: maybe-dvi-ash dvi-ash -maybe-dvi-ash: - -dvi-ash: \ - configure-ash - @[ -f ./ash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in ash" ; \ - (cd ash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-autoconf dvi-autoconf -maybe-dvi-autoconf: - -dvi-autoconf: \ - configure-autoconf - @[ -f ./autoconf/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in autoconf" ; \ - (cd autoconf && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-automake dvi-automake -maybe-dvi-automake: - -dvi-automake: \ - configure-automake - @[ -f ./automake/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in automake" ; \ - (cd automake && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-bash dvi-bash -maybe-dvi-bash: - -dvi-bash: \ - configure-bash - @[ -f ./bash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in bash" ; \ - (cd bash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-bfd dvi-bfd -maybe-dvi-bfd: - -dvi-bfd: \ - configure-bfd - @[ -f ./bfd/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in bfd" ; \ - (cd bfd && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-opcodes dvi-opcodes -maybe-dvi-opcodes: - -dvi-opcodes: \ - configure-opcodes - @[ -f ./opcodes/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in opcodes" ; \ - (cd opcodes && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-binutils dvi-binutils -maybe-dvi-binutils: - -dvi-binutils: \ - configure-binutils - @[ -f ./binutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in binutils" ; \ - (cd binutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-bison dvi-bison -maybe-dvi-bison: - -dvi-bison: \ - configure-bison - @[ -f ./bison/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in bison" ; \ - (cd bison && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-byacc dvi-byacc -maybe-dvi-byacc: - -dvi-byacc: \ - configure-byacc - @[ -f ./byacc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in byacc" ; \ - (cd byacc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-bzip2 dvi-bzip2 -maybe-dvi-bzip2: - -dvi-bzip2: \ - configure-bzip2 - @[ -f ./bzip2/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in bzip2" ; \ - (cd bzip2 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-dejagnu dvi-dejagnu -maybe-dvi-dejagnu: - -dvi-dejagnu: \ - configure-dejagnu - @[ -f ./dejagnu/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in dejagnu" ; \ - (cd dejagnu && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-diff dvi-diff -maybe-dvi-diff: - -dvi-diff: \ - configure-diff - @[ -f ./diff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in diff" ; \ - (cd diff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-dosutils dvi-dosutils -maybe-dvi-dosutils: - -dvi-dosutils: \ - configure-dosutils - @[ -f ./dosutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in dosutils" ; \ - (cd dosutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-etc dvi-etc -maybe-dvi-etc: - -dvi-etc: \ - configure-etc - @[ -f ./etc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in etc" ; \ - (cd etc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-fastjar dvi-fastjar -maybe-dvi-fastjar: - -dvi-fastjar: \ - configure-fastjar - @[ -f ./fastjar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in fastjar" ; \ - (cd fastjar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-fileutils dvi-fileutils -maybe-dvi-fileutils: - -dvi-fileutils: \ - configure-fileutils - @[ -f ./fileutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in fileutils" ; \ - (cd fileutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-findutils dvi-findutils -maybe-dvi-findutils: - -dvi-findutils: \ - configure-findutils - @[ -f ./findutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in findutils" ; \ - (cd findutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-find dvi-find -maybe-dvi-find: - -dvi-find: \ - configure-find - @[ -f ./find/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in find" ; \ - (cd find && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-flex dvi-flex -maybe-dvi-flex: - -dvi-flex: \ - configure-flex - @[ -f ./flex/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in flex" ; \ - (cd flex && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-gas dvi-gas -maybe-dvi-gas: - -dvi-gas: \ - configure-gas - @[ -f ./gas/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in gas" ; \ - (cd gas && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-gawk dvi-gawk -maybe-dvi-gawk: - -dvi-gawk: \ - configure-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in gawk" ; \ - (cd gawk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-gettext dvi-gettext -maybe-dvi-gettext: - -dvi-gettext: \ - configure-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in gettext" ; \ - (cd gettext && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-gnuserv dvi-gnuserv -maybe-dvi-gnuserv: - -dvi-gnuserv: \ - configure-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in gnuserv" ; \ - (cd gnuserv && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-gprof dvi-gprof -maybe-dvi-gprof: - -dvi-gprof: \ - configure-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in gprof" ; \ - (cd gprof && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-gzip dvi-gzip -maybe-dvi-gzip: - -dvi-gzip: \ - configure-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in gzip" ; \ - (cd gzip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-hello dvi-hello -maybe-dvi-hello: - -dvi-hello: \ - configure-hello - @[ -f ./hello/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in hello" ; \ - (cd hello && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-indent dvi-indent -maybe-dvi-indent: - -dvi-indent: \ - configure-indent - @[ -f ./indent/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in indent" ; \ - (cd indent && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-intl dvi-intl -maybe-dvi-intl: - -dvi-intl: \ - configure-intl - @[ -f ./intl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in intl" ; \ - (cd intl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-tcl dvi-tcl -maybe-dvi-tcl: - -dvi-tcl: \ - configure-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in tcl" ; \ - (cd tcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-itcl dvi-itcl -maybe-dvi-itcl: - -dvi-itcl: \ - configure-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in itcl" ; \ - (cd itcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-ld dvi-ld -maybe-dvi-ld: - -dvi-ld: \ - configure-ld - @[ -f ./ld/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in ld" ; \ - (cd ld && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-libgui dvi-libgui -maybe-dvi-libgui: - -dvi-libgui: \ - configure-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in libgui" ; \ - (cd libgui && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-libiberty dvi-libiberty -maybe-dvi-libiberty: - -dvi-libiberty: \ - configure-libiberty - @[ -f ./libiberty/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in libiberty" ; \ - (cd libiberty && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-libtool dvi-libtool -maybe-dvi-libtool: - -dvi-libtool: \ - configure-libtool - @[ -f ./libtool/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in libtool" ; \ - (cd libtool && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-m4 dvi-m4 -maybe-dvi-m4: - -dvi-m4: \ - configure-m4 - @[ -f ./m4/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in m4" ; \ - (cd m4 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-make dvi-make -maybe-dvi-make: - -dvi-make: \ - configure-make - @[ -f ./make/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in make" ; \ - (cd make && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-mmalloc dvi-mmalloc -maybe-dvi-mmalloc: - -dvi-mmalloc: \ - configure-mmalloc - @[ -f ./mmalloc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in mmalloc" ; \ - (cd mmalloc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-patch dvi-patch -maybe-dvi-patch: - -dvi-patch: \ - configure-patch - @[ -f ./patch/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in patch" ; \ - (cd patch && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-perl dvi-perl -maybe-dvi-perl: - -dvi-perl: \ - configure-perl - @[ -f ./perl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in perl" ; \ - (cd perl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-prms dvi-prms -maybe-dvi-prms: - -dvi-prms: \ - configure-prms - @[ -f ./prms/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in prms" ; \ - (cd prms && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-rcs dvi-rcs -maybe-dvi-rcs: - -dvi-rcs: \ - configure-rcs - @[ -f ./rcs/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in rcs" ; \ - (cd rcs && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-readline dvi-readline -maybe-dvi-readline: - -dvi-readline: \ - configure-readline - @[ -f ./readline/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in readline" ; \ - (cd readline && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-release dvi-release -maybe-dvi-release: - -dvi-release: \ - configure-release - @[ -f ./release/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in release" ; \ - (cd release && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-recode dvi-recode -maybe-dvi-recode: - -dvi-recode: \ - configure-recode - @[ -f ./recode/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in recode" ; \ - (cd recode && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-sed dvi-sed -maybe-dvi-sed: - -dvi-sed: \ - configure-sed - @[ -f ./sed/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in sed" ; \ - (cd sed && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-send-pr dvi-send-pr -maybe-dvi-send-pr: - -dvi-send-pr: \ - configure-send-pr - @[ -f ./send-pr/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in send-pr" ; \ - (cd send-pr && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-shellutils dvi-shellutils -maybe-dvi-shellutils: - -dvi-shellutils: \ - configure-shellutils - @[ -f ./shellutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in shellutils" ; \ - (cd shellutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-sid dvi-sid -maybe-dvi-sid: - -dvi-sid: \ - configure-sid - @[ -f ./sid/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in sid" ; \ - (cd sid && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-sim dvi-sim -maybe-dvi-sim: - -dvi-sim: \ - configure-sim - @[ -f ./sim/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in sim" ; \ - (cd sim && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-tar dvi-tar -maybe-dvi-tar: - -dvi-tar: \ - configure-tar - @[ -f ./tar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in tar" ; \ - (cd tar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-texinfo dvi-texinfo -maybe-dvi-texinfo: - -dvi-texinfo: \ - configure-texinfo - @[ -f ./texinfo/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in texinfo" ; \ - (cd texinfo && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-textutils dvi-textutils -maybe-dvi-textutils: - -dvi-textutils: \ - configure-textutils - @[ -f ./textutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in textutils" ; \ - (cd textutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-time dvi-time -maybe-dvi-time: - -dvi-time: \ - configure-time - @[ -f ./time/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in time" ; \ - (cd time && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-uudecode dvi-uudecode -maybe-dvi-uudecode: - -dvi-uudecode: \ - configure-uudecode - @[ -f ./uudecode/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in uudecode" ; \ - (cd uudecode && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-wdiff dvi-wdiff -maybe-dvi-wdiff: - -dvi-wdiff: \ - configure-wdiff - @[ -f ./wdiff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in wdiff" ; \ - (cd wdiff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-zip dvi-zip -maybe-dvi-zip: - -dvi-zip: \ - configure-zip - @[ -f ./zip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in zip" ; \ - (cd zip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-zlib dvi-zlib -maybe-dvi-zlib: - -dvi-zlib: \ - configure-zlib - @[ -f ./zlib/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in zlib" ; \ - (cd zlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-gdb dvi-gdb -maybe-dvi-gdb: - -dvi-gdb: \ - configure-gdb - @[ -f ./gdb/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in gdb" ; \ - (cd gdb && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-expect dvi-expect -maybe-dvi-expect: - -dvi-expect: \ - configure-expect - @[ -f ./expect/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in expect" ; \ - (cd expect && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-guile dvi-guile -maybe-dvi-guile: - -dvi-guile: \ - configure-guile - @[ -f ./guile/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in guile" ; \ - (cd guile && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-tk dvi-tk -maybe-dvi-tk: - -dvi-tk: \ - configure-tk - @[ -f ./tk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in tk" ; \ - (cd tk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-tix dvi-tix -maybe-dvi-tix: - -dvi-tix: \ - configure-tix - @[ -f ./tix/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in tix" ; \ - (cd tix && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-libtermcap dvi-libtermcap -maybe-dvi-libtermcap: - -dvi-libtermcap: \ - configure-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in libtermcap" ; \ - (cd libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-utils dvi-utils -maybe-dvi-utils: - -dvi-utils: \ - configure-utils - @[ -f ./utils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in utils" ; \ - (cd utils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - - -# Target modules. - -.PHONY: maybe-dvi-target-libstdc++-v3 dvi-target-libstdc++-v3 -maybe-dvi-target-libstdc++-v3: - -dvi-target-libstdc++-v3: \ - configure-target-libstdc++-v3 - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-newlib dvi-target-newlib -maybe-dvi-target-newlib: - -dvi-target-newlib: \ - configure-target-newlib - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/newlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-libf2c dvi-target-libf2c -maybe-dvi-target-libf2c: - -dvi-target-libf2c: \ - configure-target-libf2c - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-libobjc dvi-target-libobjc -maybe-dvi-target-libobjc: - -dvi-target-libobjc: \ - configure-target-libobjc - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-libtermcap dvi-target-libtermcap -maybe-dvi-target-libtermcap: - -dvi-target-libtermcap: \ - configure-target-libtermcap - @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libtermcap" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-winsup dvi-target-winsup -maybe-dvi-target-winsup: - -dvi-target-winsup: \ - configure-target-winsup - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/winsup && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-libgloss dvi-target-libgloss -maybe-dvi-target-libgloss: - -dvi-target-libgloss: \ - configure-target-libgloss - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-libiberty dvi-target-libiberty -maybe-dvi-target-libiberty: - -dvi-target-libiberty: \ - configure-target-libiberty - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-gperf dvi-target-gperf -maybe-dvi-target-gperf: - -dvi-target-gperf: \ - configure-target-gperf - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/gperf && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-examples dvi-target-examples -maybe-dvi-target-examples: - -dvi-target-examples: \ - configure-target-examples - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/examples && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-libffi dvi-target-libffi -maybe-dvi-target-libffi: - -dvi-target-libffi: \ - configure-target-libffi - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libffi && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-libjava dvi-target-libjava -maybe-dvi-target-libjava: - -dvi-target-libjava: \ - configure-target-libjava - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-zlib dvi-target-zlib -maybe-dvi-target-zlib: - -dvi-target-zlib: \ - configure-target-zlib - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/zlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-boehm-gc dvi-target-boehm-gc -maybe-dvi-target-boehm-gc: - -dvi-target-boehm-gc: \ - configure-target-boehm-gc - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-qthreads dvi-target-qthreads -maybe-dvi-target-qthreads: - -dvi-target-qthreads: \ - configure-target-qthreads - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-rda dvi-target-rda -maybe-dvi-target-rda: - -dvi-target-rda: \ - configure-target-rda - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/rda && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - -.PHONY: maybe-dvi-target-libada dvi-target-libada -maybe-dvi-target-libada: - -dvi-target-libada: \ - configure-target-libada - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing dvi in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libada && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - - - -.PHONY: do-TAGS -do-TAGS: TAGS-host TAGS-target - -.PHONY: TAGS-host -TAGS-host: maybe-TAGS-gcc \ - maybe-TAGS-ash \ - maybe-TAGS-autoconf \ - maybe-TAGS-automake \ - maybe-TAGS-bash \ - maybe-TAGS-bfd \ - maybe-TAGS-opcodes \ - maybe-TAGS-binutils \ - maybe-TAGS-bison \ - maybe-TAGS-byacc \ - maybe-TAGS-bzip2 \ - maybe-TAGS-dejagnu \ - maybe-TAGS-diff \ - maybe-TAGS-dosutils \ - maybe-TAGS-etc \ - maybe-TAGS-fastjar \ - maybe-TAGS-fileutils \ - maybe-TAGS-findutils \ - maybe-TAGS-find \ - maybe-TAGS-flex \ - maybe-TAGS-gas \ - maybe-TAGS-gawk \ - maybe-TAGS-gettext \ - maybe-TAGS-gnuserv \ - maybe-TAGS-gprof \ - maybe-TAGS-gzip \ - maybe-TAGS-hello \ - maybe-TAGS-indent \ - maybe-TAGS-intl \ - maybe-TAGS-tcl \ - maybe-TAGS-itcl \ - maybe-TAGS-ld \ - maybe-TAGS-libgui \ - maybe-TAGS-libiberty \ - maybe-TAGS-libtool \ - maybe-TAGS-m4 \ - maybe-TAGS-make \ - maybe-TAGS-mmalloc \ - maybe-TAGS-patch \ - maybe-TAGS-perl \ - maybe-TAGS-prms \ - maybe-TAGS-rcs \ - maybe-TAGS-readline \ - maybe-TAGS-release \ - maybe-TAGS-recode \ - maybe-TAGS-sed \ - maybe-TAGS-send-pr \ - maybe-TAGS-shellutils \ - maybe-TAGS-sid \ - maybe-TAGS-sim \ - maybe-TAGS-tar \ - maybe-TAGS-texinfo \ - maybe-TAGS-textutils \ - maybe-TAGS-time \ - maybe-TAGS-uudecode \ - maybe-TAGS-wdiff \ - maybe-TAGS-zip \ - maybe-TAGS-zlib \ - maybe-TAGS-gdb \ - maybe-TAGS-expect \ - maybe-TAGS-guile \ - maybe-TAGS-tk \ - maybe-TAGS-tix \ - maybe-TAGS-libtermcap \ - maybe-TAGS-utils - -.PHONY: TAGS-target -TAGS-target: \ - maybe-TAGS-target-libstdc++-v3 \ - maybe-TAGS-target-newlib \ - maybe-TAGS-target-libf2c \ - maybe-TAGS-target-libobjc \ - maybe-TAGS-target-libtermcap \ - maybe-TAGS-target-winsup \ - maybe-TAGS-target-libgloss \ - maybe-TAGS-target-libiberty \ - maybe-TAGS-target-gperf \ - maybe-TAGS-target-examples \ - maybe-TAGS-target-libffi \ - maybe-TAGS-target-libjava \ - maybe-TAGS-target-zlib \ - maybe-TAGS-target-boehm-gc \ - maybe-TAGS-target-qthreads \ - maybe-TAGS-target-rda \ - maybe-TAGS-target-libada - -# GCC, the eternal special case -.PHONY: maybe-TAGS-gcc TAGS-gcc -maybe-TAGS-gcc: -TAGS-gcc: \ - configure-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - -# Host modules. - -.PHONY: maybe-TAGS-ash TAGS-ash -maybe-TAGS-ash: - -TAGS-ash: \ - configure-ash - @[ -f ./ash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in ash" ; \ - (cd ash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-autoconf TAGS-autoconf -maybe-TAGS-autoconf: - -TAGS-autoconf: \ - configure-autoconf - @[ -f ./autoconf/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in autoconf" ; \ - (cd autoconf && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-automake TAGS-automake -maybe-TAGS-automake: - -TAGS-automake: \ - configure-automake - @[ -f ./automake/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in automake" ; \ - (cd automake && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-bash TAGS-bash -maybe-TAGS-bash: - -TAGS-bash: \ - configure-bash - @[ -f ./bash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in bash" ; \ - (cd bash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-bfd TAGS-bfd -maybe-TAGS-bfd: - -TAGS-bfd: \ - configure-bfd - @[ -f ./bfd/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in bfd" ; \ - (cd bfd && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-opcodes TAGS-opcodes -maybe-TAGS-opcodes: - -TAGS-opcodes: \ - configure-opcodes - @[ -f ./opcodes/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in opcodes" ; \ - (cd opcodes && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-binutils TAGS-binutils -maybe-TAGS-binutils: - -TAGS-binutils: \ - configure-binutils - @[ -f ./binutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in binutils" ; \ - (cd binutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-bison TAGS-bison -maybe-TAGS-bison: - -TAGS-bison: \ - configure-bison - @[ -f ./bison/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in bison" ; \ - (cd bison && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-byacc TAGS-byacc -maybe-TAGS-byacc: - -TAGS-byacc: \ - configure-byacc - @[ -f ./byacc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in byacc" ; \ - (cd byacc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-bzip2 TAGS-bzip2 -maybe-TAGS-bzip2: - -TAGS-bzip2: \ - configure-bzip2 - @[ -f ./bzip2/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in bzip2" ; \ - (cd bzip2 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-dejagnu TAGS-dejagnu -maybe-TAGS-dejagnu: - -TAGS-dejagnu: \ - configure-dejagnu - @[ -f ./dejagnu/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in dejagnu" ; \ - (cd dejagnu && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-diff TAGS-diff -maybe-TAGS-diff: - -TAGS-diff: \ - configure-diff - @[ -f ./diff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in diff" ; \ - (cd diff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-dosutils TAGS-dosutils -maybe-TAGS-dosutils: - -TAGS-dosutils: \ - configure-dosutils - @[ -f ./dosutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in dosutils" ; \ - (cd dosutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-etc TAGS-etc -maybe-TAGS-etc: - -TAGS-etc: \ - configure-etc - @[ -f ./etc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in etc" ; \ - (cd etc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-fastjar TAGS-fastjar -maybe-TAGS-fastjar: - -TAGS-fastjar: \ - configure-fastjar - @[ -f ./fastjar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in fastjar" ; \ - (cd fastjar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-fileutils TAGS-fileutils -maybe-TAGS-fileutils: - -TAGS-fileutils: \ - configure-fileutils - @[ -f ./fileutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in fileutils" ; \ - (cd fileutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-findutils TAGS-findutils -maybe-TAGS-findutils: - -TAGS-findutils: \ - configure-findutils - @[ -f ./findutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in findutils" ; \ - (cd findutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-find TAGS-find -maybe-TAGS-find: - -TAGS-find: \ - configure-find - @[ -f ./find/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in find" ; \ - (cd find && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-flex TAGS-flex -maybe-TAGS-flex: - -TAGS-flex: \ - configure-flex - @[ -f ./flex/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in flex" ; \ - (cd flex && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-gas TAGS-gas -maybe-TAGS-gas: - -TAGS-gas: \ - configure-gas - @[ -f ./gas/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in gas" ; \ - (cd gas && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-gawk TAGS-gawk -maybe-TAGS-gawk: - -TAGS-gawk: \ - configure-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in gawk" ; \ - (cd gawk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-gettext TAGS-gettext -maybe-TAGS-gettext: - -TAGS-gettext: \ - configure-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in gettext" ; \ - (cd gettext && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-gnuserv TAGS-gnuserv -maybe-TAGS-gnuserv: - -TAGS-gnuserv: \ - configure-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in gnuserv" ; \ - (cd gnuserv && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-gprof TAGS-gprof -maybe-TAGS-gprof: - -TAGS-gprof: \ - configure-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in gprof" ; \ - (cd gprof && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-gzip TAGS-gzip -maybe-TAGS-gzip: - -TAGS-gzip: \ - configure-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in gzip" ; \ - (cd gzip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-hello TAGS-hello -maybe-TAGS-hello: - -TAGS-hello: \ - configure-hello - @[ -f ./hello/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in hello" ; \ - (cd hello && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-indent TAGS-indent -maybe-TAGS-indent: - -TAGS-indent: \ - configure-indent - @[ -f ./indent/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in indent" ; \ - (cd indent && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-intl TAGS-intl -maybe-TAGS-intl: - -TAGS-intl: \ - configure-intl - @[ -f ./intl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in intl" ; \ - (cd intl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-tcl TAGS-tcl -maybe-TAGS-tcl: - -TAGS-tcl: \ - configure-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in tcl" ; \ - (cd tcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-itcl TAGS-itcl -maybe-TAGS-itcl: - -TAGS-itcl: \ - configure-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in itcl" ; \ - (cd itcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-ld TAGS-ld -maybe-TAGS-ld: - -TAGS-ld: \ - configure-ld - @[ -f ./ld/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in ld" ; \ - (cd ld && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-libgui TAGS-libgui -maybe-TAGS-libgui: - -TAGS-libgui: \ - configure-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in libgui" ; \ - (cd libgui && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-libiberty TAGS-libiberty -maybe-TAGS-libiberty: - -TAGS-libiberty: \ - configure-libiberty - @[ -f ./libiberty/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in libiberty" ; \ - (cd libiberty && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-libtool TAGS-libtool -maybe-TAGS-libtool: - -TAGS-libtool: \ - configure-libtool - @[ -f ./libtool/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in libtool" ; \ - (cd libtool && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-m4 TAGS-m4 -maybe-TAGS-m4: - -TAGS-m4: \ - configure-m4 - @[ -f ./m4/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in m4" ; \ - (cd m4 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-make TAGS-make -maybe-TAGS-make: - -TAGS-make: \ - configure-make - @[ -f ./make/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in make" ; \ - (cd make && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-mmalloc TAGS-mmalloc -maybe-TAGS-mmalloc: - -TAGS-mmalloc: \ - configure-mmalloc - @[ -f ./mmalloc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in mmalloc" ; \ - (cd mmalloc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-patch TAGS-patch -maybe-TAGS-patch: - -TAGS-patch: \ - configure-patch - @[ -f ./patch/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in patch" ; \ - (cd patch && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-perl TAGS-perl -maybe-TAGS-perl: - -TAGS-perl: \ - configure-perl - @[ -f ./perl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in perl" ; \ - (cd perl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-prms TAGS-prms -maybe-TAGS-prms: - -TAGS-prms: \ - configure-prms - @[ -f ./prms/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in prms" ; \ - (cd prms && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-rcs TAGS-rcs -maybe-TAGS-rcs: - -TAGS-rcs: \ - configure-rcs - @[ -f ./rcs/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in rcs" ; \ - (cd rcs && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-readline TAGS-readline -maybe-TAGS-readline: - -TAGS-readline: \ - configure-readline - @[ -f ./readline/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in readline" ; \ - (cd readline && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-release TAGS-release -maybe-TAGS-release: - -TAGS-release: \ - configure-release - @[ -f ./release/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in release" ; \ - (cd release && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-recode TAGS-recode -maybe-TAGS-recode: - -TAGS-recode: \ - configure-recode - @[ -f ./recode/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in recode" ; \ - (cd recode && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-sed TAGS-sed -maybe-TAGS-sed: - -TAGS-sed: \ - configure-sed - @[ -f ./sed/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in sed" ; \ - (cd sed && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-send-pr TAGS-send-pr -maybe-TAGS-send-pr: - -TAGS-send-pr: \ - configure-send-pr - @[ -f ./send-pr/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in send-pr" ; \ - (cd send-pr && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-shellutils TAGS-shellutils -maybe-TAGS-shellutils: - -TAGS-shellutils: \ - configure-shellutils - @[ -f ./shellutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in shellutils" ; \ - (cd shellutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-sid TAGS-sid -maybe-TAGS-sid: - -TAGS-sid: \ - configure-sid - @[ -f ./sid/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in sid" ; \ - (cd sid && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-sim TAGS-sim -maybe-TAGS-sim: - -TAGS-sim: \ - configure-sim - @[ -f ./sim/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in sim" ; \ - (cd sim && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-tar TAGS-tar -maybe-TAGS-tar: - -TAGS-tar: \ - configure-tar - @[ -f ./tar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in tar" ; \ - (cd tar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-texinfo TAGS-texinfo -maybe-TAGS-texinfo: - -TAGS-texinfo: \ - configure-texinfo - @[ -f ./texinfo/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in texinfo" ; \ - (cd texinfo && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-textutils TAGS-textutils -maybe-TAGS-textutils: - -TAGS-textutils: \ - configure-textutils - @[ -f ./textutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in textutils" ; \ - (cd textutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-time TAGS-time -maybe-TAGS-time: - -TAGS-time: \ - configure-time - @[ -f ./time/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in time" ; \ - (cd time && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-uudecode TAGS-uudecode -maybe-TAGS-uudecode: - -TAGS-uudecode: \ - configure-uudecode - @[ -f ./uudecode/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in uudecode" ; \ - (cd uudecode && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-wdiff TAGS-wdiff -maybe-TAGS-wdiff: - -TAGS-wdiff: \ - configure-wdiff - @[ -f ./wdiff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in wdiff" ; \ - (cd wdiff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-zip TAGS-zip -maybe-TAGS-zip: - -TAGS-zip: \ - configure-zip - @[ -f ./zip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in zip" ; \ - (cd zip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-zlib TAGS-zlib -maybe-TAGS-zlib: - -TAGS-zlib: \ - configure-zlib - @[ -f ./zlib/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in zlib" ; \ - (cd zlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-gdb TAGS-gdb -maybe-TAGS-gdb: - -TAGS-gdb: \ - configure-gdb - @[ -f ./gdb/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in gdb" ; \ - (cd gdb && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-expect TAGS-expect -maybe-TAGS-expect: - -TAGS-expect: \ - configure-expect - @[ -f ./expect/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in expect" ; \ - (cd expect && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-guile TAGS-guile -maybe-TAGS-guile: - -TAGS-guile: \ - configure-guile - @[ -f ./guile/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in guile" ; \ - (cd guile && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-tk TAGS-tk -maybe-TAGS-tk: - -TAGS-tk: \ - configure-tk - @[ -f ./tk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in tk" ; \ - (cd tk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-tix TAGS-tix -maybe-TAGS-tix: - -TAGS-tix: \ - configure-tix - @[ -f ./tix/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in tix" ; \ - (cd tix && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-libtermcap TAGS-libtermcap -maybe-TAGS-libtermcap: - -TAGS-libtermcap: \ - configure-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in libtermcap" ; \ - (cd libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-utils TAGS-utils -maybe-TAGS-utils: - -TAGS-utils: \ - configure-utils - @[ -f ./utils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in utils" ; \ - (cd utils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - - -# Target modules. - -.PHONY: maybe-TAGS-target-libstdc++-v3 TAGS-target-libstdc++-v3 -maybe-TAGS-target-libstdc++-v3: - -TAGS-target-libstdc++-v3: \ - configure-target-libstdc++-v3 - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-newlib TAGS-target-newlib -maybe-TAGS-target-newlib: - -TAGS-target-newlib: \ - configure-target-newlib - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/newlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-libf2c TAGS-target-libf2c -maybe-TAGS-target-libf2c: - -TAGS-target-libf2c: \ - configure-target-libf2c - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-libobjc TAGS-target-libobjc -maybe-TAGS-target-libobjc: - -TAGS-target-libobjc: \ - configure-target-libobjc - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-libtermcap TAGS-target-libtermcap -maybe-TAGS-target-libtermcap: - -TAGS-target-libtermcap: \ - configure-target-libtermcap - @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libtermcap" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-winsup TAGS-target-winsup -maybe-TAGS-target-winsup: - -TAGS-target-winsup: \ - configure-target-winsup - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/winsup && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-libgloss TAGS-target-libgloss -maybe-TAGS-target-libgloss: - -TAGS-target-libgloss: \ - configure-target-libgloss - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-libiberty TAGS-target-libiberty -maybe-TAGS-target-libiberty: - -TAGS-target-libiberty: \ - configure-target-libiberty - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-gperf TAGS-target-gperf -maybe-TAGS-target-gperf: - -TAGS-target-gperf: \ - configure-target-gperf - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/gperf && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-examples TAGS-target-examples -maybe-TAGS-target-examples: - -TAGS-target-examples: \ - configure-target-examples - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/examples && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-libffi TAGS-target-libffi -maybe-TAGS-target-libffi: - -TAGS-target-libffi: \ - configure-target-libffi - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libffi && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-libjava TAGS-target-libjava -maybe-TAGS-target-libjava: - -TAGS-target-libjava: \ - configure-target-libjava - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-zlib TAGS-target-zlib -maybe-TAGS-target-zlib: - -TAGS-target-zlib: \ - configure-target-zlib - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/zlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-boehm-gc TAGS-target-boehm-gc -maybe-TAGS-target-boehm-gc: - -TAGS-target-boehm-gc: \ - configure-target-boehm-gc - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-qthreads TAGS-target-qthreads -maybe-TAGS-target-qthreads: - -TAGS-target-qthreads: \ - configure-target-qthreads - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-rda TAGS-target-rda -maybe-TAGS-target-rda: - -TAGS-target-rda: \ - configure-target-rda - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/rda && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - -.PHONY: maybe-TAGS-target-libada TAGS-target-libada -maybe-TAGS-target-libada: - -TAGS-target-libada: \ - configure-target-libada - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing TAGS in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libada && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - - - -.PHONY: do-install-info -do-install-info: install-info-host install-info-target - -.PHONY: install-info-host -install-info-host: maybe-install-info-gcc \ - maybe-install-info-ash \ - maybe-install-info-autoconf \ - maybe-install-info-automake \ - maybe-install-info-bash \ - maybe-install-info-bfd \ - maybe-install-info-opcodes \ - maybe-install-info-binutils \ - maybe-install-info-bison \ - maybe-install-info-byacc \ - maybe-install-info-bzip2 \ - maybe-install-info-dejagnu \ - maybe-install-info-diff \ - maybe-install-info-dosutils \ - maybe-install-info-etc \ - maybe-install-info-fastjar \ - maybe-install-info-fileutils \ - maybe-install-info-findutils \ - maybe-install-info-find \ - maybe-install-info-flex \ - maybe-install-info-gas \ - maybe-install-info-gawk \ - maybe-install-info-gettext \ - maybe-install-info-gnuserv \ - maybe-install-info-gprof \ - maybe-install-info-gzip \ - maybe-install-info-hello \ - maybe-install-info-indent \ - maybe-install-info-intl \ - maybe-install-info-tcl \ - maybe-install-info-itcl \ - maybe-install-info-ld \ - maybe-install-info-libgui \ - maybe-install-info-libiberty \ - maybe-install-info-libtool \ - maybe-install-info-m4 \ - maybe-install-info-make \ - maybe-install-info-mmalloc \ - maybe-install-info-patch \ - maybe-install-info-perl \ - maybe-install-info-prms \ - maybe-install-info-rcs \ - maybe-install-info-readline \ - maybe-install-info-release \ - maybe-install-info-recode \ - maybe-install-info-sed \ - maybe-install-info-send-pr \ - maybe-install-info-shellutils \ - maybe-install-info-sid \ - maybe-install-info-sim \ - maybe-install-info-tar \ - maybe-install-info-texinfo \ - maybe-install-info-textutils \ - maybe-install-info-time \ - maybe-install-info-uudecode \ - maybe-install-info-wdiff \ - maybe-install-info-zip \ - maybe-install-info-zlib \ - maybe-install-info-gdb \ - maybe-install-info-expect \ - maybe-install-info-guile \ - maybe-install-info-tk \ - maybe-install-info-tix \ - maybe-install-info-libtermcap \ - maybe-install-info-utils - -.PHONY: install-info-target -install-info-target: \ - maybe-install-info-target-libstdc++-v3 \ - maybe-install-info-target-newlib \ - maybe-install-info-target-libf2c \ - maybe-install-info-target-libobjc \ - maybe-install-info-target-libtermcap \ - maybe-install-info-target-winsup \ - maybe-install-info-target-libgloss \ - maybe-install-info-target-libiberty \ - maybe-install-info-target-gperf \ - maybe-install-info-target-examples \ - maybe-install-info-target-libffi \ - maybe-install-info-target-libjava \ - maybe-install-info-target-zlib \ - maybe-install-info-target-boehm-gc \ - maybe-install-info-target-qthreads \ - maybe-install-info-target-rda \ - maybe-install-info-target-libada - -# GCC, the eternal special case -.PHONY: maybe-install-info-gcc install-info-gcc -maybe-install-info-gcc: -install-info-gcc: \ - configure-gcc \ - info-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - -# Host modules. - -.PHONY: maybe-install-info-ash install-info-ash -maybe-install-info-ash: - -install-info-ash: \ - configure-ash \ - info-ash - @[ -f ./ash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in ash" ; \ - (cd ash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-autoconf install-info-autoconf -maybe-install-info-autoconf: - -install-info-autoconf: \ - configure-autoconf \ - info-autoconf - @[ -f ./autoconf/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in autoconf" ; \ - (cd autoconf && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-automake install-info-automake -maybe-install-info-automake: - -install-info-automake: \ - configure-automake \ - info-automake - @[ -f ./automake/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in automake" ; \ - (cd automake && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-bash install-info-bash -maybe-install-info-bash: - -install-info-bash: \ - configure-bash \ - info-bash - @[ -f ./bash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in bash" ; \ - (cd bash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-bfd install-info-bfd -maybe-install-info-bfd: - -install-info-bfd: \ - configure-bfd \ - info-bfd - @[ -f ./bfd/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in bfd" ; \ - (cd bfd && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-opcodes install-info-opcodes -maybe-install-info-opcodes: - -install-info-opcodes: \ - configure-opcodes \ - info-opcodes - @[ -f ./opcodes/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in opcodes" ; \ - (cd opcodes && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-binutils install-info-binutils -maybe-install-info-binutils: - -install-info-binutils: \ - configure-binutils \ - info-binutils - @[ -f ./binutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in binutils" ; \ - (cd binutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-bison install-info-bison -maybe-install-info-bison: - -install-info-bison: \ - configure-bison \ - info-bison - @[ -f ./bison/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in bison" ; \ - (cd bison && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-byacc install-info-byacc -maybe-install-info-byacc: - -install-info-byacc: \ - configure-byacc \ - info-byacc - @[ -f ./byacc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in byacc" ; \ - (cd byacc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-bzip2 install-info-bzip2 -maybe-install-info-bzip2: - -install-info-bzip2: \ - configure-bzip2 \ - info-bzip2 - @[ -f ./bzip2/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in bzip2" ; \ - (cd bzip2 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-dejagnu install-info-dejagnu -maybe-install-info-dejagnu: - -install-info-dejagnu: \ - configure-dejagnu \ - info-dejagnu - @[ -f ./dejagnu/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in dejagnu" ; \ - (cd dejagnu && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-diff install-info-diff -maybe-install-info-diff: - -install-info-diff: \ - configure-diff \ - info-diff - @[ -f ./diff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in diff" ; \ - (cd diff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-dosutils install-info-dosutils -maybe-install-info-dosutils: - -install-info-dosutils: \ - configure-dosutils \ - info-dosutils - @[ -f ./dosutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in dosutils" ; \ - (cd dosutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-etc install-info-etc -maybe-install-info-etc: - -install-info-etc: \ - configure-etc \ - info-etc - @[ -f ./etc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in etc" ; \ - (cd etc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-fastjar install-info-fastjar -maybe-install-info-fastjar: - -install-info-fastjar: \ - configure-fastjar \ - info-fastjar - @[ -f ./fastjar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in fastjar" ; \ - (cd fastjar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-fileutils install-info-fileutils -maybe-install-info-fileutils: - -install-info-fileutils: \ - configure-fileutils \ - info-fileutils - @[ -f ./fileutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in fileutils" ; \ - (cd fileutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-findutils install-info-findutils -maybe-install-info-findutils: - -install-info-findutils: \ - configure-findutils \ - info-findutils - @[ -f ./findutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in findutils" ; \ - (cd findutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-find install-info-find -maybe-install-info-find: - -install-info-find: \ - configure-find \ - info-find - @[ -f ./find/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in find" ; \ - (cd find && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-flex install-info-flex -maybe-install-info-flex: - -install-info-flex: \ - configure-flex \ - info-flex - @[ -f ./flex/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in flex" ; \ - (cd flex && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-gas install-info-gas -maybe-install-info-gas: - -install-info-gas: \ - configure-gas \ - info-gas - @[ -f ./gas/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in gas" ; \ - (cd gas && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-gawk install-info-gawk -maybe-install-info-gawk: - -install-info-gawk: \ - configure-gawk \ - info-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in gawk" ; \ - (cd gawk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-gettext install-info-gettext -maybe-install-info-gettext: - -install-info-gettext: \ - configure-gettext \ - info-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in gettext" ; \ - (cd gettext && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-gnuserv install-info-gnuserv -maybe-install-info-gnuserv: +.PHONY: install-info-host +install-info-host: maybe-install-info-gcc \ + maybe-install-info-ash \ + maybe-install-info-autoconf \ + maybe-install-info-automake \ + maybe-install-info-bash \ + maybe-install-info-bfd \ + maybe-install-info-opcodes \ + maybe-install-info-binutils \ + maybe-install-info-bison \ + maybe-install-info-byacc \ + maybe-install-info-bzip2 \ + maybe-install-info-dejagnu \ + maybe-install-info-diff \ + maybe-install-info-dosutils \ + maybe-install-info-etc \ + maybe-install-info-fastjar \ + maybe-install-info-fileutils \ + maybe-install-info-findutils \ + maybe-install-info-find \ + maybe-install-info-flex \ + maybe-install-info-gas \ + maybe-install-info-gawk \ + maybe-install-info-gettext \ + maybe-install-info-gnuserv \ + maybe-install-info-gprof \ + maybe-install-info-gzip \ + maybe-install-info-hello \ + maybe-install-info-indent \ + maybe-install-info-intl \ + maybe-install-info-tcl \ + maybe-install-info-itcl \ + maybe-install-info-ld \ + maybe-install-info-libgui \ + maybe-install-info-libiberty \ + maybe-install-info-libtool \ + maybe-install-info-m4 \ + maybe-install-info-make \ + maybe-install-info-mmalloc \ + maybe-install-info-patch \ + maybe-install-info-perl \ + maybe-install-info-prms \ + maybe-install-info-rcs \ + maybe-install-info-readline \ + maybe-install-info-release \ + maybe-install-info-recode \ + maybe-install-info-sed \ + maybe-install-info-send-pr \ + maybe-install-info-shellutils \ + maybe-install-info-sid \ + maybe-install-info-sim \ + maybe-install-info-tar \ + maybe-install-info-texinfo \ + maybe-install-info-textutils \ + maybe-install-info-time \ + maybe-install-info-uudecode \ + maybe-install-info-wdiff \ + maybe-install-info-zip \ + maybe-install-info-zlib \ + maybe-install-info-gdb \ + maybe-install-info-expect \ + maybe-install-info-guile \ + maybe-install-info-tk \ + maybe-install-info-tix \ + maybe-install-info-libtermcap \ + maybe-install-info-utils -install-info-gnuserv: \ - configure-gnuserv \ - info-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in gnuserv" ; \ - (cd gnuserv && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +.PHONY: install-info-target +install-info-target: \ + maybe-install-info-target-libstdc++-v3 \ + maybe-install-info-target-newlib \ + maybe-install-info-target-libf2c \ + maybe-install-info-target-libobjc \ + maybe-install-info-target-libtermcap \ + maybe-install-info-target-winsup \ + maybe-install-info-target-libgloss \ + maybe-install-info-target-libiberty \ + maybe-install-info-target-gperf \ + maybe-install-info-target-examples \ + maybe-install-info-target-libffi \ + maybe-install-info-target-libjava \ + maybe-install-info-target-zlib \ + maybe-install-info-target-boehm-gc \ + maybe-install-info-target-qthreads \ + maybe-install-info-target-rda \ + maybe-install-info-target-libada +.PHONY: do-installcheck +do-installcheck: installcheck-host installcheck-target -.PHONY: maybe-install-info-gprof install-info-gprof -maybe-install-info-gprof: +.PHONY: installcheck-host +installcheck-host: maybe-installcheck-gcc \ + maybe-installcheck-ash \ + maybe-installcheck-autoconf \ + maybe-installcheck-automake \ + maybe-installcheck-bash \ + maybe-installcheck-bfd \ + maybe-installcheck-opcodes \ + maybe-installcheck-binutils \ + maybe-installcheck-bison \ + maybe-installcheck-byacc \ + maybe-installcheck-bzip2 \ + maybe-installcheck-dejagnu \ + maybe-installcheck-diff \ + maybe-installcheck-dosutils \ + maybe-installcheck-etc \ + maybe-installcheck-fastjar \ + maybe-installcheck-fileutils \ + maybe-installcheck-findutils \ + maybe-installcheck-find \ + maybe-installcheck-flex \ + maybe-installcheck-gas \ + maybe-installcheck-gawk \ + maybe-installcheck-gettext \ + maybe-installcheck-gnuserv \ + maybe-installcheck-gprof \ + maybe-installcheck-gzip \ + maybe-installcheck-hello \ + maybe-installcheck-indent \ + maybe-installcheck-intl \ + maybe-installcheck-tcl \ + maybe-installcheck-itcl \ + maybe-installcheck-ld \ + maybe-installcheck-libgui \ + maybe-installcheck-libiberty \ + maybe-installcheck-libtool \ + maybe-installcheck-m4 \ + maybe-installcheck-make \ + maybe-installcheck-mmalloc \ + maybe-installcheck-patch \ + maybe-installcheck-perl \ + maybe-installcheck-prms \ + maybe-installcheck-rcs \ + maybe-installcheck-readline \ + maybe-installcheck-release \ + maybe-installcheck-recode \ + maybe-installcheck-sed \ + maybe-installcheck-send-pr \ + maybe-installcheck-shellutils \ + maybe-installcheck-sid \ + maybe-installcheck-sim \ + maybe-installcheck-tar \ + maybe-installcheck-texinfo \ + maybe-installcheck-textutils \ + maybe-installcheck-time \ + maybe-installcheck-uudecode \ + maybe-installcheck-wdiff \ + maybe-installcheck-zip \ + maybe-installcheck-zlib \ + maybe-installcheck-gdb \ + maybe-installcheck-expect \ + maybe-installcheck-guile \ + maybe-installcheck-tk \ + maybe-installcheck-tix \ + maybe-installcheck-libtermcap \ + maybe-installcheck-utils -install-info-gprof: \ - configure-gprof \ - info-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in gprof" ; \ - (cd gprof && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +.PHONY: installcheck-target +installcheck-target: \ + maybe-installcheck-target-libstdc++-v3 \ + maybe-installcheck-target-newlib \ + maybe-installcheck-target-libf2c \ + maybe-installcheck-target-libobjc \ + maybe-installcheck-target-libtermcap \ + maybe-installcheck-target-winsup \ + maybe-installcheck-target-libgloss \ + maybe-installcheck-target-libiberty \ + maybe-installcheck-target-gperf \ + maybe-installcheck-target-examples \ + maybe-installcheck-target-libffi \ + maybe-installcheck-target-libjava \ + maybe-installcheck-target-zlib \ + maybe-installcheck-target-boehm-gc \ + maybe-installcheck-target-qthreads \ + maybe-installcheck-target-rda \ + maybe-installcheck-target-libada +.PHONY: do-mostlyclean +do-mostlyclean: mostlyclean-host mostlyclean-target -.PHONY: maybe-install-info-gzip install-info-gzip -maybe-install-info-gzip: +.PHONY: mostlyclean-host +mostlyclean-host: maybe-mostlyclean-gcc \ + maybe-mostlyclean-ash \ + maybe-mostlyclean-autoconf \ + maybe-mostlyclean-automake \ + maybe-mostlyclean-bash \ + maybe-mostlyclean-bfd \ + maybe-mostlyclean-opcodes \ + maybe-mostlyclean-binutils \ + maybe-mostlyclean-bison \ + maybe-mostlyclean-byacc \ + maybe-mostlyclean-bzip2 \ + maybe-mostlyclean-dejagnu \ + maybe-mostlyclean-diff \ + maybe-mostlyclean-dosutils \ + maybe-mostlyclean-etc \ + maybe-mostlyclean-fastjar \ + maybe-mostlyclean-fileutils \ + maybe-mostlyclean-findutils \ + maybe-mostlyclean-find \ + maybe-mostlyclean-flex \ + maybe-mostlyclean-gas \ + maybe-mostlyclean-gawk \ + maybe-mostlyclean-gettext \ + maybe-mostlyclean-gnuserv \ + maybe-mostlyclean-gprof \ + maybe-mostlyclean-gzip \ + maybe-mostlyclean-hello \ + maybe-mostlyclean-indent \ + maybe-mostlyclean-intl \ + maybe-mostlyclean-tcl \ + maybe-mostlyclean-itcl \ + maybe-mostlyclean-ld \ + maybe-mostlyclean-libgui \ + maybe-mostlyclean-libiberty \ + maybe-mostlyclean-libtool \ + maybe-mostlyclean-m4 \ + maybe-mostlyclean-make \ + maybe-mostlyclean-mmalloc \ + maybe-mostlyclean-patch \ + maybe-mostlyclean-perl \ + maybe-mostlyclean-prms \ + maybe-mostlyclean-rcs \ + maybe-mostlyclean-readline \ + maybe-mostlyclean-release \ + maybe-mostlyclean-recode \ + maybe-mostlyclean-sed \ + maybe-mostlyclean-send-pr \ + maybe-mostlyclean-shellutils \ + maybe-mostlyclean-sid \ + maybe-mostlyclean-sim \ + maybe-mostlyclean-tar \ + maybe-mostlyclean-texinfo \ + maybe-mostlyclean-textutils \ + maybe-mostlyclean-time \ + maybe-mostlyclean-uudecode \ + maybe-mostlyclean-wdiff \ + maybe-mostlyclean-zip \ + maybe-mostlyclean-zlib \ + maybe-mostlyclean-gdb \ + maybe-mostlyclean-expect \ + maybe-mostlyclean-guile \ + maybe-mostlyclean-tk \ + maybe-mostlyclean-tix \ + maybe-mostlyclean-libtermcap \ + maybe-mostlyclean-utils -install-info-gzip: \ - configure-gzip \ - info-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in gzip" ; \ - (cd gzip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +.PHONY: mostlyclean-target +mostlyclean-target: \ + maybe-mostlyclean-target-libstdc++-v3 \ + maybe-mostlyclean-target-newlib \ + maybe-mostlyclean-target-libf2c \ + maybe-mostlyclean-target-libobjc \ + maybe-mostlyclean-target-libtermcap \ + maybe-mostlyclean-target-winsup \ + maybe-mostlyclean-target-libgloss \ + maybe-mostlyclean-target-libiberty \ + maybe-mostlyclean-target-gperf \ + maybe-mostlyclean-target-examples \ + maybe-mostlyclean-target-libffi \ + maybe-mostlyclean-target-libjava \ + maybe-mostlyclean-target-zlib \ + maybe-mostlyclean-target-boehm-gc \ + maybe-mostlyclean-target-qthreads \ + maybe-mostlyclean-target-rda \ + maybe-mostlyclean-target-libada +.PHONY: do-clean +do-clean: clean-host clean-target -.PHONY: maybe-install-info-hello install-info-hello -maybe-install-info-hello: +.PHONY: clean-host +clean-host: maybe-clean-gcc \ + maybe-clean-ash \ + maybe-clean-autoconf \ + maybe-clean-automake \ + maybe-clean-bash \ + maybe-clean-bfd \ + maybe-clean-opcodes \ + maybe-clean-binutils \ + maybe-clean-bison \ + maybe-clean-byacc \ + maybe-clean-bzip2 \ + maybe-clean-dejagnu \ + maybe-clean-diff \ + maybe-clean-dosutils \ + maybe-clean-etc \ + maybe-clean-fastjar \ + maybe-clean-fileutils \ + maybe-clean-findutils \ + maybe-clean-find \ + maybe-clean-flex \ + maybe-clean-gas \ + maybe-clean-gawk \ + maybe-clean-gettext \ + maybe-clean-gnuserv \ + maybe-clean-gprof \ + maybe-clean-gzip \ + maybe-clean-hello \ + maybe-clean-indent \ + maybe-clean-intl \ + maybe-clean-tcl \ + maybe-clean-itcl \ + maybe-clean-ld \ + maybe-clean-libgui \ + maybe-clean-libiberty \ + maybe-clean-libtool \ + maybe-clean-m4 \ + maybe-clean-make \ + maybe-clean-mmalloc \ + maybe-clean-patch \ + maybe-clean-perl \ + maybe-clean-prms \ + maybe-clean-rcs \ + maybe-clean-readline \ + maybe-clean-release \ + maybe-clean-recode \ + maybe-clean-sed \ + maybe-clean-send-pr \ + maybe-clean-shellutils \ + maybe-clean-sid \ + maybe-clean-sim \ + maybe-clean-tar \ + maybe-clean-texinfo \ + maybe-clean-textutils \ + maybe-clean-time \ + maybe-clean-uudecode \ + maybe-clean-wdiff \ + maybe-clean-zip \ + maybe-clean-zlib \ + maybe-clean-gdb \ + maybe-clean-expect \ + maybe-clean-guile \ + maybe-clean-tk \ + maybe-clean-tix \ + maybe-clean-libtermcap \ + maybe-clean-utils -install-info-hello: \ - configure-hello \ - info-hello - @[ -f ./hello/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in hello" ; \ - (cd hello && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +.PHONY: clean-target +clean-target: \ + maybe-clean-target-libstdc++-v3 \ + maybe-clean-target-newlib \ + maybe-clean-target-libf2c \ + maybe-clean-target-libobjc \ + maybe-clean-target-libtermcap \ + maybe-clean-target-winsup \ + maybe-clean-target-libgloss \ + maybe-clean-target-libiberty \ + maybe-clean-target-gperf \ + maybe-clean-target-examples \ + maybe-clean-target-libffi \ + maybe-clean-target-libjava \ + maybe-clean-target-zlib \ + maybe-clean-target-boehm-gc \ + maybe-clean-target-qthreads \ + maybe-clean-target-rda \ + maybe-clean-target-libada +.PHONY: do-distclean +do-distclean: distclean-host distclean-target -.PHONY: maybe-install-info-indent install-info-indent -maybe-install-info-indent: +.PHONY: distclean-host +distclean-host: maybe-distclean-gcc \ + maybe-distclean-ash \ + maybe-distclean-autoconf \ + maybe-distclean-automake \ + maybe-distclean-bash \ + maybe-distclean-bfd \ + maybe-distclean-opcodes \ + maybe-distclean-binutils \ + maybe-distclean-bison \ + maybe-distclean-byacc \ + maybe-distclean-bzip2 \ + maybe-distclean-dejagnu \ + maybe-distclean-diff \ + maybe-distclean-dosutils \ + maybe-distclean-etc \ + maybe-distclean-fastjar \ + maybe-distclean-fileutils \ + maybe-distclean-findutils \ + maybe-distclean-find \ + maybe-distclean-flex \ + maybe-distclean-gas \ + maybe-distclean-gawk \ + maybe-distclean-gettext \ + maybe-distclean-gnuserv \ + maybe-distclean-gprof \ + maybe-distclean-gzip \ + maybe-distclean-hello \ + maybe-distclean-indent \ + maybe-distclean-intl \ + maybe-distclean-tcl \ + maybe-distclean-itcl \ + maybe-distclean-ld \ + maybe-distclean-libgui \ + maybe-distclean-libiberty \ + maybe-distclean-libtool \ + maybe-distclean-m4 \ + maybe-distclean-make \ + maybe-distclean-mmalloc \ + maybe-distclean-patch \ + maybe-distclean-perl \ + maybe-distclean-prms \ + maybe-distclean-rcs \ + maybe-distclean-readline \ + maybe-distclean-release \ + maybe-distclean-recode \ + maybe-distclean-sed \ + maybe-distclean-send-pr \ + maybe-distclean-shellutils \ + maybe-distclean-sid \ + maybe-distclean-sim \ + maybe-distclean-tar \ + maybe-distclean-texinfo \ + maybe-distclean-textutils \ + maybe-distclean-time \ + maybe-distclean-uudecode \ + maybe-distclean-wdiff \ + maybe-distclean-zip \ + maybe-distclean-zlib \ + maybe-distclean-gdb \ + maybe-distclean-expect \ + maybe-distclean-guile \ + maybe-distclean-tk \ + maybe-distclean-tix \ + maybe-distclean-libtermcap \ + maybe-distclean-utils -install-info-indent: \ - configure-indent \ - info-indent - @[ -f ./indent/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in indent" ; \ - (cd indent && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +.PHONY: distclean-target +distclean-target: \ + maybe-distclean-target-libstdc++-v3 \ + maybe-distclean-target-newlib \ + maybe-distclean-target-libf2c \ + maybe-distclean-target-libobjc \ + maybe-distclean-target-libtermcap \ + maybe-distclean-target-winsup \ + maybe-distclean-target-libgloss \ + maybe-distclean-target-libiberty \ + maybe-distclean-target-gperf \ + maybe-distclean-target-examples \ + maybe-distclean-target-libffi \ + maybe-distclean-target-libjava \ + maybe-distclean-target-zlib \ + maybe-distclean-target-boehm-gc \ + maybe-distclean-target-qthreads \ + maybe-distclean-target-rda \ + maybe-distclean-target-libada + +.PHONY: do-maintainer-clean +do-maintainer-clean: maintainer-clean-host maintainer-clean-target + +.PHONY: maintainer-clean-host +maintainer-clean-host: maybe-maintainer-clean-gcc \ + maybe-maintainer-clean-ash \ + maybe-maintainer-clean-autoconf \ + maybe-maintainer-clean-automake \ + maybe-maintainer-clean-bash \ + maybe-maintainer-clean-bfd \ + maybe-maintainer-clean-opcodes \ + maybe-maintainer-clean-binutils \ + maybe-maintainer-clean-bison \ + maybe-maintainer-clean-byacc \ + maybe-maintainer-clean-bzip2 \ + maybe-maintainer-clean-dejagnu \ + maybe-maintainer-clean-diff \ + maybe-maintainer-clean-dosutils \ + maybe-maintainer-clean-etc \ + maybe-maintainer-clean-fastjar \ + maybe-maintainer-clean-fileutils \ + maybe-maintainer-clean-findutils \ + maybe-maintainer-clean-find \ + maybe-maintainer-clean-flex \ + maybe-maintainer-clean-gas \ + maybe-maintainer-clean-gawk \ + maybe-maintainer-clean-gettext \ + maybe-maintainer-clean-gnuserv \ + maybe-maintainer-clean-gprof \ + maybe-maintainer-clean-gzip \ + maybe-maintainer-clean-hello \ + maybe-maintainer-clean-indent \ + maybe-maintainer-clean-intl \ + maybe-maintainer-clean-tcl \ + maybe-maintainer-clean-itcl \ + maybe-maintainer-clean-ld \ + maybe-maintainer-clean-libgui \ + maybe-maintainer-clean-libiberty \ + maybe-maintainer-clean-libtool \ + maybe-maintainer-clean-m4 \ + maybe-maintainer-clean-make \ + maybe-maintainer-clean-mmalloc \ + maybe-maintainer-clean-patch \ + maybe-maintainer-clean-perl \ + maybe-maintainer-clean-prms \ + maybe-maintainer-clean-rcs \ + maybe-maintainer-clean-readline \ + maybe-maintainer-clean-release \ + maybe-maintainer-clean-recode \ + maybe-maintainer-clean-sed \ + maybe-maintainer-clean-send-pr \ + maybe-maintainer-clean-shellutils \ + maybe-maintainer-clean-sid \ + maybe-maintainer-clean-sim \ + maybe-maintainer-clean-tar \ + maybe-maintainer-clean-texinfo \ + maybe-maintainer-clean-textutils \ + maybe-maintainer-clean-time \ + maybe-maintainer-clean-uudecode \ + maybe-maintainer-clean-wdiff \ + maybe-maintainer-clean-zip \ + maybe-maintainer-clean-zlib \ + maybe-maintainer-clean-gdb \ + maybe-maintainer-clean-expect \ + maybe-maintainer-clean-guile \ + maybe-maintainer-clean-tk \ + maybe-maintainer-clean-tix \ + maybe-maintainer-clean-libtermcap \ + maybe-maintainer-clean-utils +.PHONY: maintainer-clean-target +maintainer-clean-target: \ + maybe-maintainer-clean-target-libstdc++-v3 \ + maybe-maintainer-clean-target-newlib \ + maybe-maintainer-clean-target-libf2c \ + maybe-maintainer-clean-target-libobjc \ + maybe-maintainer-clean-target-libtermcap \ + maybe-maintainer-clean-target-winsup \ + maybe-maintainer-clean-target-libgloss \ + maybe-maintainer-clean-target-libiberty \ + maybe-maintainer-clean-target-gperf \ + maybe-maintainer-clean-target-examples \ + maybe-maintainer-clean-target-libffi \ + maybe-maintainer-clean-target-libjava \ + maybe-maintainer-clean-target-zlib \ + maybe-maintainer-clean-target-boehm-gc \ + maybe-maintainer-clean-target-qthreads \ + maybe-maintainer-clean-target-rda \ + maybe-maintainer-clean-target-libada -.PHONY: maybe-install-info-intl install-info-intl -maybe-install-info-intl: -install-info-intl: \ - configure-intl \ - info-intl - @[ -f ./intl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in intl" ; \ - (cd intl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +# Here are the targets which correspond to the do-X targets. +.PHONY: info installcheck dvi install-info +.PHONY: clean distclean mostlyclean maintainer-clean realclean +.PHONY: local-clean local-distclean local-maintainer-clean +info: do-info +installcheck: do-installcheck +dvi: do-dvi -.PHONY: maybe-install-info-tcl install-info-tcl -maybe-install-info-tcl: +# Make sure makeinfo is built before we do a `make info', if we're +# in fact building texinfo. +do-info: maybe-all-texinfo -install-info-tcl: \ - configure-tcl \ - info-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-info: do-install-info dir.info s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in tcl" ; \ - (cd tcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - - -.PHONY: maybe-install-info-itcl install-info-itcl -maybe-install-info-itcl: + if [ -f dir.info ] ; then \ + $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \ + else true ; fi -install-info-itcl: \ - configure-itcl \ - info-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in itcl" ; \ - (cd itcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +local-clean: + -rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E *.log +local-distclean: + -rm -f Makefile config.status config.cache mh-frag mt-frag + -rm -f multilib.out multilib.tmp maybedep.tmp serdep.tmp + -if [ "$(TARGET_SUBDIR)" != "." ]; then \ + rm -rf $(TARGET_SUBDIR); \ + else true; fi + -rm -rf $(BUILD_SUBDIR) + -rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile + -rm -f texinfo/doc/Makefile texinfo/po/POTFILES + -rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null + -rmdir texinfo/makeinfo texinfo/po texinfo/util 2>/dev/null + -rmdir fastjar gcc libiberty texinfo zlib 2>/dev/null -.PHONY: maybe-install-info-ld install-info-ld -maybe-install-info-ld: +local-maintainer-clean: + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." -install-info-ld: \ - configure-ld \ - info-ld - @[ -f ./ld/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in ld" ; \ - (cd ld && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +clean: do-clean local-clean +mostlyclean: do-mostlyclean local-clean +distclean: do-distclean local-clean local-distclean +maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean +maintainer-clean: local-distclean +realclean: maintainer-clean +# Extra dependency for clean-target, owing to the mixed nature of gcc +clean-target: clean-target-libgcc +clean-target-libgcc: + test ! -d gcc/libgcc || \ + (cd gcc/libgcc && find . -type d -print) | \ + while read d; do rm -f gcc/$$d/libgcc.a || : ; done + -rm -rf gcc/libgcc -.PHONY: maybe-install-info-libgui install-info-libgui -maybe-install-info-libgui: +# Check target. -install-info-libgui: \ - configure-libgui \ - info-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in libgui" ; \ - (cd libgui && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +.PHONY: check do-check +check: do-check +# Only include modules actually being configured and built. +do-check: maybe-check-gcc \ + maybe-check-ash \ + maybe-check-autoconf \ + maybe-check-automake \ + maybe-check-bash \ + maybe-check-bfd \ + maybe-check-opcodes \ + maybe-check-binutils \ + maybe-check-bison \ + maybe-check-byacc \ + maybe-check-bzip2 \ + maybe-check-dejagnu \ + maybe-check-diff \ + maybe-check-dosutils \ + maybe-check-etc \ + maybe-check-fastjar \ + maybe-check-fileutils \ + maybe-check-findutils \ + maybe-check-find \ + maybe-check-flex \ + maybe-check-gas \ + maybe-check-gawk \ + maybe-check-gettext \ + maybe-check-gnuserv \ + maybe-check-gprof \ + maybe-check-gzip \ + maybe-check-hello \ + maybe-check-indent \ + maybe-check-intl \ + maybe-check-tcl \ + maybe-check-itcl \ + maybe-check-ld \ + maybe-check-libgui \ + maybe-check-libiberty \ + maybe-check-libtool \ + maybe-check-m4 \ + maybe-check-make \ + maybe-check-mmalloc \ + maybe-check-patch \ + maybe-check-perl \ + maybe-check-prms \ + maybe-check-rcs \ + maybe-check-readline \ + maybe-check-release \ + maybe-check-recode \ + maybe-check-sed \ + maybe-check-send-pr \ + maybe-check-shellutils \ + maybe-check-sid \ + maybe-check-sim \ + maybe-check-tar \ + maybe-check-texinfo \ + maybe-check-textutils \ + maybe-check-time \ + maybe-check-uudecode \ + maybe-check-wdiff \ + maybe-check-zip \ + maybe-check-zlib \ + maybe-check-gdb \ + maybe-check-expect \ + maybe-check-guile \ + maybe-check-tk \ + maybe-check-tix \ + maybe-check-libtermcap \ + maybe-check-utils \ + maybe-check-target-libstdc++-v3 \ + maybe-check-target-newlib \ + maybe-check-target-libf2c \ + maybe-check-target-libobjc \ + maybe-check-target-libtermcap \ + maybe-check-target-winsup \ + maybe-check-target-libgloss \ + maybe-check-target-libiberty \ + maybe-check-target-gperf \ + maybe-check-target-examples \ + maybe-check-target-libffi \ + maybe-check-target-libjava \ + maybe-check-target-zlib \ + maybe-check-target-boehm-gc \ + maybe-check-target-qthreads \ + maybe-check-target-rda \ + maybe-check-target-libada -.PHONY: maybe-install-info-libiberty install-info-libiberty -maybe-install-info-libiberty: +# Automated reporting of test results. -install-info-libiberty: \ - configure-libiberty \ - info-libiberty - @[ -f ./libiberty/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in libiberty" ; \ - (cd libiberty && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +warning.log: build.log + $(srcdir)/contrib/warn_summary build.log > $@ +mail-report.log: + if test x'$(BOOT_CFLAGS)' != x''; then \ + BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \ + fi; \ + $(srcdir)/contrib/test_summary -t >$@ + chmod +x $@ + echo If you really want to send e-mail, run ./$@ now -.PHONY: maybe-install-info-libtool install-info-libtool -maybe-install-info-libtool: +mail-report-with-warnings.log: warning.log + if test x'$(BOOT_CFLAGS)' != x''; then \ + BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \ + fi; \ + $(srcdir)/contrib/test_summary -t -i warning.log >$@ + chmod +x $@ + echo If you really want to send e-mail, run ./$@ now -install-info-libtool: \ - configure-libtool \ - info-libtool - @[ -f ./libtool/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in libtool" ; \ - (cd libtool && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +# Installation targets. +.PHONY: install uninstall +install: installdirs install-host install-target -.PHONY: maybe-install-info-m4 install-info-m4 -maybe-install-info-m4: +.PHONY: install-host-nogcc +install-host-nogcc: \ + maybe-install-ash \ + maybe-install-autoconf \ + maybe-install-automake \ + maybe-install-bash \ + maybe-install-bfd \ + maybe-install-opcodes \ + maybe-install-binutils \ + maybe-install-bison \ + maybe-install-byacc \ + maybe-install-bzip2 \ + maybe-install-dejagnu \ + maybe-install-diff \ + maybe-install-dosutils \ + maybe-install-etc \ + maybe-install-fastjar \ + maybe-install-fileutils \ + maybe-install-findutils \ + maybe-install-find \ + maybe-install-flex \ + maybe-install-gas \ + maybe-install-gawk \ + maybe-install-gettext \ + maybe-install-gnuserv \ + maybe-install-gprof \ + maybe-install-gzip \ + maybe-install-hello \ + maybe-install-indent \ + maybe-install-intl \ + maybe-install-tcl \ + maybe-install-itcl \ + maybe-install-ld \ + maybe-install-libgui \ + maybe-install-libiberty \ + maybe-install-libtool \ + maybe-install-m4 \ + maybe-install-make \ + maybe-install-mmalloc \ + maybe-install-patch \ + maybe-install-perl \ + maybe-install-prms \ + maybe-install-rcs \ + maybe-install-readline \ + maybe-install-release \ + maybe-install-recode \ + maybe-install-sed \ + maybe-install-send-pr \ + maybe-install-shellutils \ + maybe-install-sid \ + maybe-install-sim \ + maybe-install-tar \ + maybe-install-texinfo \ + maybe-install-textutils \ + maybe-install-time \ + maybe-install-uudecode \ + maybe-install-wdiff \ + maybe-install-zip \ + maybe-install-zlib \ + maybe-install-gdb \ + maybe-install-expect \ + maybe-install-guile \ + maybe-install-tk \ + maybe-install-tix \ + maybe-install-libtermcap \ + maybe-install-utils -install-info-m4: \ - configure-m4 \ - info-m4 - @[ -f ./m4/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in m4" ; \ - (cd m4 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +.PHONY: install-host +install-host: maybe-install-gcc \ + maybe-install-ash \ + maybe-install-autoconf \ + maybe-install-automake \ + maybe-install-bash \ + maybe-install-bfd \ + maybe-install-opcodes \ + maybe-install-binutils \ + maybe-install-bison \ + maybe-install-byacc \ + maybe-install-bzip2 \ + maybe-install-dejagnu \ + maybe-install-diff \ + maybe-install-dosutils \ + maybe-install-etc \ + maybe-install-fastjar \ + maybe-install-fileutils \ + maybe-install-findutils \ + maybe-install-find \ + maybe-install-flex \ + maybe-install-gas \ + maybe-install-gawk \ + maybe-install-gettext \ + maybe-install-gnuserv \ + maybe-install-gprof \ + maybe-install-gzip \ + maybe-install-hello \ + maybe-install-indent \ + maybe-install-intl \ + maybe-install-tcl \ + maybe-install-itcl \ + maybe-install-ld \ + maybe-install-libgui \ + maybe-install-libiberty \ + maybe-install-libtool \ + maybe-install-m4 \ + maybe-install-make \ + maybe-install-mmalloc \ + maybe-install-patch \ + maybe-install-perl \ + maybe-install-prms \ + maybe-install-rcs \ + maybe-install-readline \ + maybe-install-release \ + maybe-install-recode \ + maybe-install-sed \ + maybe-install-send-pr \ + maybe-install-shellutils \ + maybe-install-sid \ + maybe-install-sim \ + maybe-install-tar \ + maybe-install-texinfo \ + maybe-install-textutils \ + maybe-install-time \ + maybe-install-uudecode \ + maybe-install-wdiff \ + maybe-install-zip \ + maybe-install-zlib \ + maybe-install-gdb \ + maybe-install-expect \ + maybe-install-guile \ + maybe-install-tk \ + maybe-install-tix \ + maybe-install-libtermcap \ + maybe-install-utils +.PHONY: install-target +install-target: \ + maybe-install-target-libstdc++-v3 \ + maybe-install-target-newlib \ + maybe-install-target-libf2c \ + maybe-install-target-libobjc \ + maybe-install-target-libtermcap \ + maybe-install-target-winsup \ + maybe-install-target-libgloss \ + maybe-install-target-libiberty \ + maybe-install-target-gperf \ + maybe-install-target-examples \ + maybe-install-target-libffi \ + maybe-install-target-libjava \ + maybe-install-target-zlib \ + maybe-install-target-boehm-gc \ + maybe-install-target-qthreads \ + maybe-install-target-rda \ + maybe-install-target-libada -.PHONY: maybe-install-info-make install-info-make -maybe-install-info-make: +uninstall: + @echo "the uninstall target is not supported in this tree" -install-info-make: \ - configure-make \ - info-make - @[ -f ./make/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in make" ; \ - (cd make && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +.PHONY: install.all +install.all: install-no-fixedincludes + @if [ -f ./gcc/Makefile ] ; then \ + r=`${PWD_COMMAND}` ; export r ; \ + $(SET_LIB_PATH) \ + (cd ./gcc && \ + $(MAKE) $(FLAGS_TO_PASS) install-headers) ; \ + else \ + true ; \ + fi +# install-no-fixedincludes is used because Cygnus can not distribute +# the fixed header files. +.PHONY: install-no-fixedincludes +install-no-fixedincludes: installdirs install-host-nogcc \ + install-target gcc-no-fixedincludes -.PHONY: maybe-install-info-mmalloc install-info-mmalloc -maybe-install-info-mmalloc: +### other supporting targets -install-info-mmalloc: \ - configure-mmalloc \ - info-mmalloc - @[ -f ./mmalloc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in mmalloc" ; \ - (cd mmalloc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +MAKEDIRS= \ + $(DESTDIR)$(prefix) \ + $(DESTDIR)$(exec_prefix) +.PHONY: installdirs +installdirs: mkinstalldirs + $(SHELL) $(srcdir)/mkinstalldirs $(MAKEDIRS) +dir.info: do-install-info + if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \ + $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \ + mv -f dir.info.new dir.info ; \ + else true ; \ + fi -.PHONY: maybe-install-info-patch install-info-patch -maybe-install-info-patch: +dist: + @echo "Building a full distribution of this tree isn't done" + @echo "via 'make dist'. Check out the etc/ subdirectory" -install-info-patch: \ - configure-patch \ - info-patch - @[ -f ./patch/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in patch" ; \ - (cd patch && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 +etags tags: TAGS +# Right now this just builds TAGS in each subdirectory. emacs19 has the +# ability to use several tags files at once, so there is probably no need +# to combine them into one big TAGS file (like CVS 1.3 does). We could +# (if we felt like it) have this Makefile write a piece of elisp which +# the user could load to tell emacs19 where all the TAGS files we just +# built are. +TAGS: do-TAGS -.PHONY: maybe-install-info-perl install-info-perl -maybe-install-info-perl: +# -------------------------------------- +# Modules which run on the build machine +# -------------------------------------- -install-info-perl: \ - configure-perl \ - info-perl - @[ -f ./perl/Makefile ] || exit 0; \ +.PHONY: configure-build-libiberty maybe-configure-build-libiberty +maybe-configure-build-libiberty: +configure-build-libiberty: + @test ! -f $(BUILD_SUBDIR)/libiberty/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libiberty ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in perl" ; \ - (cd perl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + AR="$(AR_FOR_BUILD)"; export AR; \ + AS="$(AS_FOR_BUILD)"; export AS; \ + CC="$(CC_FOR_BUILD)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ + LD="$(LD_FOR_BUILD)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ + NM="$(NM_FOR_BUILD)"; export NM; \ + RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \ + echo Configuring in $(BUILD_SUBDIR)/libiberty; \ + cd "$(BUILD_SUBDIR)/libiberty" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) \ + topdir=$(srcdir) ;; \ + *) \ + case "$(BUILD_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ + esac; \ + if [ "$(srcdir)" = "." ] ; then \ + if [ "$(BUILD_SUBDIR)" != "." ] ; then \ + if $(SHELL) $$s/symlink-tree $${topdir}/libiberty "no-such-file" ; then \ + if [ -f Makefile ]; then \ + if $(MAKE) distclean; then \ + true; \ + else \ + exit 1; \ + fi; \ + else \ + true; \ + fi; \ + else \ + exit 1; \ + fi; \ + else \ + true; \ + fi; \ + srcdiroption="--srcdir=."; \ + libsrcdir="."; \ + else \ + srcdiroption="--srcdir=$${topdir}/libiberty"; \ + libsrcdir="$$s/libiberty"; \ + fi; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(BUILD_CONFIGARGS) $${srcdiroption} \ + --with-build-subdir="$(BUILD_SUBDIR)" \ || exit 1 - -.PHONY: maybe-install-info-prms install-info-prms -maybe-install-info-prms: - -install-info-prms: \ - configure-prms \ - info-prms - @[ -f ./prms/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-build-libiberty maybe-all-build-libiberty +maybe-all-build-libiberty: +all-build-libiberty: configure-build-libiberty + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in prms" ; \ - (cd prms && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd $(BUILD_SUBDIR)/libiberty && $(MAKE) all) -.PHONY: maybe-install-info-rcs install-info-rcs -maybe-install-info-rcs: +# -------------------------------------- +# Modules which run on the host machine +# -------------------------------------- -install-info-rcs: \ - configure-rcs \ - info-rcs - @[ -f ./rcs/Makefile ] || exit 0; \ +.PHONY: configure-ash maybe-configure-ash +maybe-configure-ash: +configure-ash: + @test ! -f ash/Makefile || exit 0; \ + [ -d ash ] || mkdir ash; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in rcs" ; \ - (cd rcs && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in ash; \ + cd ash || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/ash"; \ + libsrcdir="$$s/ash";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/ash"; \ + libsrcdir="$$s/ash";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-ash maybe-all-ash +maybe-all-ash: +all-ash: configure-ash + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd ash && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-install-info-readline install-info-readline -maybe-install-info-readline: +.PHONY: check-ash maybe-check-ash +maybe-check-ash: -install-info-readline: \ - configure-readline \ - info-readline - @[ -f ./readline/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-ash: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in readline" ; \ - (cd readline && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd ash && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-install-info-release install-info-release -maybe-install-info-release: +.PHONY: install-ash maybe-install-ash +maybe-install-ash: -install-info-release: \ - configure-release \ - info-release - @[ -f ./release/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-ash: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in release" ; \ - (cd release && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd ash && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-install-info-recode install-info-recode -maybe-install-info-recode: +# Other targets (info, dvi, etc.) -install-info-recode: \ - configure-recode \ - info-recode - @[ -f ./recode/Makefile ] || exit 0; \ +.PHONY: maybe-info-ash info-ash +maybe-info-ash: + +info-ash: \ + configure-ash + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in recode" ; \ - (cd recode && \ + echo "Doing info in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + info) \ || exit 1 -.PHONY: maybe-install-info-sed install-info-sed -maybe-install-info-sed: +.PHONY: maybe-dvi-ash dvi-ash +maybe-dvi-ash: -install-info-sed: \ - configure-sed \ - info-sed - @[ -f ./sed/Makefile ] || exit 0; \ +dvi-ash: \ + configure-ash + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in sed" ; \ - (cd sed && \ + echo "Doing dvi in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + dvi) \ || exit 1 -.PHONY: maybe-install-info-send-pr install-info-send-pr -maybe-install-info-send-pr: +.PHONY: maybe-TAGS-ash TAGS-ash +maybe-TAGS-ash: -install-info-send-pr: \ - configure-send-pr \ - info-send-pr - @[ -f ./send-pr/Makefile ] || exit 0; \ +TAGS-ash: \ + configure-ash + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in send-pr" ; \ - (cd send-pr && \ + echo "Doing TAGS in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + TAGS) \ || exit 1 -.PHONY: maybe-install-info-shellutils install-info-shellutils -maybe-install-info-shellutils: +.PHONY: maybe-install-info-ash install-info-ash +maybe-install-info-ash: -install-info-shellutils: \ - configure-shellutils \ - info-shellutils - @[ -f ./shellutils/Makefile ] || exit 0; \ +install-info-ash: \ + configure-ash \ + info-ash + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in shellutils" ; \ - (cd shellutils && \ + echo "Doing install-info in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -7601,274 +2135,263 @@ install-info-shellutils: \ || exit 1 -.PHONY: maybe-install-info-sid install-info-sid -maybe-install-info-sid: +.PHONY: maybe-installcheck-ash installcheck-ash +maybe-installcheck-ash: -install-info-sid: \ - configure-sid \ - info-sid - @[ -f ./sid/Makefile ] || exit 0; \ +installcheck-ash: \ + configure-ash + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in sid" ; \ - (cd sid && \ + echo "Doing installcheck in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + installcheck) \ || exit 1 -.PHONY: maybe-install-info-sim install-info-sim -maybe-install-info-sim: +.PHONY: maybe-mostlyclean-ash mostlyclean-ash +maybe-mostlyclean-ash: -install-info-sim: \ - configure-sim \ - info-sim - @[ -f ./sim/Makefile ] || exit 0; \ +mostlyclean-ash: + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in sim" ; \ - (cd sim && \ + echo "Doing mostlyclean in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-install-info-tar install-info-tar -maybe-install-info-tar: +.PHONY: maybe-clean-ash clean-ash +maybe-clean-ash: -install-info-tar: \ - configure-tar \ - info-tar - @[ -f ./tar/Makefile ] || exit 0; \ +clean-ash: + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in tar" ; \ - (cd tar && \ + echo "Doing clean in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + clean) \ || exit 1 -.PHONY: maybe-install-info-texinfo install-info-texinfo -maybe-install-info-texinfo: +.PHONY: maybe-distclean-ash distclean-ash +maybe-distclean-ash: -install-info-texinfo: \ - configure-texinfo \ - info-texinfo - @[ -f ./texinfo/Makefile ] || exit 0; \ +distclean-ash: + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in texinfo" ; \ - (cd texinfo && \ + echo "Doing distclean in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + distclean) \ || exit 1 -.PHONY: maybe-install-info-textutils install-info-textutils -maybe-install-info-textutils: +.PHONY: maybe-maintainer-clean-ash maintainer-clean-ash +maybe-maintainer-clean-ash: -install-info-textutils: \ - configure-textutils \ - info-textutils - @[ -f ./textutils/Makefile ] || exit 0; \ +maintainer-clean-ash: + @[ -f ./ash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in textutils" ; \ - (cd textutils && \ + echo "Doing maintainer-clean in ash" ; \ + (cd ash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-install-info-time install-info-time -maybe-install-info-time: -install-info-time: \ - configure-time \ - info-time - @[ -f ./time/Makefile ] || exit 0; \ +.PHONY: configure-autoconf maybe-configure-autoconf +maybe-configure-autoconf: +configure-autoconf: + @test ! -f autoconf/Makefile || exit 0; \ + [ -d autoconf ] || mkdir autoconf; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in time" ; \ - (cd time && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in autoconf; \ + cd autoconf || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/autoconf"; \ + libsrcdir="$$s/autoconf";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/autoconf"; \ + libsrcdir="$$s/autoconf";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-autoconf maybe-all-autoconf +maybe-all-autoconf: +all-autoconf: configure-autoconf + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-install-info-uudecode install-info-uudecode -maybe-install-info-uudecode: +.PHONY: check-autoconf maybe-check-autoconf +maybe-check-autoconf: -install-info-uudecode: \ - configure-uudecode \ - info-uudecode - @[ -f ./uudecode/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-autoconf: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in uudecode" ; \ - (cd uudecode && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-install-info-wdiff install-info-wdiff -maybe-install-info-wdiff: +.PHONY: install-autoconf maybe-install-autoconf +maybe-install-autoconf: -install-info-wdiff: \ - configure-wdiff \ - info-wdiff - @[ -f ./wdiff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-autoconf: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in wdiff" ; \ - (cd wdiff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-install-info-zip install-info-zip -maybe-install-info-zip: +# Other targets (info, dvi, etc.) -install-info-zip: \ - configure-zip \ - info-zip - @[ -f ./zip/Makefile ] || exit 0; \ +.PHONY: maybe-info-autoconf info-autoconf +maybe-info-autoconf: + +info-autoconf: \ + configure-autoconf + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in zip" ; \ - (cd zip && \ + echo "Doing info in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + info) \ || exit 1 -.PHONY: maybe-install-info-zlib install-info-zlib -maybe-install-info-zlib: +.PHONY: maybe-dvi-autoconf dvi-autoconf +maybe-dvi-autoconf: -install-info-zlib: \ - configure-zlib \ - info-zlib - @[ -f ./zlib/Makefile ] || exit 0; \ +dvi-autoconf: \ + configure-autoconf + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in zlib" ; \ - (cd zlib && \ + echo "Doing dvi in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + dvi) \ || exit 1 -.PHONY: maybe-install-info-gdb install-info-gdb -maybe-install-info-gdb: +.PHONY: maybe-TAGS-autoconf TAGS-autoconf +maybe-TAGS-autoconf: -install-info-gdb: \ - configure-gdb \ - info-gdb - @[ -f ./gdb/Makefile ] || exit 0; \ +TAGS-autoconf: \ + configure-autoconf + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in gdb" ; \ - (cd gdb && \ + echo "Doing TAGS in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + TAGS) \ || exit 1 -.PHONY: maybe-install-info-expect install-info-expect -maybe-install-info-expect: +.PHONY: maybe-install-info-autoconf install-info-autoconf +maybe-install-info-autoconf: -install-info-expect: \ - configure-expect \ - info-expect - @[ -f ./expect/Makefile ] || exit 0; \ +install-info-autoconf: \ + configure-autoconf \ + info-autoconf + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in expect" ; \ - (cd expect && \ + echo "Doing install-info in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -7877,254 +2400,263 @@ install-info-expect: \ || exit 1 -.PHONY: maybe-install-info-guile install-info-guile -maybe-install-info-guile: +.PHONY: maybe-installcheck-autoconf installcheck-autoconf +maybe-installcheck-autoconf: -install-info-guile: \ - configure-guile \ - info-guile - @[ -f ./guile/Makefile ] || exit 0; \ +installcheck-autoconf: \ + configure-autoconf + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in guile" ; \ - (cd guile && \ + echo "Doing installcheck in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + installcheck) \ || exit 1 -.PHONY: maybe-install-info-tk install-info-tk -maybe-install-info-tk: +.PHONY: maybe-mostlyclean-autoconf mostlyclean-autoconf +maybe-mostlyclean-autoconf: -install-info-tk: \ - configure-tk \ - info-tk - @[ -f ./tk/Makefile ] || exit 0; \ +mostlyclean-autoconf: + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in tk" ; \ - (cd tk && \ + echo "Doing mostlyclean in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-install-info-tix install-info-tix -maybe-install-info-tix: +.PHONY: maybe-clean-autoconf clean-autoconf +maybe-clean-autoconf: -install-info-tix: \ - configure-tix \ - info-tix - @[ -f ./tix/Makefile ] || exit 0; \ +clean-autoconf: + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in tix" ; \ - (cd tix && \ + echo "Doing clean in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + clean) \ || exit 1 -.PHONY: maybe-install-info-libtermcap install-info-libtermcap -maybe-install-info-libtermcap: +.PHONY: maybe-distclean-autoconf distclean-autoconf +maybe-distclean-autoconf: -install-info-libtermcap: \ - configure-libtermcap \ - info-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ +distclean-autoconf: + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in libtermcap" ; \ - (cd libtermcap && \ + echo "Doing distclean in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + distclean) \ || exit 1 -.PHONY: maybe-install-info-utils install-info-utils -maybe-install-info-utils: +.PHONY: maybe-maintainer-clean-autoconf maintainer-clean-autoconf +maybe-maintainer-clean-autoconf: -install-info-utils: \ - configure-utils \ - info-utils - @[ -f ./utils/Makefile ] || exit 0; \ +maintainer-clean-autoconf: + @[ -f ./autoconf/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in utils" ; \ - (cd utils && \ + echo "Doing maintainer-clean in autoconf" ; \ + (cd autoconf && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + maintainer-clean) \ || exit 1 -# Target modules. +.PHONY: configure-automake maybe-configure-automake +maybe-configure-automake: +configure-automake: + @test ! -f automake/Makefile || exit 0; \ + [ -d automake ] || mkdir automake; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in automake; \ + cd automake || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/automake"; \ + libsrcdir="$$s/automake";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/automake"; \ + libsrcdir="$$s/automake";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 -.PHONY: maybe-install-info-target-libstdc++-v3 install-info-target-libstdc++-v3 -maybe-install-info-target-libstdc++-v3: +.PHONY: all-automake maybe-all-automake +maybe-all-automake: +all-automake: configure-automake + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd automake && $(MAKE) $(FLAGS_TO_PASS) all) -install-info-target-libstdc++-v3: \ - configure-target-libstdc++-v3 \ - info-target-libstdc++-v3 - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ +.PHONY: check-automake maybe-check-automake +maybe-check-automake: + +check-automake: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd automake && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-install-info-target-newlib install-info-target-newlib -maybe-install-info-target-newlib: +.PHONY: install-automake maybe-install-automake +maybe-install-automake: -install-info-target-newlib: \ - configure-target-newlib \ - info-target-newlib - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ +install-automake: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/newlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd automake && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-install-info-target-libf2c install-info-target-libf2c -maybe-install-info-target-libf2c: +# Other targets (info, dvi, etc.) -install-info-target-libf2c: \ - configure-target-libf2c \ - info-target-libf2c - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ +.PHONY: maybe-info-automake info-automake +maybe-info-automake: + +info-automake: \ + configure-automake + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ + echo "Doing info in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + info) \ || exit 1 -.PHONY: maybe-install-info-target-libobjc install-info-target-libobjc -maybe-install-info-target-libobjc: +.PHONY: maybe-dvi-automake dvi-automake +maybe-dvi-automake: -install-info-target-libobjc: \ - configure-target-libobjc \ - info-target-libobjc - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ +dvi-automake: \ + configure-automake + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ + echo "Doing dvi in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + dvi) \ || exit 1 -.PHONY: maybe-install-info-target-libtermcap install-info-target-libtermcap -maybe-install-info-target-libtermcap: +.PHONY: maybe-TAGS-automake TAGS-automake +maybe-TAGS-automake: -install-info-target-libtermcap: \ - configure-target-libtermcap \ - info-target-libtermcap - @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ +TAGS-automake: \ + configure-automake + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libtermcap" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libtermcap && \ + echo "Doing TAGS in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + TAGS) \ || exit 1 -.PHONY: maybe-install-info-target-winsup install-info-target-winsup -maybe-install-info-target-winsup: +.PHONY: maybe-install-info-automake install-info-automake +maybe-install-info-automake: -install-info-target-winsup: \ - configure-target-winsup \ - info-target-winsup - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ +install-info-automake: \ + configure-automake \ + info-automake + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/winsup && \ + echo "Doing install-info in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -8133,251 +2665,263 @@ install-info-target-winsup: \ || exit 1 -.PHONY: maybe-install-info-target-libgloss install-info-target-libgloss -maybe-install-info-target-libgloss: +.PHONY: maybe-installcheck-automake installcheck-automake +maybe-installcheck-automake: -install-info-target-libgloss: \ - configure-target-libgloss \ - info-target-libgloss - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ +installcheck-automake: \ + configure-automake + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ + echo "Doing installcheck in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + installcheck) \ || exit 1 -.PHONY: maybe-install-info-target-libiberty install-info-target-libiberty -maybe-install-info-target-libiberty: +.PHONY: maybe-mostlyclean-automake mostlyclean-automake +maybe-mostlyclean-automake: -install-info-target-libiberty: \ - configure-target-libiberty \ - info-target-libiberty - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ +mostlyclean-automake: + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ + echo "Doing mostlyclean in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-install-info-target-gperf install-info-target-gperf -maybe-install-info-target-gperf: +.PHONY: maybe-clean-automake clean-automake +maybe-clean-automake: -install-info-target-gperf: \ - configure-target-gperf \ - info-target-gperf - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ +clean-automake: + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/gperf && \ + echo "Doing clean in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + clean) \ || exit 1 -.PHONY: maybe-install-info-target-examples install-info-target-examples -maybe-install-info-target-examples: +.PHONY: maybe-distclean-automake distclean-automake +maybe-distclean-automake: -install-info-target-examples: \ - configure-target-examples \ - info-target-examples - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ +distclean-automake: + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/examples && \ + echo "Doing distclean in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + distclean) \ || exit 1 -.PHONY: maybe-install-info-target-libffi install-info-target-libffi -maybe-install-info-target-libffi: +.PHONY: maybe-maintainer-clean-automake maintainer-clean-automake +maybe-maintainer-clean-automake: -install-info-target-libffi: \ - configure-target-libffi \ - info-target-libffi - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ +maintainer-clean-automake: + @[ -f ./automake/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libffi && \ + echo "Doing maintainer-clean in automake" ; \ + (cd automake && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-install-info-target-libjava install-info-target-libjava -maybe-install-info-target-libjava: -install-info-target-libjava: \ - configure-target-libjava \ - info-target-libjava - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ +.PHONY: configure-bash maybe-configure-bash +maybe-configure-bash: +configure-bash: + @test ! -f bash/Makefile || exit 0; \ + [ -d bash ] || mkdir bash; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in bash; \ + cd bash || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bash"; \ + libsrcdir="$$s/bash";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bash"; \ + libsrcdir="$$s/bash";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-bash maybe-all-bash +maybe-all-bash: +all-bash: configure-bash + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd bash && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-bash maybe-check-bash +maybe-check-bash: + +check-bash: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd bash && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-install-info-target-zlib install-info-target-zlib -maybe-install-info-target-zlib: +.PHONY: install-bash maybe-install-bash +maybe-install-bash: -install-info-target-zlib: \ - configure-target-zlib \ - info-target-zlib - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ +install-bash: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/zlib && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 + (cd bash && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-install-info-target-boehm-gc install-info-target-boehm-gc -maybe-install-info-target-boehm-gc: +# Other targets (info, dvi, etc.) -install-info-target-boehm-gc: \ - configure-target-boehm-gc \ - info-target-boehm-gc - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ +.PHONY: maybe-info-bash info-bash +maybe-info-bash: + +info-bash: \ + configure-bash + @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ + echo "Doing info in bash" ; \ + (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + info) \ || exit 1 -.PHONY: maybe-install-info-target-qthreads install-info-target-qthreads -maybe-install-info-target-qthreads: +.PHONY: maybe-dvi-bash dvi-bash +maybe-dvi-bash: -install-info-target-qthreads: \ - configure-target-qthreads \ - info-target-qthreads - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ +dvi-bash: \ + configure-bash + @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ + echo "Doing dvi in bash" ; \ + (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + dvi) \ || exit 1 -.PHONY: maybe-install-info-target-rda install-info-target-rda -maybe-install-info-target-rda: +.PHONY: maybe-TAGS-bash TAGS-bash +maybe-TAGS-bash: -install-info-target-rda: \ - configure-target-rda \ - info-target-rda - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ +TAGS-bash: \ + configure-bash + @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/rda && \ + echo "Doing TAGS in bash" ; \ + (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + TAGS) \ || exit 1 -.PHONY: maybe-install-info-target-libada install-info-target-libada -maybe-install-info-target-libada: +.PHONY: maybe-install-info-bash install-info-bash +maybe-install-info-bash: -install-info-target-libada: \ - configure-target-libada \ - info-target-libada - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ +install-info-bash: \ + configure-bash \ + info-bash + @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing install-info in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libada && \ + echo "Doing install-info in bash" ; \ + (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -8386,111 +2930,20 @@ install-info-target-libada: \ || exit 1 +.PHONY: maybe-installcheck-bash installcheck-bash +maybe-installcheck-bash: -.PHONY: do-installcheck -do-installcheck: installcheck-host installcheck-target - -.PHONY: installcheck-host -installcheck-host: maybe-installcheck-gcc \ - maybe-installcheck-ash \ - maybe-installcheck-autoconf \ - maybe-installcheck-automake \ - maybe-installcheck-bash \ - maybe-installcheck-bfd \ - maybe-installcheck-opcodes \ - maybe-installcheck-binutils \ - maybe-installcheck-bison \ - maybe-installcheck-byacc \ - maybe-installcheck-bzip2 \ - maybe-installcheck-dejagnu \ - maybe-installcheck-diff \ - maybe-installcheck-dosutils \ - maybe-installcheck-etc \ - maybe-installcheck-fastjar \ - maybe-installcheck-fileutils \ - maybe-installcheck-findutils \ - maybe-installcheck-find \ - maybe-installcheck-flex \ - maybe-installcheck-gas \ - maybe-installcheck-gawk \ - maybe-installcheck-gettext \ - maybe-installcheck-gnuserv \ - maybe-installcheck-gprof \ - maybe-installcheck-gzip \ - maybe-installcheck-hello \ - maybe-installcheck-indent \ - maybe-installcheck-intl \ - maybe-installcheck-tcl \ - maybe-installcheck-itcl \ - maybe-installcheck-ld \ - maybe-installcheck-libgui \ - maybe-installcheck-libiberty \ - maybe-installcheck-libtool \ - maybe-installcheck-m4 \ - maybe-installcheck-make \ - maybe-installcheck-mmalloc \ - maybe-installcheck-patch \ - maybe-installcheck-perl \ - maybe-installcheck-prms \ - maybe-installcheck-rcs \ - maybe-installcheck-readline \ - maybe-installcheck-release \ - maybe-installcheck-recode \ - maybe-installcheck-sed \ - maybe-installcheck-send-pr \ - maybe-installcheck-shellutils \ - maybe-installcheck-sid \ - maybe-installcheck-sim \ - maybe-installcheck-tar \ - maybe-installcheck-texinfo \ - maybe-installcheck-textutils \ - maybe-installcheck-time \ - maybe-installcheck-uudecode \ - maybe-installcheck-wdiff \ - maybe-installcheck-zip \ - maybe-installcheck-zlib \ - maybe-installcheck-gdb \ - maybe-installcheck-expect \ - maybe-installcheck-guile \ - maybe-installcheck-tk \ - maybe-installcheck-tix \ - maybe-installcheck-libtermcap \ - maybe-installcheck-utils - -.PHONY: installcheck-target -installcheck-target: \ - maybe-installcheck-target-libstdc++-v3 \ - maybe-installcheck-target-newlib \ - maybe-installcheck-target-libf2c \ - maybe-installcheck-target-libobjc \ - maybe-installcheck-target-libtermcap \ - maybe-installcheck-target-winsup \ - maybe-installcheck-target-libgloss \ - maybe-installcheck-target-libiberty \ - maybe-installcheck-target-gperf \ - maybe-installcheck-target-examples \ - maybe-installcheck-target-libffi \ - maybe-installcheck-target-libjava \ - maybe-installcheck-target-zlib \ - maybe-installcheck-target-boehm-gc \ - maybe-installcheck-target-qthreads \ - maybe-installcheck-target-rda \ - maybe-installcheck-target-libada - -# GCC, the eternal special case -.PHONY: maybe-installcheck-gcc installcheck-gcc -maybe-installcheck-gcc: -installcheck-gcc: \ - configure-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ +installcheck-bash: \ + configure-bash + @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gcc" ; \ - (cd gcc && \ + echo "Doing installcheck in bash" ; \ + (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -8498,79 +2951,74 @@ installcheck-gcc: \ installcheck) \ || exit 1 -# Host modules. -.PHONY: maybe-installcheck-ash installcheck-ash -maybe-installcheck-ash: +.PHONY: maybe-mostlyclean-bash mostlyclean-bash +maybe-mostlyclean-bash: -installcheck-ash: \ - configure-ash - @[ -f ./ash/Makefile ] || exit 0; \ +mostlyclean-bash: + @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in ash" ; \ - (cd ash && \ + echo "Doing mostlyclean in bash" ; \ + (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-installcheck-autoconf installcheck-autoconf -maybe-installcheck-autoconf: +.PHONY: maybe-clean-bash clean-bash +maybe-clean-bash: -installcheck-autoconf: \ - configure-autoconf - @[ -f ./autoconf/Makefile ] || exit 0; \ +clean-bash: + @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in autoconf" ; \ - (cd autoconf && \ + echo "Doing clean in bash" ; \ + (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + clean) \ || exit 1 -.PHONY: maybe-installcheck-automake installcheck-automake -maybe-installcheck-automake: +.PHONY: maybe-distclean-bash distclean-bash +maybe-distclean-bash: -installcheck-automake: \ - configure-automake - @[ -f ./automake/Makefile ] || exit 0; \ +distclean-bash: + @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in automake" ; \ - (cd automake && \ + echo "Doing distclean in bash" ; \ + (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + distclean) \ || exit 1 -.PHONY: maybe-installcheck-bash installcheck-bash -maybe-installcheck-bash: +.PHONY: maybe-maintainer-clean-bash maintainer-clean-bash +maybe-maintainer-clean-bash: -installcheck-bash: \ - configure-bash +maintainer-clean-bash: @[ -f ./bash/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -8578,20 +3026,90 @@ installcheck-bash: \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in bash" ; \ + echo "Doing maintainer-clean in bash" ; \ (cd bash && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-installcheck-bfd installcheck-bfd -maybe-installcheck-bfd: -installcheck-bfd: \ +.PHONY: configure-bfd maybe-configure-bfd +maybe-configure-bfd: +configure-bfd: + @test ! -f bfd/Makefile || exit 0; \ + [ -d bfd ] || mkdir bfd; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in bfd; \ + cd bfd || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-bfd maybe-all-bfd +maybe-all-bfd: +all-bfd: configure-bfd + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd bfd && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-bfd maybe-check-bfd +maybe-check-bfd: + +check-bfd: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd bfd && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-bfd maybe-install-bfd +maybe-install-bfd: + +install-bfd: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd bfd && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-bfd info-bfd +maybe-info-bfd: + +info-bfd: \ configure-bfd @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ @@ -8600,96 +3118,97 @@ installcheck-bfd: \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in bfd" ; \ + echo "Doing info in bfd" ; \ (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + info) \ || exit 1 -.PHONY: maybe-installcheck-opcodes installcheck-opcodes -maybe-installcheck-opcodes: +.PHONY: maybe-dvi-bfd dvi-bfd +maybe-dvi-bfd: -installcheck-opcodes: \ - configure-opcodes - @[ -f ./opcodes/Makefile ] || exit 0; \ +dvi-bfd: \ + configure-bfd + @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in opcodes" ; \ - (cd opcodes && \ + echo "Doing dvi in bfd" ; \ + (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + dvi) \ || exit 1 -.PHONY: maybe-installcheck-binutils installcheck-binutils -maybe-installcheck-binutils: +.PHONY: maybe-TAGS-bfd TAGS-bfd +maybe-TAGS-bfd: -installcheck-binutils: \ - configure-binutils - @[ -f ./binutils/Makefile ] || exit 0; \ +TAGS-bfd: \ + configure-bfd + @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in binutils" ; \ - (cd binutils && \ + echo "Doing TAGS in bfd" ; \ + (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + TAGS) \ || exit 1 -.PHONY: maybe-installcheck-bison installcheck-bison -maybe-installcheck-bison: +.PHONY: maybe-install-info-bfd install-info-bfd +maybe-install-info-bfd: -installcheck-bison: \ - configure-bison - @[ -f ./bison/Makefile ] || exit 0; \ +install-info-bfd: \ + configure-bfd \ + info-bfd + @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in bison" ; \ - (cd bison && \ + echo "Doing install-info in bfd" ; \ + (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + install-info) \ || exit 1 -.PHONY: maybe-installcheck-byacc installcheck-byacc -maybe-installcheck-byacc: +.PHONY: maybe-installcheck-bfd installcheck-bfd +maybe-installcheck-bfd: -installcheck-byacc: \ - configure-byacc - @[ -f ./byacc/Makefile ] || exit 0; \ +installcheck-bfd: \ + configure-bfd + @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in byacc" ; \ - (cd byacc && \ + echo "Doing installcheck in bfd" ; \ + (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -8698,240 +3217,263 @@ installcheck-byacc: \ || exit 1 -.PHONY: maybe-installcheck-bzip2 installcheck-bzip2 -maybe-installcheck-bzip2: +.PHONY: maybe-mostlyclean-bfd mostlyclean-bfd +maybe-mostlyclean-bfd: -installcheck-bzip2: \ - configure-bzip2 - @[ -f ./bzip2/Makefile ] || exit 0; \ +mostlyclean-bfd: + @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in bzip2" ; \ - (cd bzip2 && \ + echo "Doing mostlyclean in bfd" ; \ + (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-installcheck-dejagnu installcheck-dejagnu -maybe-installcheck-dejagnu: +.PHONY: maybe-clean-bfd clean-bfd +maybe-clean-bfd: -installcheck-dejagnu: \ - configure-dejagnu - @[ -f ./dejagnu/Makefile ] || exit 0; \ +clean-bfd: + @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in dejagnu" ; \ - (cd dejagnu && \ + echo "Doing clean in bfd" ; \ + (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + clean) \ || exit 1 -.PHONY: maybe-installcheck-diff installcheck-diff -maybe-installcheck-diff: +.PHONY: maybe-distclean-bfd distclean-bfd +maybe-distclean-bfd: -installcheck-diff: \ - configure-diff - @[ -f ./diff/Makefile ] || exit 0; \ +distclean-bfd: + @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in diff" ; \ - (cd diff && \ + echo "Doing distclean in bfd" ; \ + (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + distclean) \ || exit 1 -.PHONY: maybe-installcheck-dosutils installcheck-dosutils -maybe-installcheck-dosutils: +.PHONY: maybe-maintainer-clean-bfd maintainer-clean-bfd +maybe-maintainer-clean-bfd: -installcheck-dosutils: \ - configure-dosutils - @[ -f ./dosutils/Makefile ] || exit 0; \ +maintainer-clean-bfd: + @[ -f ./bfd/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in dosutils" ; \ - (cd dosutils && \ + echo "Doing maintainer-clean in bfd" ; \ + (cd bfd && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-opcodes maybe-configure-opcodes +maybe-configure-opcodes: +configure-opcodes: + @test ! -f opcodes/Makefile || exit 0; \ + [ -d opcodes ] || mkdir opcodes; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in opcodes; \ + cd opcodes || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-opcodes maybe-all-opcodes +maybe-all-opcodes: +all-opcodes: configure-opcodes + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-installcheck-etc installcheck-etc -maybe-installcheck-etc: +.PHONY: check-opcodes maybe-check-opcodes +maybe-check-opcodes: -installcheck-etc: \ - configure-etc - @[ -f ./etc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-opcodes: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in etc" ; \ - (cd etc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-installcheck-fastjar installcheck-fastjar -maybe-installcheck-fastjar: +.PHONY: install-opcodes maybe-install-opcodes +maybe-install-opcodes: -installcheck-fastjar: \ - configure-fastjar - @[ -f ./fastjar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-opcodes: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in fastjar" ; \ - (cd fastjar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-installcheck-fileutils installcheck-fileutils -maybe-installcheck-fileutils: +# Other targets (info, dvi, etc.) -installcheck-fileutils: \ - configure-fileutils - @[ -f ./fileutils/Makefile ] || exit 0; \ +.PHONY: maybe-info-opcodes info-opcodes +maybe-info-opcodes: + +info-opcodes: \ + configure-opcodes + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in fileutils" ; \ - (cd fileutils && \ + echo "Doing info in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + info) \ || exit 1 -.PHONY: maybe-installcheck-findutils installcheck-findutils -maybe-installcheck-findutils: +.PHONY: maybe-dvi-opcodes dvi-opcodes +maybe-dvi-opcodes: -installcheck-findutils: \ - configure-findutils - @[ -f ./findutils/Makefile ] || exit 0; \ +dvi-opcodes: \ + configure-opcodes + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in findutils" ; \ - (cd findutils && \ + echo "Doing dvi in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + dvi) \ || exit 1 -.PHONY: maybe-installcheck-find installcheck-find -maybe-installcheck-find: +.PHONY: maybe-TAGS-opcodes TAGS-opcodes +maybe-TAGS-opcodes: -installcheck-find: \ - configure-find - @[ -f ./find/Makefile ] || exit 0; \ +TAGS-opcodes: \ + configure-opcodes + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in find" ; \ - (cd find && \ + echo "Doing TAGS in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + TAGS) \ || exit 1 -.PHONY: maybe-installcheck-flex installcheck-flex -maybe-installcheck-flex: +.PHONY: maybe-install-info-opcodes install-info-opcodes +maybe-install-info-opcodes: -installcheck-flex: \ - configure-flex - @[ -f ./flex/Makefile ] || exit 0; \ +install-info-opcodes: \ + configure-opcodes \ + info-opcodes + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in flex" ; \ - (cd flex && \ + echo "Doing install-info in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + install-info) \ || exit 1 -.PHONY: maybe-installcheck-gas installcheck-gas -maybe-installcheck-gas: +.PHONY: maybe-installcheck-opcodes installcheck-opcodes +maybe-installcheck-opcodes: -installcheck-gas: \ - configure-gas - @[ -f ./gas/Makefile ] || exit 0; \ +installcheck-opcodes: \ + configure-opcodes + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gas" ; \ - (cd gas && \ + echo "Doing installcheck in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -8940,262 +3482,263 @@ installcheck-gas: \ || exit 1 -.PHONY: maybe-installcheck-gawk installcheck-gawk -maybe-installcheck-gawk: +.PHONY: maybe-mostlyclean-opcodes mostlyclean-opcodes +maybe-mostlyclean-opcodes: -installcheck-gawk: \ - configure-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ +mostlyclean-opcodes: + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gawk" ; \ - (cd gawk && \ + echo "Doing mostlyclean in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-installcheck-gettext installcheck-gettext -maybe-installcheck-gettext: +.PHONY: maybe-clean-opcodes clean-opcodes +maybe-clean-opcodes: -installcheck-gettext: \ - configure-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ +clean-opcodes: + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gettext" ; \ - (cd gettext && \ + echo "Doing clean in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + clean) \ || exit 1 -.PHONY: maybe-installcheck-gnuserv installcheck-gnuserv -maybe-installcheck-gnuserv: +.PHONY: maybe-distclean-opcodes distclean-opcodes +maybe-distclean-opcodes: -installcheck-gnuserv: \ - configure-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ +distclean-opcodes: + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing distclean in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + distclean) \ || exit 1 -.PHONY: maybe-installcheck-gprof installcheck-gprof -maybe-installcheck-gprof: +.PHONY: maybe-maintainer-clean-opcodes maintainer-clean-opcodes +maybe-maintainer-clean-opcodes: -installcheck-gprof: \ - configure-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ +maintainer-clean-opcodes: + @[ -f ./opcodes/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gprof" ; \ - (cd gprof && \ + echo "Doing maintainer-clean in opcodes" ; \ + (cd opcodes && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-installcheck-gzip installcheck-gzip -maybe-installcheck-gzip: -installcheck-gzip: \ - configure-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ +.PHONY: configure-binutils maybe-configure-binutils +maybe-configure-binutils: +configure-binutils: + @test ! -f binutils/Makefile || exit 0; \ + [ -d binutils ] || mkdir binutils; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in gzip" ; \ - (cd gzip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in binutils; \ + cd binutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-binutils maybe-all-binutils +maybe-all-binutils: +all-binutils: configure-binutils + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd binutils && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-installcheck-hello installcheck-hello -maybe-installcheck-hello: +.PHONY: check-binutils maybe-check-binutils +maybe-check-binutils: -installcheck-hello: \ - configure-hello - @[ -f ./hello/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-binutils: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in hello" ; \ - (cd hello && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd binutils && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-installcheck-indent installcheck-indent -maybe-installcheck-indent: +.PHONY: install-binutils maybe-install-binutils +maybe-install-binutils: -installcheck-indent: \ - configure-indent - @[ -f ./indent/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-binutils: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in indent" ; \ - (cd indent && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd binutils && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-installcheck-intl installcheck-intl -maybe-installcheck-intl: +# Other targets (info, dvi, etc.) -installcheck-intl: \ - configure-intl - @[ -f ./intl/Makefile ] || exit 0; \ +.PHONY: maybe-info-binutils info-binutils +maybe-info-binutils: + +info-binutils: \ + configure-binutils + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in intl" ; \ - (cd intl && \ + echo "Doing info in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + info) \ || exit 1 -.PHONY: maybe-installcheck-tcl installcheck-tcl -maybe-installcheck-tcl: +.PHONY: maybe-dvi-binutils dvi-binutils +maybe-dvi-binutils: -installcheck-tcl: \ - configure-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ +dvi-binutils: \ + configure-binutils + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in tcl" ; \ - (cd tcl && \ + echo "Doing dvi in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + dvi) \ || exit 1 -.PHONY: maybe-installcheck-itcl installcheck-itcl -maybe-installcheck-itcl: +.PHONY: maybe-TAGS-binutils TAGS-binutils +maybe-TAGS-binutils: -installcheck-itcl: \ - configure-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ +TAGS-binutils: \ + configure-binutils + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in itcl" ; \ - (cd itcl && \ + echo "Doing TAGS in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + TAGS) \ || exit 1 -.PHONY: maybe-installcheck-ld installcheck-ld -maybe-installcheck-ld: +.PHONY: maybe-install-info-binutils install-info-binutils +maybe-install-info-binutils: -installcheck-ld: \ - configure-ld - @[ -f ./ld/Makefile ] || exit 0; \ +install-info-binutils: \ + configure-binutils \ + info-binutils + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in ld" ; \ - (cd ld && \ + echo "Doing install-info in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + install-info) \ || exit 1 -.PHONY: maybe-installcheck-libgui installcheck-libgui -maybe-installcheck-libgui: +.PHONY: maybe-installcheck-binutils installcheck-binutils +maybe-installcheck-binutils: -installcheck-libgui: \ - configure-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ +installcheck-binutils: \ + configure-binutils + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in libgui" ; \ - (cd libgui && \ + echo "Doing installcheck in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -9204,240 +3747,266 @@ installcheck-libgui: \ || exit 1 -.PHONY: maybe-installcheck-libiberty installcheck-libiberty -maybe-installcheck-libiberty: +.PHONY: maybe-mostlyclean-binutils mostlyclean-binutils +maybe-mostlyclean-binutils: -installcheck-libiberty: \ - configure-libiberty - @[ -f ./libiberty/Makefile ] || exit 0; \ +mostlyclean-binutils: + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in libiberty" ; \ - (cd libiberty && \ + echo "Doing mostlyclean in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-installcheck-libtool installcheck-libtool -maybe-installcheck-libtool: +.PHONY: maybe-clean-binutils clean-binutils +maybe-clean-binutils: -installcheck-libtool: \ - configure-libtool - @[ -f ./libtool/Makefile ] || exit 0; \ +clean-binutils: + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in libtool" ; \ - (cd libtool && \ + echo "Doing clean in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + clean) \ || exit 1 -.PHONY: maybe-installcheck-m4 installcheck-m4 -maybe-installcheck-m4: +.PHONY: maybe-distclean-binutils distclean-binutils +maybe-distclean-binutils: -installcheck-m4: \ - configure-m4 - @[ -f ./m4/Makefile ] || exit 0; \ +distclean-binutils: + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in m4" ; \ - (cd m4 && \ + echo "Doing distclean in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + distclean) \ || exit 1 -.PHONY: maybe-installcheck-make installcheck-make -maybe-installcheck-make: +.PHONY: maybe-maintainer-clean-binutils maintainer-clean-binutils +maybe-maintainer-clean-binutils: -installcheck-make: \ - configure-make - @[ -f ./make/Makefile ] || exit 0; \ +maintainer-clean-binutils: + @[ -f ./binutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in make" ; \ - (cd make && \ + echo "Doing maintainer-clean in binutils" ; \ + (cd binutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-installcheck-mmalloc installcheck-mmalloc -maybe-installcheck-mmalloc: -installcheck-mmalloc: \ - configure-mmalloc - @[ -f ./mmalloc/Makefile ] || exit 0; \ +.PHONY: configure-bison maybe-configure-bison +maybe-configure-bison: +configure-bison: + @test ! -f bison/Makefile || exit 0; \ + [ -d bison ] || mkdir bison; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in mmalloc" ; \ - (cd mmalloc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in bison; \ + cd bison || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bison"; \ + libsrcdir="$$s/bison";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bison"; \ + libsrcdir="$$s/bison";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-bison maybe-all-bison +maybe-all-bison: +all-bison: configure-bison + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd bison && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-bison maybe-check-bison +maybe-check-bison: + +# This module is only tested in a native toolchain. +check-bison: + @if [ '$(host)' = '$(target)' ] ; then \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd bison && $(MAKE) $(FLAGS_TO_PASS) check); \ + fi + -.PHONY: maybe-installcheck-patch installcheck-patch -maybe-installcheck-patch: +.PHONY: install-bison maybe-install-bison +maybe-install-bison: -installcheck-patch: \ - configure-patch - @[ -f ./patch/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-bison: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in patch" ; \ - (cd patch && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd bison && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-installcheck-perl installcheck-perl -maybe-installcheck-perl: +# Other targets (info, dvi, etc.) -installcheck-perl: \ - configure-perl - @[ -f ./perl/Makefile ] || exit 0; \ +.PHONY: maybe-info-bison info-bison +maybe-info-bison: + +info-bison: \ + configure-bison + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in perl" ; \ - (cd perl && \ + echo "Doing info in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + info) \ || exit 1 -.PHONY: maybe-installcheck-prms installcheck-prms -maybe-installcheck-prms: +.PHONY: maybe-dvi-bison dvi-bison +maybe-dvi-bison: -installcheck-prms: \ - configure-prms - @[ -f ./prms/Makefile ] || exit 0; \ +dvi-bison: \ + configure-bison + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in prms" ; \ - (cd prms && \ + echo "Doing dvi in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + dvi) \ || exit 1 -.PHONY: maybe-installcheck-rcs installcheck-rcs -maybe-installcheck-rcs: +.PHONY: maybe-TAGS-bison TAGS-bison +maybe-TAGS-bison: -installcheck-rcs: \ - configure-rcs - @[ -f ./rcs/Makefile ] || exit 0; \ +TAGS-bison: \ + configure-bison + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in rcs" ; \ - (cd rcs && \ + echo "Doing TAGS in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + TAGS) \ || exit 1 -.PHONY: maybe-installcheck-readline installcheck-readline -maybe-installcheck-readline: +.PHONY: maybe-install-info-bison install-info-bison +maybe-install-info-bison: -installcheck-readline: \ - configure-readline - @[ -f ./readline/Makefile ] || exit 0; \ +install-info-bison: \ + configure-bison \ + info-bison + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in readline" ; \ - (cd readline && \ + echo "Doing install-info in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + install-info) \ || exit 1 -.PHONY: maybe-installcheck-release installcheck-release -maybe-installcheck-release: +.PHONY: maybe-installcheck-bison installcheck-bison +maybe-installcheck-bison: -installcheck-release: \ - configure-release - @[ -f ./release/Makefile ] || exit 0; \ +installcheck-bison: \ + configure-bison + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in release" ; \ - (cd release && \ + echo "Doing installcheck in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -9446,240 +4015,266 @@ installcheck-release: \ || exit 1 -.PHONY: maybe-installcheck-recode installcheck-recode -maybe-installcheck-recode: +.PHONY: maybe-mostlyclean-bison mostlyclean-bison +maybe-mostlyclean-bison: -installcheck-recode: \ - configure-recode - @[ -f ./recode/Makefile ] || exit 0; \ +mostlyclean-bison: + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in recode" ; \ - (cd recode && \ + echo "Doing mostlyclean in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-installcheck-sed installcheck-sed -maybe-installcheck-sed: +.PHONY: maybe-clean-bison clean-bison +maybe-clean-bison: -installcheck-sed: \ - configure-sed - @[ -f ./sed/Makefile ] || exit 0; \ +clean-bison: + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in sed" ; \ - (cd sed && \ + echo "Doing clean in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + clean) \ || exit 1 -.PHONY: maybe-installcheck-send-pr installcheck-send-pr -maybe-installcheck-send-pr: +.PHONY: maybe-distclean-bison distclean-bison +maybe-distclean-bison: -installcheck-send-pr: \ - configure-send-pr - @[ -f ./send-pr/Makefile ] || exit 0; \ +distclean-bison: + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in send-pr" ; \ - (cd send-pr && \ + echo "Doing distclean in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + distclean) \ || exit 1 -.PHONY: maybe-installcheck-shellutils installcheck-shellutils -maybe-installcheck-shellutils: +.PHONY: maybe-maintainer-clean-bison maintainer-clean-bison +maybe-maintainer-clean-bison: -installcheck-shellutils: \ - configure-shellutils - @[ -f ./shellutils/Makefile ] || exit 0; \ +maintainer-clean-bison: + @[ -f ./bison/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in shellutils" ; \ - (cd shellutils && \ + echo "Doing maintainer-clean in bison" ; \ + (cd bison && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-installcheck-sid installcheck-sid -maybe-installcheck-sid: -installcheck-sid: \ - configure-sid - @[ -f ./sid/Makefile ] || exit 0; \ +.PHONY: configure-byacc maybe-configure-byacc +maybe-configure-byacc: +configure-byacc: + @test ! -f byacc/Makefile || exit 0; \ + [ -d byacc ] || mkdir byacc; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in sid" ; \ - (cd sid && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in byacc; \ + cd byacc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/byacc"; \ + libsrcdir="$$s/byacc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/byacc"; \ + libsrcdir="$$s/byacc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 - -.PHONY: maybe-installcheck-sim installcheck-sim -maybe-installcheck-sim: - -installcheck-sim: \ - configure-sim - @[ -f ./sim/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-byacc maybe-all-byacc +maybe-all-byacc: +all-byacc: configure-byacc + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in sim" ; \ - (cd sim && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd byacc && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-byacc maybe-check-byacc +maybe-check-byacc: + +# This module is only tested in a native toolchain. +check-byacc: + @if [ '$(host)' = '$(target)' ] ; then \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd byacc && $(MAKE) $(FLAGS_TO_PASS) check); \ + fi + + +.PHONY: install-byacc maybe-install-byacc +maybe-install-byacc: + +install-byacc: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd byacc && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-installcheck-tar installcheck-tar -maybe-installcheck-tar: +# Other targets (info, dvi, etc.) -installcheck-tar: \ - configure-tar - @[ -f ./tar/Makefile ] || exit 0; \ +.PHONY: maybe-info-byacc info-byacc +maybe-info-byacc: + +info-byacc: \ + configure-byacc + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in tar" ; \ - (cd tar && \ + echo "Doing info in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + info) \ || exit 1 -.PHONY: maybe-installcheck-texinfo installcheck-texinfo -maybe-installcheck-texinfo: +.PHONY: maybe-dvi-byacc dvi-byacc +maybe-dvi-byacc: -installcheck-texinfo: \ - configure-texinfo - @[ -f ./texinfo/Makefile ] || exit 0; \ +dvi-byacc: \ + configure-byacc + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in texinfo" ; \ - (cd texinfo && \ + echo "Doing dvi in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + dvi) \ || exit 1 -.PHONY: maybe-installcheck-textutils installcheck-textutils -maybe-installcheck-textutils: +.PHONY: maybe-TAGS-byacc TAGS-byacc +maybe-TAGS-byacc: -installcheck-textutils: \ - configure-textutils - @[ -f ./textutils/Makefile ] || exit 0; \ +TAGS-byacc: \ + configure-byacc + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in textutils" ; \ - (cd textutils && \ + echo "Doing TAGS in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + TAGS) \ || exit 1 -.PHONY: maybe-installcheck-time installcheck-time -maybe-installcheck-time: +.PHONY: maybe-install-info-byacc install-info-byacc +maybe-install-info-byacc: -installcheck-time: \ - configure-time - @[ -f ./time/Makefile ] || exit 0; \ +install-info-byacc: \ + configure-byacc \ + info-byacc + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in time" ; \ - (cd time && \ + echo "Doing install-info in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + install-info) \ || exit 1 -.PHONY: maybe-installcheck-uudecode installcheck-uudecode -maybe-installcheck-uudecode: +.PHONY: maybe-installcheck-byacc installcheck-byacc +maybe-installcheck-byacc: -installcheck-uudecode: \ - configure-uudecode - @[ -f ./uudecode/Makefile ] || exit 0; \ +installcheck-byacc: \ + configure-byacc + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in uudecode" ; \ - (cd uudecode && \ + echo "Doing installcheck in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -9688,265 +4283,263 @@ installcheck-uudecode: \ || exit 1 -.PHONY: maybe-installcheck-wdiff installcheck-wdiff -maybe-installcheck-wdiff: +.PHONY: maybe-mostlyclean-byacc mostlyclean-byacc +maybe-mostlyclean-byacc: -installcheck-wdiff: \ - configure-wdiff - @[ -f ./wdiff/Makefile ] || exit 0; \ +mostlyclean-byacc: + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in wdiff" ; \ - (cd wdiff && \ + echo "Doing mostlyclean in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-installcheck-zip installcheck-zip -maybe-installcheck-zip: +.PHONY: maybe-clean-byacc clean-byacc +maybe-clean-byacc: -installcheck-zip: \ - configure-zip - @[ -f ./zip/Makefile ] || exit 0; \ +clean-byacc: + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in zip" ; \ - (cd zip && \ + echo "Doing clean in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + clean) \ || exit 1 -.PHONY: maybe-installcheck-zlib installcheck-zlib -maybe-installcheck-zlib: +.PHONY: maybe-distclean-byacc distclean-byacc +maybe-distclean-byacc: -installcheck-zlib: \ - configure-zlib - @[ -f ./zlib/Makefile ] || exit 0; \ +distclean-byacc: + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in zlib" ; \ - (cd zlib && \ + echo "Doing distclean in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + distclean) \ || exit 1 -.PHONY: maybe-installcheck-gdb installcheck-gdb -maybe-installcheck-gdb: +.PHONY: maybe-maintainer-clean-byacc maintainer-clean-byacc +maybe-maintainer-clean-byacc: -installcheck-gdb: \ - configure-gdb - @[ -f ./gdb/Makefile ] || exit 0; \ +maintainer-clean-byacc: + @[ -f ./byacc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gdb" ; \ - (cd gdb && \ + echo "Doing maintainer-clean in byacc" ; \ + (cd byacc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-installcheck-expect installcheck-expect -maybe-installcheck-expect: -installcheck-expect: \ - configure-expect - @[ -f ./expect/Makefile ] || exit 0; \ +.PHONY: configure-bzip2 maybe-configure-bzip2 +maybe-configure-bzip2: +configure-bzip2: + @test ! -f bzip2/Makefile || exit 0; \ + [ -d bzip2 ] || mkdir bzip2; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in expect" ; \ - (cd expect && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in bzip2; \ + cd bzip2 || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bzip2"; \ + libsrcdir="$$s/bzip2";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bzip2"; \ + libsrcdir="$$s/bzip2";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-bzip2 maybe-all-bzip2 +maybe-all-bzip2: +all-bzip2: configure-bzip2 + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-installcheck-guile installcheck-guile -maybe-installcheck-guile: +.PHONY: check-bzip2 maybe-check-bzip2 +maybe-check-bzip2: -installcheck-guile: \ - configure-guile - @[ -f ./guile/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-bzip2: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in guile" ; \ - (cd guile && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-installcheck-tk installcheck-tk -maybe-installcheck-tk: +.PHONY: install-bzip2 maybe-install-bzip2 +maybe-install-bzip2: -installcheck-tk: \ - configure-tk - @[ -f ./tk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-bzip2: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in tk" ; \ - (cd tk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-installcheck-tix installcheck-tix -maybe-installcheck-tix: +# Other targets (info, dvi, etc.) -installcheck-tix: \ - configure-tix - @[ -f ./tix/Makefile ] || exit 0; \ +.PHONY: maybe-info-bzip2 info-bzip2 +maybe-info-bzip2: + +info-bzip2: \ + configure-bzip2 + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in tix" ; \ - (cd tix && \ + echo "Doing info in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + info) \ || exit 1 -.PHONY: maybe-installcheck-libtermcap installcheck-libtermcap -maybe-installcheck-libtermcap: +.PHONY: maybe-dvi-bzip2 dvi-bzip2 +maybe-dvi-bzip2: -installcheck-libtermcap: \ - configure-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ +dvi-bzip2: \ + configure-bzip2 + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in libtermcap" ; \ - (cd libtermcap && \ + echo "Doing dvi in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + dvi) \ || exit 1 -.PHONY: maybe-installcheck-utils installcheck-utils -maybe-installcheck-utils: +.PHONY: maybe-TAGS-bzip2 TAGS-bzip2 +maybe-TAGS-bzip2: -installcheck-utils: \ - configure-utils - @[ -f ./utils/Makefile ] || exit 0; \ +TAGS-bzip2: \ + configure-bzip2 + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in utils" ; \ - (cd utils && \ + echo "Doing TAGS in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + TAGS) \ || exit 1 +.PHONY: maybe-install-info-bzip2 install-info-bzip2 +maybe-install-info-bzip2: -# Target modules. - -.PHONY: maybe-installcheck-target-libstdc++-v3 installcheck-target-libstdc++-v3 -maybe-installcheck-target-libstdc++-v3: - -installcheck-target-libstdc++-v3: \ - configure-target-libstdc++-v3 - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ +install-info-bzip2: \ + configure-bzip2 \ + info-bzip2 + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + echo "Doing install-info in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + install-info) \ || exit 1 -.PHONY: maybe-installcheck-target-newlib installcheck-target-newlib -maybe-installcheck-target-newlib: +.PHONY: maybe-installcheck-bzip2 installcheck-bzip2 +maybe-installcheck-bzip2: -installcheck-target-newlib: \ - configure-target-newlib - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ +installcheck-bzip2: \ + configure-bzip2 + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/newlib && \ + echo "Doing installcheck in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -9955,240 +4548,263 @@ installcheck-target-newlib: \ || exit 1 -.PHONY: maybe-installcheck-target-libf2c installcheck-target-libf2c -maybe-installcheck-target-libf2c: +.PHONY: maybe-mostlyclean-bzip2 mostlyclean-bzip2 +maybe-mostlyclean-bzip2: -installcheck-target-libf2c: \ - configure-target-libf2c - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ +mostlyclean-bzip2: + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ + echo "Doing mostlyclean in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-installcheck-target-libobjc installcheck-target-libobjc -maybe-installcheck-target-libobjc: +.PHONY: maybe-clean-bzip2 clean-bzip2 +maybe-clean-bzip2: -installcheck-target-libobjc: \ - configure-target-libobjc - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ +clean-bzip2: + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ + echo "Doing clean in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + clean) \ || exit 1 -.PHONY: maybe-installcheck-target-libtermcap installcheck-target-libtermcap -maybe-installcheck-target-libtermcap: +.PHONY: maybe-distclean-bzip2 distclean-bzip2 +maybe-distclean-bzip2: -installcheck-target-libtermcap: \ - configure-target-libtermcap - @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ +distclean-bzip2: + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libtermcap" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libtermcap && \ + echo "Doing distclean in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + distclean) \ || exit 1 -.PHONY: maybe-installcheck-target-winsup installcheck-target-winsup -maybe-installcheck-target-winsup: +.PHONY: maybe-maintainer-clean-bzip2 maintainer-clean-bzip2 +maybe-maintainer-clean-bzip2: -installcheck-target-winsup: \ - configure-target-winsup - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ +maintainer-clean-bzip2: + @[ -f ./bzip2/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/winsup && \ + echo "Doing maintainer-clean in bzip2" ; \ + (cd bzip2 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-installcheck-target-libgloss installcheck-target-libgloss -maybe-installcheck-target-libgloss: -installcheck-target-libgloss: \ - configure-target-libgloss - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ +.PHONY: configure-dejagnu maybe-configure-dejagnu +maybe-configure-dejagnu: +configure-dejagnu: + @test ! -f dejagnu/Makefile || exit 0; \ + [ -d dejagnu ] || mkdir dejagnu; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in dejagnu; \ + cd dejagnu || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/dejagnu"; \ + libsrcdir="$$s/dejagnu";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/dejagnu"; \ + libsrcdir="$$s/dejagnu";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-dejagnu maybe-all-dejagnu +maybe-all-dejagnu: +all-dejagnu: configure-dejagnu + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-installcheck-target-libiberty installcheck-target-libiberty -maybe-installcheck-target-libiberty: +.PHONY: check-dejagnu maybe-check-dejagnu +maybe-check-dejagnu: -installcheck-target-libiberty: \ - configure-target-libiberty - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ +check-dejagnu: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 + (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-installcheck-target-gperf installcheck-target-gperf -maybe-installcheck-target-gperf: +.PHONY: install-dejagnu maybe-install-dejagnu +maybe-install-dejagnu: -installcheck-target-gperf: \ - configure-target-gperf - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ +install-dejagnu: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-dejagnu info-dejagnu +maybe-info-dejagnu: + +info-dejagnu: \ + configure-dejagnu + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/gperf && \ + echo "Doing info in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + info) \ || exit 1 -.PHONY: maybe-installcheck-target-examples installcheck-target-examples -maybe-installcheck-target-examples: +.PHONY: maybe-dvi-dejagnu dvi-dejagnu +maybe-dvi-dejagnu: -installcheck-target-examples: \ - configure-target-examples - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ +dvi-dejagnu: \ + configure-dejagnu + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/examples && \ + echo "Doing dvi in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + dvi) \ || exit 1 -.PHONY: maybe-installcheck-target-libffi installcheck-target-libffi -maybe-installcheck-target-libffi: +.PHONY: maybe-TAGS-dejagnu TAGS-dejagnu +maybe-TAGS-dejagnu: -installcheck-target-libffi: \ - configure-target-libffi - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ +TAGS-dejagnu: \ + configure-dejagnu + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libffi && \ + echo "Doing TAGS in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + TAGS) \ || exit 1 -.PHONY: maybe-installcheck-target-libjava installcheck-target-libjava -maybe-installcheck-target-libjava: +.PHONY: maybe-install-info-dejagnu install-info-dejagnu +maybe-install-info-dejagnu: -installcheck-target-libjava: \ - configure-target-libjava - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ +install-info-dejagnu: \ + configure-dejagnu \ + info-dejagnu + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libjava && \ + echo "Doing install-info in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + install-info) \ || exit 1 -.PHONY: maybe-installcheck-target-zlib installcheck-target-zlib -maybe-installcheck-target-zlib: +.PHONY: maybe-installcheck-dejagnu installcheck-dejagnu +maybe-installcheck-dejagnu: -installcheck-target-zlib: \ - configure-target-zlib - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ +installcheck-dejagnu: \ + configure-dejagnu + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/zlib && \ + echo "Doing installcheck in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -10197,346 +4813,284 @@ installcheck-target-zlib: \ || exit 1 -.PHONY: maybe-installcheck-target-boehm-gc installcheck-target-boehm-gc -maybe-installcheck-target-boehm-gc: +.PHONY: maybe-mostlyclean-dejagnu mostlyclean-dejagnu +maybe-mostlyclean-dejagnu: -installcheck-target-boehm-gc: \ - configure-target-boehm-gc - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ +mostlyclean-dejagnu: + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ + echo "Doing mostlyclean in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-installcheck-target-qthreads installcheck-target-qthreads -maybe-installcheck-target-qthreads: +.PHONY: maybe-clean-dejagnu clean-dejagnu +maybe-clean-dejagnu: -installcheck-target-qthreads: \ - configure-target-qthreads - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ +clean-dejagnu: + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ + echo "Doing clean in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + clean) \ || exit 1 -.PHONY: maybe-installcheck-target-rda installcheck-target-rda -maybe-installcheck-target-rda: +.PHONY: maybe-distclean-dejagnu distclean-dejagnu +maybe-distclean-dejagnu: -installcheck-target-rda: \ - configure-target-rda - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ +distclean-dejagnu: + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/rda && \ + echo "Doing distclean in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + distclean) \ || exit 1 -.PHONY: maybe-installcheck-target-libada installcheck-target-libada -maybe-installcheck-target-libada: +.PHONY: maybe-maintainer-clean-dejagnu maintainer-clean-dejagnu +maybe-maintainer-clean-dejagnu: -installcheck-target-libada: \ - configure-target-libada - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ +maintainer-clean-dejagnu: + @[ -f ./dejagnu/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing installcheck in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libada && \ + echo "Doing maintainer-clean in dejagnu" ; \ + (cd dejagnu && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + maintainer-clean) \ || exit 1 -.PHONY: do-mostlyclean -do-mostlyclean: mostlyclean-host mostlyclean-target - -.PHONY: mostlyclean-host -mostlyclean-host: maybe-mostlyclean-gcc \ - maybe-mostlyclean-ash \ - maybe-mostlyclean-autoconf \ - maybe-mostlyclean-automake \ - maybe-mostlyclean-bash \ - maybe-mostlyclean-bfd \ - maybe-mostlyclean-opcodes \ - maybe-mostlyclean-binutils \ - maybe-mostlyclean-bison \ - maybe-mostlyclean-byacc \ - maybe-mostlyclean-bzip2 \ - maybe-mostlyclean-dejagnu \ - maybe-mostlyclean-diff \ - maybe-mostlyclean-dosutils \ - maybe-mostlyclean-etc \ - maybe-mostlyclean-fastjar \ - maybe-mostlyclean-fileutils \ - maybe-mostlyclean-findutils \ - maybe-mostlyclean-find \ - maybe-mostlyclean-flex \ - maybe-mostlyclean-gas \ - maybe-mostlyclean-gawk \ - maybe-mostlyclean-gettext \ - maybe-mostlyclean-gnuserv \ - maybe-mostlyclean-gprof \ - maybe-mostlyclean-gzip \ - maybe-mostlyclean-hello \ - maybe-mostlyclean-indent \ - maybe-mostlyclean-intl \ - maybe-mostlyclean-tcl \ - maybe-mostlyclean-itcl \ - maybe-mostlyclean-ld \ - maybe-mostlyclean-libgui \ - maybe-mostlyclean-libiberty \ - maybe-mostlyclean-libtool \ - maybe-mostlyclean-m4 \ - maybe-mostlyclean-make \ - maybe-mostlyclean-mmalloc \ - maybe-mostlyclean-patch \ - maybe-mostlyclean-perl \ - maybe-mostlyclean-prms \ - maybe-mostlyclean-rcs \ - maybe-mostlyclean-readline \ - maybe-mostlyclean-release \ - maybe-mostlyclean-recode \ - maybe-mostlyclean-sed \ - maybe-mostlyclean-send-pr \ - maybe-mostlyclean-shellutils \ - maybe-mostlyclean-sid \ - maybe-mostlyclean-sim \ - maybe-mostlyclean-tar \ - maybe-mostlyclean-texinfo \ - maybe-mostlyclean-textutils \ - maybe-mostlyclean-time \ - maybe-mostlyclean-uudecode \ - maybe-mostlyclean-wdiff \ - maybe-mostlyclean-zip \ - maybe-mostlyclean-zlib \ - maybe-mostlyclean-gdb \ - maybe-mostlyclean-expect \ - maybe-mostlyclean-guile \ - maybe-mostlyclean-tk \ - maybe-mostlyclean-tix \ - maybe-mostlyclean-libtermcap \ - maybe-mostlyclean-utils - -.PHONY: mostlyclean-target -mostlyclean-target: \ - maybe-mostlyclean-target-libstdc++-v3 \ - maybe-mostlyclean-target-newlib \ - maybe-mostlyclean-target-libf2c \ - maybe-mostlyclean-target-libobjc \ - maybe-mostlyclean-target-libtermcap \ - maybe-mostlyclean-target-winsup \ - maybe-mostlyclean-target-libgloss \ - maybe-mostlyclean-target-libiberty \ - maybe-mostlyclean-target-gperf \ - maybe-mostlyclean-target-examples \ - maybe-mostlyclean-target-libffi \ - maybe-mostlyclean-target-libjava \ - maybe-mostlyclean-target-zlib \ - maybe-mostlyclean-target-boehm-gc \ - maybe-mostlyclean-target-qthreads \ - maybe-mostlyclean-target-rda \ - maybe-mostlyclean-target-libada +.PHONY: configure-diff maybe-configure-diff +maybe-configure-diff: +configure-diff: + @test ! -f diff/Makefile || exit 0; \ + [ -d diff ] || mkdir diff; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in diff; \ + cd diff || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/diff"; \ + libsrcdir="$$s/diff";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/diff"; \ + libsrcdir="$$s/diff";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 -# GCC, the eternal special case -.PHONY: maybe-mostlyclean-gcc mostlyclean-gcc -maybe-mostlyclean-gcc: -mostlyclean-gcc: - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-diff maybe-all-diff +maybe-all-diff: +all-diff: configure-diff + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 + (cd diff && $(MAKE) $(FLAGS_TO_PASS) all) -# Host modules. +.PHONY: check-diff maybe-check-diff +maybe-check-diff: -.PHONY: maybe-mostlyclean-ash mostlyclean-ash -maybe-mostlyclean-ash: +check-diff: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd diff && $(MAKE) $(FLAGS_TO_PASS) check) -mostlyclean-ash: - @[ -f ./ash/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ + +.PHONY: install-diff maybe-install-diff +maybe-install-diff: + +install-diff: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in ash" ; \ - (cd ash && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 + (cd diff && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-mostlyclean-autoconf mostlyclean-autoconf -maybe-mostlyclean-autoconf: +# Other targets (info, dvi, etc.) -mostlyclean-autoconf: - @[ -f ./autoconf/Makefile ] || exit 0; \ +.PHONY: maybe-info-diff info-diff +maybe-info-diff: + +info-diff: \ + configure-diff + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in autoconf" ; \ - (cd autoconf && \ + echo "Doing info in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + info) \ || exit 1 -.PHONY: maybe-mostlyclean-automake mostlyclean-automake -maybe-mostlyclean-automake: +.PHONY: maybe-dvi-diff dvi-diff +maybe-dvi-diff: -mostlyclean-automake: - @[ -f ./automake/Makefile ] || exit 0; \ +dvi-diff: \ + configure-diff + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in automake" ; \ - (cd automake && \ + echo "Doing dvi in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + dvi) \ || exit 1 -.PHONY: maybe-mostlyclean-bash mostlyclean-bash -maybe-mostlyclean-bash: +.PHONY: maybe-TAGS-diff TAGS-diff +maybe-TAGS-diff: -mostlyclean-bash: - @[ -f ./bash/Makefile ] || exit 0; \ +TAGS-diff: \ + configure-diff + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in bash" ; \ - (cd bash && \ + echo "Doing TAGS in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-mostlyclean-bfd mostlyclean-bfd -maybe-mostlyclean-bfd: +.PHONY: maybe-install-info-diff install-info-diff +maybe-install-info-diff: -mostlyclean-bfd: - @[ -f ./bfd/Makefile ] || exit 0; \ +install-info-diff: \ + configure-diff \ + info-diff + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in bfd" ; \ - (cd bfd && \ + echo "Doing install-info in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + install-info) \ || exit 1 -.PHONY: maybe-mostlyclean-opcodes mostlyclean-opcodes -maybe-mostlyclean-opcodes: +.PHONY: maybe-installcheck-diff installcheck-diff +maybe-installcheck-diff: -mostlyclean-opcodes: - @[ -f ./opcodes/Makefile ] || exit 0; \ +installcheck-diff: \ + configure-diff + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in opcodes" ; \ - (cd opcodes && \ + echo "Doing installcheck in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-mostlyclean-binutils mostlyclean-binutils -maybe-mostlyclean-binutils: +.PHONY: maybe-mostlyclean-diff mostlyclean-diff +maybe-mostlyclean-diff: -mostlyclean-binutils: - @[ -f ./binutils/Makefile ] || exit 0; \ +mostlyclean-diff: + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in binutils" ; \ - (cd binutils && \ + echo "Doing mostlyclean in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -10545,115 +5099,140 @@ mostlyclean-binutils: || exit 1 -.PHONY: maybe-mostlyclean-bison mostlyclean-bison -maybe-mostlyclean-bison: +.PHONY: maybe-clean-diff clean-diff +maybe-clean-diff: -mostlyclean-bison: - @[ -f ./bison/Makefile ] || exit 0; \ +clean-diff: + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in bison" ; \ - (cd bison && \ + echo "Doing clean in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + clean) \ || exit 1 -.PHONY: maybe-mostlyclean-byacc mostlyclean-byacc -maybe-mostlyclean-byacc: +.PHONY: maybe-distclean-diff distclean-diff +maybe-distclean-diff: -mostlyclean-byacc: - @[ -f ./byacc/Makefile ] || exit 0; \ +distclean-diff: + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in byacc" ; \ - (cd byacc && \ + echo "Doing distclean in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + distclean) \ || exit 1 -.PHONY: maybe-mostlyclean-bzip2 mostlyclean-bzip2 -maybe-mostlyclean-bzip2: +.PHONY: maybe-maintainer-clean-diff maintainer-clean-diff +maybe-maintainer-clean-diff: -mostlyclean-bzip2: - @[ -f ./bzip2/Makefile ] || exit 0; \ +maintainer-clean-diff: + @[ -f ./diff/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in bzip2" ; \ - (cd bzip2 && \ + echo "Doing maintainer-clean in diff" ; \ + (cd diff && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-mostlyclean-dejagnu mostlyclean-dejagnu -maybe-mostlyclean-dejagnu: -mostlyclean-dejagnu: - @[ -f ./dejagnu/Makefile ] || exit 0; \ +.PHONY: configure-dosutils maybe-configure-dosutils +maybe-configure-dosutils: +configure-dosutils: + @test ! -f dosutils/Makefile || exit 0; \ + [ -d dosutils ] || mkdir dosutils; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in dejagnu" ; \ - (cd dejagnu && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in dosutils; \ + cd dosutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/dosutils"; \ + libsrcdir="$$s/dosutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/dosutils"; \ + libsrcdir="$$s/dosutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-dosutils maybe-all-dosutils +maybe-all-dosutils: +all-dosutils: configure-dosutils + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-mostlyclean-diff mostlyclean-diff -maybe-mostlyclean-diff: +.PHONY: check-dosutils maybe-check-dosutils +maybe-check-dosutils: + +check-dosutils: + + +.PHONY: install-dosutils maybe-install-dosutils +maybe-install-dosutils: -mostlyclean-diff: - @[ -f ./diff/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-dosutils: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in diff" ; \ - (cd diff && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 + (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-mostlyclean-dosutils mostlyclean-dosutils -maybe-mostlyclean-dosutils: +# Other targets (info, dvi, etc.) -mostlyclean-dosutils: +.PHONY: maybe-info-dosutils info-dosutils +maybe-info-dosutils: + +info-dosutils: \ + configure-dosutils @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -10661,113 +5240,118 @@ mostlyclean-dosutils: for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in dosutils" ; \ + echo "Doing info in dosutils" ; \ (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + info) \ || exit 1 -.PHONY: maybe-mostlyclean-etc mostlyclean-etc -maybe-mostlyclean-etc: +.PHONY: maybe-dvi-dosutils dvi-dosutils +maybe-dvi-dosutils: -mostlyclean-etc: - @[ -f ./etc/Makefile ] || exit 0; \ +dvi-dosutils: \ + configure-dosutils + @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in etc" ; \ - (cd etc && \ + echo "Doing dvi in dosutils" ; \ + (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + dvi) \ || exit 1 -.PHONY: maybe-mostlyclean-fastjar mostlyclean-fastjar -maybe-mostlyclean-fastjar: +.PHONY: maybe-TAGS-dosutils TAGS-dosutils +maybe-TAGS-dosutils: -mostlyclean-fastjar: - @[ -f ./fastjar/Makefile ] || exit 0; \ +TAGS-dosutils: \ + configure-dosutils + @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in fastjar" ; \ - (cd fastjar && \ + echo "Doing TAGS in dosutils" ; \ + (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-mostlyclean-fileutils mostlyclean-fileutils -maybe-mostlyclean-fileutils: +.PHONY: maybe-install-info-dosutils install-info-dosutils +maybe-install-info-dosutils: -mostlyclean-fileutils: - @[ -f ./fileutils/Makefile ] || exit 0; \ +install-info-dosutils: \ + configure-dosutils \ + info-dosutils + @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in fileutils" ; \ - (cd fileutils && \ + echo "Doing install-info in dosutils" ; \ + (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + install-info) \ || exit 1 -.PHONY: maybe-mostlyclean-findutils mostlyclean-findutils -maybe-mostlyclean-findutils: +.PHONY: maybe-installcheck-dosutils installcheck-dosutils +maybe-installcheck-dosutils: -mostlyclean-findutils: - @[ -f ./findutils/Makefile ] || exit 0; \ +installcheck-dosutils: \ + configure-dosutils + @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in findutils" ; \ - (cd findutils && \ + echo "Doing installcheck in dosutils" ; \ + (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-mostlyclean-find mostlyclean-find -maybe-mostlyclean-find: +.PHONY: maybe-mostlyclean-dosutils mostlyclean-dosutils +maybe-mostlyclean-dosutils: -mostlyclean-find: - @[ -f ./find/Makefile ] || exit 0; \ +mostlyclean-dosutils: + @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in find" ; \ - (cd find && \ + echo "Doing mostlyclean in dosutils" ; \ + (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -10776,257 +5360,263 @@ mostlyclean-find: || exit 1 -.PHONY: maybe-mostlyclean-flex mostlyclean-flex -maybe-mostlyclean-flex: +.PHONY: maybe-clean-dosutils clean-dosutils +maybe-clean-dosutils: -mostlyclean-flex: - @[ -f ./flex/Makefile ] || exit 0; \ +clean-dosutils: + @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in flex" ; \ - (cd flex && \ + echo "Doing clean in dosutils" ; \ + (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + clean) \ || exit 1 -.PHONY: maybe-mostlyclean-gas mostlyclean-gas -maybe-mostlyclean-gas: +.PHONY: maybe-distclean-dosutils distclean-dosutils +maybe-distclean-dosutils: -mostlyclean-gas: - @[ -f ./gas/Makefile ] || exit 0; \ +distclean-dosutils: + @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gas" ; \ - (cd gas && \ + echo "Doing distclean in dosutils" ; \ + (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + distclean) \ || exit 1 -.PHONY: maybe-mostlyclean-gawk mostlyclean-gawk -maybe-mostlyclean-gawk: +.PHONY: maybe-maintainer-clean-dosutils maintainer-clean-dosutils +maybe-maintainer-clean-dosutils: -mostlyclean-gawk: - @[ -f ./gawk/Makefile ] || exit 0; \ +maintainer-clean-dosutils: + @[ -f ./dosutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gawk" ; \ - (cd gawk && \ + echo "Doing maintainer-clean in dosutils" ; \ + (cd dosutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-mostlyclean-gettext mostlyclean-gettext -maybe-mostlyclean-gettext: -mostlyclean-gettext: - @[ -f ./gettext/Makefile ] || exit 0; \ +.PHONY: configure-etc maybe-configure-etc +maybe-configure-etc: +configure-etc: + @test ! -f etc/Makefile || exit 0; \ + [ -d etc ] || mkdir etc; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in gettext" ; \ - (cd gettext && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in etc; \ + cd etc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/etc"; \ + libsrcdir="$$s/etc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/etc"; \ + libsrcdir="$$s/etc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-etc maybe-all-etc +maybe-all-etc: +all-etc: configure-etc + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd etc && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-mostlyclean-gnuserv mostlyclean-gnuserv -maybe-mostlyclean-gnuserv: +.PHONY: check-etc maybe-check-etc +maybe-check-etc: -mostlyclean-gnuserv: - @[ -f ./gnuserv/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-etc: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in gnuserv" ; \ - (cd gnuserv && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 + (cd etc && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-mostlyclean-gprof mostlyclean-gprof -maybe-mostlyclean-gprof: +.PHONY: install-etc maybe-install-etc +maybe-install-etc: -mostlyclean-gprof: - @[ -f ./gprof/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-etc: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in gprof" ; \ - (cd gprof && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 + (cd etc && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-mostlyclean-gzip mostlyclean-gzip -maybe-mostlyclean-gzip: +# Other targets (info, dvi, etc.) -mostlyclean-gzip: - @[ -f ./gzip/Makefile ] || exit 0; \ +.PHONY: maybe-info-etc info-etc +maybe-info-etc: + +info-etc: \ + configure-etc + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gzip" ; \ - (cd gzip && \ + echo "Doing info in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + info) \ || exit 1 -.PHONY: maybe-mostlyclean-hello mostlyclean-hello -maybe-mostlyclean-hello: +.PHONY: maybe-dvi-etc dvi-etc +maybe-dvi-etc: -mostlyclean-hello: - @[ -f ./hello/Makefile ] || exit 0; \ +dvi-etc: \ + configure-etc + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in hello" ; \ - (cd hello && \ + echo "Doing dvi in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + dvi) \ || exit 1 -.PHONY: maybe-mostlyclean-indent mostlyclean-indent -maybe-mostlyclean-indent: +.PHONY: maybe-TAGS-etc TAGS-etc +maybe-TAGS-etc: -mostlyclean-indent: - @[ -f ./indent/Makefile ] || exit 0; \ +TAGS-etc: \ + configure-etc + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in indent" ; \ - (cd indent && \ + echo "Doing TAGS in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-mostlyclean-intl mostlyclean-intl -maybe-mostlyclean-intl: +.PHONY: maybe-install-info-etc install-info-etc +maybe-install-info-etc: -mostlyclean-intl: - @[ -f ./intl/Makefile ] || exit 0; \ +install-info-etc: \ + configure-etc \ + info-etc + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in intl" ; \ - (cd intl && \ + echo "Doing install-info in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + install-info) \ || exit 1 -.PHONY: maybe-mostlyclean-tcl mostlyclean-tcl -maybe-mostlyclean-tcl: - -# tcl doesn't support mostlyclean. -mostlyclean-tcl: - - -.PHONY: maybe-mostlyclean-itcl mostlyclean-itcl -maybe-mostlyclean-itcl: +.PHONY: maybe-installcheck-etc installcheck-etc +maybe-installcheck-etc: -mostlyclean-itcl: - @[ -f ./itcl/Makefile ] || exit 0; \ +installcheck-etc: \ + configure-etc + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in itcl" ; \ - (cd itcl && \ + echo "Doing installcheck in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-mostlyclean-ld mostlyclean-ld -maybe-mostlyclean-ld: +.PHONY: maybe-mostlyclean-etc mostlyclean-etc +maybe-mostlyclean-etc: -mostlyclean-ld: - @[ -f ./ld/Makefile ] || exit 0; \ +mostlyclean-etc: + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in ld" ; \ - (cd ld && \ + echo "Doing mostlyclean in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -11035,187 +5625,266 @@ mostlyclean-ld: || exit 1 -.PHONY: maybe-mostlyclean-libgui mostlyclean-libgui -maybe-mostlyclean-libgui: +.PHONY: maybe-clean-etc clean-etc +maybe-clean-etc: -mostlyclean-libgui: - @[ -f ./libgui/Makefile ] || exit 0; \ +clean-etc: + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in libgui" ; \ - (cd libgui && \ + echo "Doing clean in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + clean) \ || exit 1 -.PHONY: maybe-mostlyclean-libiberty mostlyclean-libiberty -maybe-mostlyclean-libiberty: +.PHONY: maybe-distclean-etc distclean-etc +maybe-distclean-etc: -mostlyclean-libiberty: - @[ -f ./libiberty/Makefile ] || exit 0; \ +distclean-etc: + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in libiberty" ; \ - (cd libiberty && \ + echo "Doing distclean in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + distclean) \ || exit 1 -.PHONY: maybe-mostlyclean-libtool mostlyclean-libtool -maybe-mostlyclean-libtool: +.PHONY: maybe-maintainer-clean-etc maintainer-clean-etc +maybe-maintainer-clean-etc: -mostlyclean-libtool: - @[ -f ./libtool/Makefile ] || exit 0; \ +maintainer-clean-etc: + @[ -f ./etc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in libtool" ; \ - (cd libtool && \ + echo "Doing maintainer-clean in etc" ; \ + (cd etc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-mostlyclean-m4 mostlyclean-m4 -maybe-mostlyclean-m4: -mostlyclean-m4: - @[ -f ./m4/Makefile ] || exit 0; \ +.PHONY: configure-fastjar maybe-configure-fastjar +maybe-configure-fastjar: +configure-fastjar: + @test ! -f fastjar/Makefile || exit 0; \ + [ -d fastjar ] || mkdir fastjar; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in fastjar; \ + cd fastjar || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/fastjar"; \ + libsrcdir="$$s/fastjar";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/fastjar"; \ + libsrcdir="$$s/fastjar";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-fastjar maybe-all-fastjar +maybe-all-fastjar: +all-fastjar: configure-fastjar + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-fastjar maybe-check-fastjar +maybe-check-fastjar: + +# This module is only tested in a native toolchain. +check-fastjar: + @if [ '$(host)' = '$(target)' ] ; then \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) check); \ + fi + + +.PHONY: install-fastjar maybe-install-fastjar +maybe-install-fastjar: + +install-fastjar: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-fastjar info-fastjar +maybe-info-fastjar: + +info-fastjar: \ + configure-fastjar + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in m4" ; \ - (cd m4 && \ + echo "Doing info in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + info) \ || exit 1 -.PHONY: maybe-mostlyclean-make mostlyclean-make -maybe-mostlyclean-make: +.PHONY: maybe-dvi-fastjar dvi-fastjar +maybe-dvi-fastjar: -mostlyclean-make: - @[ -f ./make/Makefile ] || exit 0; \ +dvi-fastjar: \ + configure-fastjar + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in make" ; \ - (cd make && \ + echo "Doing dvi in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + dvi) \ || exit 1 -.PHONY: maybe-mostlyclean-mmalloc mostlyclean-mmalloc -maybe-mostlyclean-mmalloc: +.PHONY: maybe-TAGS-fastjar TAGS-fastjar +maybe-TAGS-fastjar: -mostlyclean-mmalloc: - @[ -f ./mmalloc/Makefile ] || exit 0; \ +TAGS-fastjar: \ + configure-fastjar + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in mmalloc" ; \ - (cd mmalloc && \ + echo "Doing TAGS in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-mostlyclean-patch mostlyclean-patch -maybe-mostlyclean-patch: +.PHONY: maybe-install-info-fastjar install-info-fastjar +maybe-install-info-fastjar: -mostlyclean-patch: - @[ -f ./patch/Makefile ] || exit 0; \ +install-info-fastjar: \ + configure-fastjar \ + info-fastjar + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in patch" ; \ - (cd patch && \ + done; \ + echo "Doing install-info in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + install-info) \ || exit 1 -.PHONY: maybe-mostlyclean-perl mostlyclean-perl -maybe-mostlyclean-perl: +.PHONY: maybe-installcheck-fastjar installcheck-fastjar +maybe-installcheck-fastjar: -mostlyclean-perl: - @[ -f ./perl/Makefile ] || exit 0; \ +installcheck-fastjar: \ + configure-fastjar + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in perl" ; \ - (cd perl && \ + echo "Doing installcheck in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-mostlyclean-prms mostlyclean-prms -maybe-mostlyclean-prms: +.PHONY: maybe-mostlyclean-fastjar mostlyclean-fastjar +maybe-mostlyclean-fastjar: -mostlyclean-prms: - @[ -f ./prms/Makefile ] || exit 0; \ +mostlyclean-fastjar: + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in prms" ; \ - (cd prms && \ + echo "Doing mostlyclean in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -11224,187 +5893,263 @@ mostlyclean-prms: || exit 1 -.PHONY: maybe-mostlyclean-rcs mostlyclean-rcs -maybe-mostlyclean-rcs: +.PHONY: maybe-clean-fastjar clean-fastjar +maybe-clean-fastjar: -mostlyclean-rcs: - @[ -f ./rcs/Makefile ] || exit 0; \ +clean-fastjar: + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in rcs" ; \ - (cd rcs && \ + echo "Doing clean in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + clean) \ || exit 1 -.PHONY: maybe-mostlyclean-readline mostlyclean-readline -maybe-mostlyclean-readline: +.PHONY: maybe-distclean-fastjar distclean-fastjar +maybe-distclean-fastjar: -mostlyclean-readline: - @[ -f ./readline/Makefile ] || exit 0; \ +distclean-fastjar: + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in readline" ; \ - (cd readline && \ + echo "Doing distclean in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + distclean) \ || exit 1 -.PHONY: maybe-mostlyclean-release mostlyclean-release -maybe-mostlyclean-release: +.PHONY: maybe-maintainer-clean-fastjar maintainer-clean-fastjar +maybe-maintainer-clean-fastjar: -mostlyclean-release: - @[ -f ./release/Makefile ] || exit 0; \ +maintainer-clean-fastjar: + @[ -f ./fastjar/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in release" ; \ - (cd release && \ + echo "Doing maintainer-clean in fastjar" ; \ + (cd fastjar && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-mostlyclean-recode mostlyclean-recode -maybe-mostlyclean-recode: -mostlyclean-recode: - @[ -f ./recode/Makefile ] || exit 0; \ +.PHONY: configure-fileutils maybe-configure-fileutils +maybe-configure-fileutils: +configure-fileutils: + @test ! -f fileutils/Makefile || exit 0; \ + [ -d fileutils ] || mkdir fileutils; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in fileutils; \ + cd fileutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/fileutils"; \ + libsrcdir="$$s/fileutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/fileutils"; \ + libsrcdir="$$s/fileutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-fileutils maybe-all-fileutils +maybe-all-fileutils: +all-fileutils: configure-fileutils + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-fileutils maybe-check-fileutils +maybe-check-fileutils: + +check-fileutils: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-fileutils maybe-install-fileutils +maybe-install-fileutils: + +install-fileutils: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-fileutils info-fileutils +maybe-info-fileutils: + +info-fileutils: \ + configure-fileutils + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in recode" ; \ - (cd recode && \ + echo "Doing info in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + info) \ || exit 1 -.PHONY: maybe-mostlyclean-sed mostlyclean-sed -maybe-mostlyclean-sed: +.PHONY: maybe-dvi-fileutils dvi-fileutils +maybe-dvi-fileutils: -mostlyclean-sed: - @[ -f ./sed/Makefile ] || exit 0; \ +dvi-fileutils: \ + configure-fileutils + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in sed" ; \ - (cd sed && \ + echo "Doing dvi in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + dvi) \ || exit 1 -.PHONY: maybe-mostlyclean-send-pr mostlyclean-send-pr -maybe-mostlyclean-send-pr: +.PHONY: maybe-TAGS-fileutils TAGS-fileutils +maybe-TAGS-fileutils: -mostlyclean-send-pr: - @[ -f ./send-pr/Makefile ] || exit 0; \ +TAGS-fileutils: \ + configure-fileutils + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in send-pr" ; \ - (cd send-pr && \ + echo "Doing TAGS in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-mostlyclean-shellutils mostlyclean-shellutils -maybe-mostlyclean-shellutils: +.PHONY: maybe-install-info-fileutils install-info-fileutils +maybe-install-info-fileutils: -mostlyclean-shellutils: - @[ -f ./shellutils/Makefile ] || exit 0; \ +install-info-fileutils: \ + configure-fileutils \ + info-fileutils + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in shellutils" ; \ - (cd shellutils && \ + echo "Doing install-info in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + install-info) \ || exit 1 -.PHONY: maybe-mostlyclean-sid mostlyclean-sid -maybe-mostlyclean-sid: +.PHONY: maybe-installcheck-fileutils installcheck-fileutils +maybe-installcheck-fileutils: -mostlyclean-sid: - @[ -f ./sid/Makefile ] || exit 0; \ +installcheck-fileutils: \ + configure-fileutils + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in sid" ; \ - (cd sid && \ + echo "Doing installcheck in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-mostlyclean-sim mostlyclean-sim -maybe-mostlyclean-sim: +.PHONY: maybe-mostlyclean-fileutils mostlyclean-fileutils +maybe-mostlyclean-fileutils: -mostlyclean-sim: - @[ -f ./sim/Makefile ] || exit 0; \ +mostlyclean-fileutils: + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in sim" ; \ - (cd sim && \ + echo "Doing mostlyclean in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -11413,187 +6158,263 @@ mostlyclean-sim: || exit 1 -.PHONY: maybe-mostlyclean-tar mostlyclean-tar -maybe-mostlyclean-tar: +.PHONY: maybe-clean-fileutils clean-fileutils +maybe-clean-fileutils: -mostlyclean-tar: - @[ -f ./tar/Makefile ] || exit 0; \ +clean-fileutils: + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in tar" ; \ - (cd tar && \ + echo "Doing clean in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + clean) \ || exit 1 -.PHONY: maybe-mostlyclean-texinfo mostlyclean-texinfo -maybe-mostlyclean-texinfo: +.PHONY: maybe-distclean-fileutils distclean-fileutils +maybe-distclean-fileutils: -mostlyclean-texinfo: - @[ -f ./texinfo/Makefile ] || exit 0; \ +distclean-fileutils: + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in texinfo" ; \ - (cd texinfo && \ + done; \ + echo "Doing distclean in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + distclean) \ || exit 1 -.PHONY: maybe-mostlyclean-textutils mostlyclean-textutils -maybe-mostlyclean-textutils: +.PHONY: maybe-maintainer-clean-fileutils maintainer-clean-fileutils +maybe-maintainer-clean-fileutils: -mostlyclean-textutils: - @[ -f ./textutils/Makefile ] || exit 0; \ +maintainer-clean-fileutils: + @[ -f ./fileutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in textutils" ; \ - (cd textutils && \ + echo "Doing maintainer-clean in fileutils" ; \ + (cd fileutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-mostlyclean-time mostlyclean-time -maybe-mostlyclean-time: -mostlyclean-time: - @[ -f ./time/Makefile ] || exit 0; \ +.PHONY: configure-findutils maybe-configure-findutils +maybe-configure-findutils: +configure-findutils: + @test ! -f findutils/Makefile || exit 0; \ + [ -d findutils ] || mkdir findutils; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in findutils; \ + cd findutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/findutils"; \ + libsrcdir="$$s/findutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/findutils"; \ + libsrcdir="$$s/findutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-findutils maybe-all-findutils +maybe-all-findutils: +all-findutils: configure-findutils + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd findutils && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-findutils maybe-check-findutils +maybe-check-findutils: + +check-findutils: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd findutils && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-findutils maybe-install-findutils +maybe-install-findutils: + +install-findutils: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd findutils && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-findutils info-findutils +maybe-info-findutils: + +info-findutils: \ + configure-findutils + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in time" ; \ - (cd time && \ + echo "Doing info in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + info) \ || exit 1 -.PHONY: maybe-mostlyclean-uudecode mostlyclean-uudecode -maybe-mostlyclean-uudecode: +.PHONY: maybe-dvi-findutils dvi-findutils +maybe-dvi-findutils: -mostlyclean-uudecode: - @[ -f ./uudecode/Makefile ] || exit 0; \ +dvi-findutils: \ + configure-findutils + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in uudecode" ; \ - (cd uudecode && \ + echo "Doing dvi in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + dvi) \ || exit 1 -.PHONY: maybe-mostlyclean-wdiff mostlyclean-wdiff -maybe-mostlyclean-wdiff: +.PHONY: maybe-TAGS-findutils TAGS-findutils +maybe-TAGS-findutils: -mostlyclean-wdiff: - @[ -f ./wdiff/Makefile ] || exit 0; \ +TAGS-findutils: \ + configure-findutils + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in wdiff" ; \ - (cd wdiff && \ + echo "Doing TAGS in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-mostlyclean-zip mostlyclean-zip -maybe-mostlyclean-zip: +.PHONY: maybe-install-info-findutils install-info-findutils +maybe-install-info-findutils: -mostlyclean-zip: - @[ -f ./zip/Makefile ] || exit 0; \ +install-info-findutils: \ + configure-findutils \ + info-findutils + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in zip" ; \ - (cd zip && \ + echo "Doing install-info in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + install-info) \ || exit 1 -.PHONY: maybe-mostlyclean-zlib mostlyclean-zlib -maybe-mostlyclean-zlib: +.PHONY: maybe-installcheck-findutils installcheck-findutils +maybe-installcheck-findutils: -mostlyclean-zlib: - @[ -f ./zlib/Makefile ] || exit 0; \ +installcheck-findutils: \ + configure-findutils + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in zlib" ; \ - (cd zlib && \ + echo "Doing installcheck in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-mostlyclean-gdb mostlyclean-gdb -maybe-mostlyclean-gdb: +.PHONY: maybe-mostlyclean-findutils mostlyclean-findutils +maybe-mostlyclean-findutils: -mostlyclean-gdb: - @[ -f ./gdb/Makefile ] || exit 0; \ +mostlyclean-findutils: + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gdb" ; \ - (cd gdb && \ + echo "Doing mostlyclean in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -11602,225 +6423,263 @@ mostlyclean-gdb: || exit 1 -.PHONY: maybe-mostlyclean-expect mostlyclean-expect -maybe-mostlyclean-expect: +.PHONY: maybe-clean-findutils clean-findutils +maybe-clean-findutils: -mostlyclean-expect: - @[ -f ./expect/Makefile ] || exit 0; \ +clean-findutils: + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in expect" ; \ - (cd expect && \ + echo "Doing clean in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + clean) \ || exit 1 -.PHONY: maybe-mostlyclean-guile mostlyclean-guile -maybe-mostlyclean-guile: +.PHONY: maybe-distclean-findutils distclean-findutils +maybe-distclean-findutils: -mostlyclean-guile: - @[ -f ./guile/Makefile ] || exit 0; \ +distclean-findutils: + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in guile" ; \ - (cd guile && \ + echo "Doing distclean in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + distclean) \ || exit 1 -.PHONY: maybe-mostlyclean-tk mostlyclean-tk -maybe-mostlyclean-tk: +.PHONY: maybe-maintainer-clean-findutils maintainer-clean-findutils +maybe-maintainer-clean-findutils: -mostlyclean-tk: - @[ -f ./tk/Makefile ] || exit 0; \ +maintainer-clean-findutils: + @[ -f ./findutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in tk" ; \ - (cd tk && \ + echo "Doing maintainer-clean in findutils" ; \ + (cd findutils && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-find maybe-configure-find +maybe-configure-find: +configure-find: + @test ! -f find/Makefile || exit 0; \ + [ -d find ] || mkdir find; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in find; \ + cd find || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/find"; \ + libsrcdir="$$s/find";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/find"; \ + libsrcdir="$$s/find";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-find maybe-all-find +maybe-all-find: +all-find: configure-find + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd find && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-mostlyclean-tix mostlyclean-tix -maybe-mostlyclean-tix: +.PHONY: check-find maybe-check-find +maybe-check-find: -mostlyclean-tix: - @[ -f ./tix/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-find: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in tix" ; \ - (cd tix && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 + (cd find && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-mostlyclean-libtermcap mostlyclean-libtermcap -maybe-mostlyclean-libtermcap: +.PHONY: install-find maybe-install-find +maybe-install-find: -# libtermcap doesn't support mostlyclean. -mostlyclean-libtermcap: +install-find: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd find && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-mostlyclean-utils mostlyclean-utils -maybe-mostlyclean-utils: +# Other targets (info, dvi, etc.) -mostlyclean-utils: - @[ -f ./utils/Makefile ] || exit 0; \ +.PHONY: maybe-info-find info-find +maybe-info-find: + +info-find: \ + configure-find + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in utils" ; \ - (cd utils && \ + echo "Doing info in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + info) \ || exit 1 +.PHONY: maybe-dvi-find dvi-find +maybe-dvi-find: -# Target modules. - -.PHONY: maybe-mostlyclean-target-libstdc++-v3 mostlyclean-target-libstdc++-v3 -maybe-mostlyclean-target-libstdc++-v3: - -mostlyclean-target-libstdc++-v3: - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ +dvi-find: \ + configure-find + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + echo "Doing dvi in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + dvi) \ || exit 1 -.PHONY: maybe-mostlyclean-target-newlib mostlyclean-target-newlib -maybe-mostlyclean-target-newlib: +.PHONY: maybe-TAGS-find TAGS-find +maybe-TAGS-find: -mostlyclean-target-newlib: - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ +TAGS-find: \ + configure-find + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/newlib && \ + echo "Doing TAGS in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-mostlyclean-target-libf2c mostlyclean-target-libf2c -maybe-mostlyclean-target-libf2c: +.PHONY: maybe-install-info-find install-info-find +maybe-install-info-find: -mostlyclean-target-libf2c: - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ +install-info-find: \ + configure-find \ + info-find + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ + echo "Doing install-info in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + install-info) \ || exit 1 -.PHONY: maybe-mostlyclean-target-libobjc mostlyclean-target-libobjc -maybe-mostlyclean-target-libobjc: +.PHONY: maybe-installcheck-find installcheck-find +maybe-installcheck-find: -mostlyclean-target-libobjc: - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ +installcheck-find: \ + configure-find + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ + echo "Doing installcheck in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-mostlyclean-target-libtermcap mostlyclean-target-libtermcap -maybe-mostlyclean-target-libtermcap: - -# libtermcap doesn't support mostlyclean. -mostlyclean-target-libtermcap: - - -.PHONY: maybe-mostlyclean-target-winsup mostlyclean-target-winsup -maybe-mostlyclean-target-winsup: +.PHONY: maybe-mostlyclean-find mostlyclean-find +maybe-mostlyclean-find: -mostlyclean-target-winsup: - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ +mostlyclean-find: + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/winsup && \ + echo "Doing mostlyclean in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -11829,363 +6688,287 @@ mostlyclean-target-winsup: || exit 1 -.PHONY: maybe-mostlyclean-target-libgloss mostlyclean-target-libgloss -maybe-mostlyclean-target-libgloss: +.PHONY: maybe-clean-find clean-find +maybe-clean-find: -mostlyclean-target-libgloss: - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ +clean-find: + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ + echo "Doing clean in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + clean) \ || exit 1 -.PHONY: maybe-mostlyclean-target-libiberty mostlyclean-target-libiberty -maybe-mostlyclean-target-libiberty: +.PHONY: maybe-distclean-find distclean-find +maybe-distclean-find: -mostlyclean-target-libiberty: - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ +distclean-find: + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ + echo "Doing distclean in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + distclean) \ || exit 1 -.PHONY: maybe-mostlyclean-target-gperf mostlyclean-target-gperf -maybe-mostlyclean-target-gperf: +.PHONY: maybe-maintainer-clean-find maintainer-clean-find +maybe-maintainer-clean-find: -mostlyclean-target-gperf: - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ +maintainer-clean-find: + @[ -f ./find/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/gperf && \ + echo "Doing maintainer-clean in find" ; \ + (cd find && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-mostlyclean-target-examples mostlyclean-target-examples -maybe-mostlyclean-target-examples: -mostlyclean-target-examples: - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ +.PHONY: configure-flex maybe-configure-flex +maybe-configure-flex: +configure-flex: + @test ! -f flex/Makefile || exit 0; \ + [ -d flex ] || mkdir flex; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/examples && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in flex; \ + cd flex || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/flex"; \ + libsrcdir="$$s/flex";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/flex"; \ + libsrcdir="$$s/flex";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 - -.PHONY: maybe-mostlyclean-target-libffi mostlyclean-target-libffi -maybe-mostlyclean-target-libffi: - -mostlyclean-target-libffi: - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-flex maybe-all-flex +maybe-all-flex: +all-flex: configure-flex + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libffi && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 + (cd flex && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-flex maybe-check-flex +maybe-check-flex: +# This module is only tested in a native toolchain. +check-flex: + @if [ '$(host)' = '$(target)' ] ; then \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd flex && $(MAKE) $(FLAGS_TO_PASS) check); \ + fi -.PHONY: maybe-mostlyclean-target-libjava mostlyclean-target-libjava -maybe-mostlyclean-target-libjava: -mostlyclean-target-libjava: - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ +.PHONY: install-flex maybe-install-flex +maybe-install-flex: + +install-flex: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 + (cd flex && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-mostlyclean-target-zlib mostlyclean-target-zlib -maybe-mostlyclean-target-zlib: +# Other targets (info, dvi, etc.) -mostlyclean-target-zlib: - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ +.PHONY: maybe-info-flex info-flex +maybe-info-flex: + +info-flex: \ + configure-flex + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/zlib && \ + echo "Doing info in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + info) \ || exit 1 -.PHONY: maybe-mostlyclean-target-boehm-gc mostlyclean-target-boehm-gc -maybe-mostlyclean-target-boehm-gc: +.PHONY: maybe-dvi-flex dvi-flex +maybe-dvi-flex: -mostlyclean-target-boehm-gc: - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ +dvi-flex: \ + configure-flex + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ + echo "Doing dvi in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + dvi) \ || exit 1 -.PHONY: maybe-mostlyclean-target-qthreads mostlyclean-target-qthreads -maybe-mostlyclean-target-qthreads: +.PHONY: maybe-TAGS-flex TAGS-flex +maybe-TAGS-flex: -mostlyclean-target-qthreads: - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ +TAGS-flex: \ + configure-flex + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ + echo "Doing TAGS in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-mostlyclean-target-rda mostlyclean-target-rda -maybe-mostlyclean-target-rda: +.PHONY: maybe-install-info-flex install-info-flex +maybe-install-info-flex: -mostlyclean-target-rda: - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ +install-info-flex: \ + configure-flex \ + info-flex + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/rda && \ + echo "Doing install-info in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + install-info) \ || exit 1 -.PHONY: maybe-mostlyclean-target-libada mostlyclean-target-libada -maybe-mostlyclean-target-libada: +.PHONY: maybe-installcheck-flex installcheck-flex +maybe-installcheck-flex: -mostlyclean-target-libada: - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ +installcheck-flex: \ + configure-flex + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libada && \ + echo "Doing installcheck in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + installcheck) \ || exit 1 +.PHONY: maybe-mostlyclean-flex mostlyclean-flex +maybe-mostlyclean-flex: -.PHONY: do-clean -do-clean: clean-host clean-target - -.PHONY: clean-host -clean-host: maybe-clean-gcc \ - maybe-clean-ash \ - maybe-clean-autoconf \ - maybe-clean-automake \ - maybe-clean-bash \ - maybe-clean-bfd \ - maybe-clean-opcodes \ - maybe-clean-binutils \ - maybe-clean-bison \ - maybe-clean-byacc \ - maybe-clean-bzip2 \ - maybe-clean-dejagnu \ - maybe-clean-diff \ - maybe-clean-dosutils \ - maybe-clean-etc \ - maybe-clean-fastjar \ - maybe-clean-fileutils \ - maybe-clean-findutils \ - maybe-clean-find \ - maybe-clean-flex \ - maybe-clean-gas \ - maybe-clean-gawk \ - maybe-clean-gettext \ - maybe-clean-gnuserv \ - maybe-clean-gprof \ - maybe-clean-gzip \ - maybe-clean-hello \ - maybe-clean-indent \ - maybe-clean-intl \ - maybe-clean-tcl \ - maybe-clean-itcl \ - maybe-clean-ld \ - maybe-clean-libgui \ - maybe-clean-libiberty \ - maybe-clean-libtool \ - maybe-clean-m4 \ - maybe-clean-make \ - maybe-clean-mmalloc \ - maybe-clean-patch \ - maybe-clean-perl \ - maybe-clean-prms \ - maybe-clean-rcs \ - maybe-clean-readline \ - maybe-clean-release \ - maybe-clean-recode \ - maybe-clean-sed \ - maybe-clean-send-pr \ - maybe-clean-shellutils \ - maybe-clean-sid \ - maybe-clean-sim \ - maybe-clean-tar \ - maybe-clean-texinfo \ - maybe-clean-textutils \ - maybe-clean-time \ - maybe-clean-uudecode \ - maybe-clean-wdiff \ - maybe-clean-zip \ - maybe-clean-zlib \ - maybe-clean-gdb \ - maybe-clean-expect \ - maybe-clean-guile \ - maybe-clean-tk \ - maybe-clean-tix \ - maybe-clean-libtermcap \ - maybe-clean-utils - -.PHONY: clean-target -clean-target: \ - maybe-clean-target-libstdc++-v3 \ - maybe-clean-target-newlib \ - maybe-clean-target-libf2c \ - maybe-clean-target-libobjc \ - maybe-clean-target-libtermcap \ - maybe-clean-target-winsup \ - maybe-clean-target-libgloss \ - maybe-clean-target-libiberty \ - maybe-clean-target-gperf \ - maybe-clean-target-examples \ - maybe-clean-target-libffi \ - maybe-clean-target-libjava \ - maybe-clean-target-zlib \ - maybe-clean-target-boehm-gc \ - maybe-clean-target-qthreads \ - maybe-clean-target-rda \ - maybe-clean-target-libada - -# GCC, the eternal special case -.PHONY: maybe-clean-gcc clean-gcc -maybe-clean-gcc: -clean-gcc: - @[ -f ./gcc/Makefile ] || exit 0; \ +mostlyclean-flex: + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gcc" ; \ - (cd gcc && \ + echo "Doing mostlyclean in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + mostlyclean) \ || exit 1 -# Host modules. -.PHONY: maybe-clean-ash clean-ash -maybe-clean-ash: +.PHONY: maybe-clean-flex clean-flex +maybe-clean-flex: -clean-ash: - @[ -f ./ash/Makefile ] || exit 0; \ +clean-flex: + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in ash" ; \ - (cd ash && \ + echo "Doing clean in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -12194,187 +6977,263 @@ clean-ash: || exit 1 -.PHONY: maybe-clean-autoconf clean-autoconf -maybe-clean-autoconf: +.PHONY: maybe-distclean-flex distclean-flex +maybe-distclean-flex: -clean-autoconf: - @[ -f ./autoconf/Makefile ] || exit 0; \ +distclean-flex: + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in autoconf" ; \ - (cd autoconf && \ + echo "Doing distclean in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + distclean) \ || exit 1 -.PHONY: maybe-clean-automake clean-automake -maybe-clean-automake: +.PHONY: maybe-maintainer-clean-flex maintainer-clean-flex +maybe-maintainer-clean-flex: -clean-automake: - @[ -f ./automake/Makefile ] || exit 0; \ +maintainer-clean-flex: + @[ -f ./flex/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in automake" ; \ - (cd automake && \ + echo "Doing maintainer-clean in flex" ; \ + (cd flex && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-clean-bash clean-bash -maybe-clean-bash: -clean-bash: - @[ -f ./bash/Makefile ] || exit 0; \ +.PHONY: configure-gas maybe-configure-gas +maybe-configure-gas: +configure-gas: + @test ! -f gas/Makefile || exit 0; \ + [ -d gas ] || mkdir gas; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in gas; \ + cd gas || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-gas maybe-all-gas +maybe-all-gas: +all-gas: configure-gas + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gas && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-gas maybe-check-gas +maybe-check-gas: + +check-gas: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gas && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-gas maybe-install-gas +maybe-install-gas: + +install-gas: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gas && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-gas info-gas +maybe-info-gas: + +info-gas: \ + configure-gas + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in bash" ; \ - (cd bash && \ + echo "Doing info in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + info) \ || exit 1 -.PHONY: maybe-clean-bfd clean-bfd -maybe-clean-bfd: +.PHONY: maybe-dvi-gas dvi-gas +maybe-dvi-gas: -clean-bfd: - @[ -f ./bfd/Makefile ] || exit 0; \ +dvi-gas: \ + configure-gas + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in bfd" ; \ - (cd bfd && \ + echo "Doing dvi in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + dvi) \ || exit 1 -.PHONY: maybe-clean-opcodes clean-opcodes -maybe-clean-opcodes: +.PHONY: maybe-TAGS-gas TAGS-gas +maybe-TAGS-gas: -clean-opcodes: - @[ -f ./opcodes/Makefile ] || exit 0; \ +TAGS-gas: \ + configure-gas + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in opcodes" ; \ - (cd opcodes && \ + echo "Doing TAGS in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-clean-binutils clean-binutils -maybe-clean-binutils: +.PHONY: maybe-install-info-gas install-info-gas +maybe-install-info-gas: -clean-binutils: - @[ -f ./binutils/Makefile ] || exit 0; \ +install-info-gas: \ + configure-gas \ + info-gas + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in binutils" ; \ - (cd binutils && \ + echo "Doing install-info in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + install-info) \ || exit 1 -.PHONY: maybe-clean-bison clean-bison -maybe-clean-bison: +.PHONY: maybe-installcheck-gas installcheck-gas +maybe-installcheck-gas: -clean-bison: - @[ -f ./bison/Makefile ] || exit 0; \ +installcheck-gas: \ + configure-gas + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in bison" ; \ - (cd bison && \ + echo "Doing installcheck in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-clean-byacc clean-byacc -maybe-clean-byacc: +.PHONY: maybe-mostlyclean-gas mostlyclean-gas +maybe-mostlyclean-gas: -clean-byacc: - @[ -f ./byacc/Makefile ] || exit 0; \ +mostlyclean-gas: + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in byacc" ; \ - (cd byacc && \ + echo "Doing mostlyclean in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-clean-bzip2 clean-bzip2 -maybe-clean-bzip2: +.PHONY: maybe-clean-gas clean-gas +maybe-clean-gas: -clean-bzip2: - @[ -f ./bzip2/Makefile ] || exit 0; \ +clean-gas: + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in bzip2" ; \ - (cd bzip2 && \ + echo "Doing clean in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -12383,213 +7242,247 @@ clean-bzip2: || exit 1 -.PHONY: maybe-clean-dejagnu clean-dejagnu -maybe-clean-dejagnu: +.PHONY: maybe-distclean-gas distclean-gas +maybe-distclean-gas: -clean-dejagnu: - @[ -f ./dejagnu/Makefile ] || exit 0; \ +distclean-gas: + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in dejagnu" ; \ - (cd dejagnu && \ + echo "Doing distclean in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + distclean) \ || exit 1 -.PHONY: maybe-clean-diff clean-diff -maybe-clean-diff: +.PHONY: maybe-maintainer-clean-gas maintainer-clean-gas +maybe-maintainer-clean-gas: -clean-diff: - @[ -f ./diff/Makefile ] || exit 0; \ +maintainer-clean-gas: + @[ -f ./gas/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in diff" ; \ - (cd diff && \ + echo "Doing maintainer-clean in gas" ; \ + (cd gas && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-gawk maybe-configure-gawk +maybe-configure-gawk: +configure-gawk: + @test ! -f gawk/Makefile || exit 0; \ + [ -d gawk ] || mkdir gawk; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in gawk; \ + cd gawk || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gawk"; \ + libsrcdir="$$s/gawk";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gawk"; \ + libsrcdir="$$s/gawk";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-gawk maybe-all-gawk +maybe-all-gawk: +all-gawk: configure-gawk + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gawk && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-clean-dosutils clean-dosutils -maybe-clean-dosutils: +.PHONY: check-gawk maybe-check-gawk +maybe-check-gawk: -clean-dosutils: - @[ -f ./dosutils/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-gawk: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in dosutils" ; \ - (cd dosutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + (cd gawk && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-clean-etc clean-etc -maybe-clean-etc: +.PHONY: install-gawk maybe-install-gawk +maybe-install-gawk: -clean-etc: - @[ -f ./etc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-gawk: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in etc" ; \ - (cd etc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + (cd gawk && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-clean-fastjar clean-fastjar -maybe-clean-fastjar: +# Other targets (info, dvi, etc.) -clean-fastjar: - @[ -f ./fastjar/Makefile ] || exit 0; \ +.PHONY: maybe-info-gawk info-gawk +maybe-info-gawk: + +info-gawk: \ + configure-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in fastjar" ; \ - (cd fastjar && \ + echo "Doing info in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + info) \ || exit 1 -.PHONY: maybe-clean-fileutils clean-fileutils -maybe-clean-fileutils: +.PHONY: maybe-dvi-gawk dvi-gawk +maybe-dvi-gawk: -clean-fileutils: - @[ -f ./fileutils/Makefile ] || exit 0; \ +dvi-gawk: \ + configure-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in fileutils" ; \ - (cd fileutils && \ + echo "Doing dvi in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + dvi) \ || exit 1 -.PHONY: maybe-clean-findutils clean-findutils -maybe-clean-findutils: +.PHONY: maybe-TAGS-gawk TAGS-gawk +maybe-TAGS-gawk: -clean-findutils: - @[ -f ./findutils/Makefile ] || exit 0; \ +TAGS-gawk: \ + configure-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in findutils" ; \ - (cd findutils && \ + echo "Doing TAGS in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-clean-find clean-find -maybe-clean-find: +.PHONY: maybe-install-info-gawk install-info-gawk +maybe-install-info-gawk: -clean-find: - @[ -f ./find/Makefile ] || exit 0; \ +install-info-gawk: \ + configure-gawk \ + info-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in find" ; \ - (cd find && \ + echo "Doing install-info in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + install-info) \ || exit 1 -.PHONY: maybe-clean-flex clean-flex -maybe-clean-flex: +.PHONY: maybe-installcheck-gawk installcheck-gawk +maybe-installcheck-gawk: -clean-flex: - @[ -f ./flex/Makefile ] || exit 0; \ +installcheck-gawk: \ + configure-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in flex" ; \ - (cd flex && \ + echo "Doing installcheck in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-clean-gas clean-gas -maybe-clean-gas: +.PHONY: maybe-mostlyclean-gawk mostlyclean-gawk +maybe-mostlyclean-gawk: -clean-gas: - @[ -f ./gas/Makefile ] || exit 0; \ +mostlyclean-gawk: + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gas" ; \ - (cd gas && \ + echo "Doing mostlyclean in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + mostlyclean) \ || exit 1 @@ -12614,250 +7507,263 @@ clean-gawk: || exit 1 -.PHONY: maybe-clean-gettext clean-gettext -maybe-clean-gettext: +.PHONY: maybe-distclean-gawk distclean-gawk +maybe-distclean-gawk: -clean-gettext: - @[ -f ./gettext/Makefile ] || exit 0; \ +distclean-gawk: + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gettext" ; \ - (cd gettext && \ + echo "Doing distclean in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + distclean) \ || exit 1 -.PHONY: maybe-clean-gnuserv clean-gnuserv -maybe-clean-gnuserv: +.PHONY: maybe-maintainer-clean-gawk maintainer-clean-gawk +maybe-maintainer-clean-gawk: -clean-gnuserv: - @[ -f ./gnuserv/Makefile ] || exit 0; \ +maintainer-clean-gawk: + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing maintainer-clean in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-clean-gprof clean-gprof -maybe-clean-gprof: -clean-gprof: - @[ -f ./gprof/Makefile ] || exit 0; \ +.PHONY: configure-gettext maybe-configure-gettext +maybe-configure-gettext: +configure-gettext: + @test ! -f gettext/Makefile || exit 0; \ + [ -d gettext ] || mkdir gettext; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in gprof" ; \ - (cd gprof && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in gettext; \ + cd gettext || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gettext"; \ + libsrcdir="$$s/gettext";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gettext"; \ + libsrcdir="$$s/gettext";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 - -.PHONY: maybe-clean-gzip clean-gzip -maybe-clean-gzip: - -clean-gzip: - @[ -f ./gzip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-gettext maybe-all-gettext +maybe-all-gettext: +all-gettext: configure-gettext + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in gzip" ; \ - (cd gzip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + (cd gettext && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-gettext maybe-check-gettext +maybe-check-gettext: + +check-gettext: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gettext && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-clean-hello clean-hello -maybe-clean-hello: +.PHONY: install-gettext maybe-install-gettext +maybe-install-gettext: -clean-hello: - @[ -f ./hello/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-gettext: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in hello" ; \ - (cd hello && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + (cd gettext && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-clean-indent clean-indent -maybe-clean-indent: +# Other targets (info, dvi, etc.) -clean-indent: - @[ -f ./indent/Makefile ] || exit 0; \ +.PHONY: maybe-info-gettext info-gettext +maybe-info-gettext: + +info-gettext: \ + configure-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in indent" ; \ - (cd indent && \ + echo "Doing info in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + info) \ || exit 1 -.PHONY: maybe-clean-intl clean-intl -maybe-clean-intl: +.PHONY: maybe-dvi-gettext dvi-gettext +maybe-dvi-gettext: -clean-intl: - @[ -f ./intl/Makefile ] || exit 0; \ +dvi-gettext: \ + configure-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in intl" ; \ - (cd intl && \ + echo "Doing dvi in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + dvi) \ || exit 1 -.PHONY: maybe-clean-tcl clean-tcl -maybe-clean-tcl: +.PHONY: maybe-TAGS-gettext TAGS-gettext +maybe-TAGS-gettext: -clean-tcl: - @[ -f ./tcl/Makefile ] || exit 0; \ +TAGS-gettext: \ + configure-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in tcl" ; \ - (cd tcl && \ + echo "Doing TAGS in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-clean-itcl clean-itcl -maybe-clean-itcl: +.PHONY: maybe-install-info-gettext install-info-gettext +maybe-install-info-gettext: -clean-itcl: - @[ -f ./itcl/Makefile ] || exit 0; \ +install-info-gettext: \ + configure-gettext \ + info-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in itcl" ; \ - (cd itcl && \ + echo "Doing install-info in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + install-info) \ || exit 1 -.PHONY: maybe-clean-ld clean-ld -maybe-clean-ld: +.PHONY: maybe-installcheck-gettext installcheck-gettext +maybe-installcheck-gettext: -clean-ld: - @[ -f ./ld/Makefile ] || exit 0; \ +installcheck-gettext: \ + configure-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in ld" ; \ - (cd ld && \ + echo "Doing installcheck in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-clean-libgui clean-libgui -maybe-clean-libgui: +.PHONY: maybe-mostlyclean-gettext mostlyclean-gettext +maybe-mostlyclean-gettext: -clean-libgui: - @[ -f ./libgui/Makefile ] || exit 0; \ +mostlyclean-gettext: + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in libgui" ; \ - (cd libgui && \ + echo "Doing mostlyclean in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-clean-libiberty clean-libiberty -maybe-clean-libiberty: +.PHONY: maybe-clean-gettext clean-gettext +maybe-clean-gettext: -clean-libiberty: - @[ -f ./libiberty/Makefile ] || exit 0; \ +clean-gettext: + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in libiberty" ; \ - (cd libiberty && \ + echo "Doing clean in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -12866,250 +7772,263 @@ clean-libiberty: || exit 1 -.PHONY: maybe-clean-libtool clean-libtool -maybe-clean-libtool: +.PHONY: maybe-distclean-gettext distclean-gettext +maybe-distclean-gettext: -clean-libtool: - @[ -f ./libtool/Makefile ] || exit 0; \ +distclean-gettext: + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in libtool" ; \ - (cd libtool && \ + echo "Doing distclean in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + distclean) \ || exit 1 -.PHONY: maybe-clean-m4 clean-m4 -maybe-clean-m4: +.PHONY: maybe-maintainer-clean-gettext maintainer-clean-gettext +maybe-maintainer-clean-gettext: -clean-m4: - @[ -f ./m4/Makefile ] || exit 0; \ +maintainer-clean-gettext: + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in m4" ; \ - (cd m4 && \ + echo "Doing maintainer-clean in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-clean-make clean-make -maybe-clean-make: -clean-make: - @[ -f ./make/Makefile ] || exit 0; \ +.PHONY: configure-gnuserv maybe-configure-gnuserv +maybe-configure-gnuserv: +configure-gnuserv: + @test ! -f gnuserv/Makefile || exit 0; \ + [ -d gnuserv ] || mkdir gnuserv; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in make" ; \ - (cd make && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in gnuserv; \ + cd gnuserv || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gnuserv"; \ + libsrcdir="$$s/gnuserv";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gnuserv"; \ + libsrcdir="$$s/gnuserv";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-gnuserv maybe-all-gnuserv +maybe-all-gnuserv: +all-gnuserv: configure-gnuserv + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-clean-mmalloc clean-mmalloc -maybe-clean-mmalloc: +.PHONY: check-gnuserv maybe-check-gnuserv +maybe-check-gnuserv: -clean-mmalloc: - @[ -f ./mmalloc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-gnuserv: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in mmalloc" ; \ - (cd mmalloc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-clean-patch clean-patch -maybe-clean-patch: +.PHONY: install-gnuserv maybe-install-gnuserv +maybe-install-gnuserv: -clean-patch: - @[ -f ./patch/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-gnuserv: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in patch" ; \ - (cd patch && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-clean-perl clean-perl -maybe-clean-perl: +# Other targets (info, dvi, etc.) -clean-perl: - @[ -f ./perl/Makefile ] || exit 0; \ +.PHONY: maybe-info-gnuserv info-gnuserv +maybe-info-gnuserv: + +info-gnuserv: \ + configure-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in perl" ; \ - (cd perl && \ + echo "Doing info in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + info) \ || exit 1 -.PHONY: maybe-clean-prms clean-prms -maybe-clean-prms: +.PHONY: maybe-dvi-gnuserv dvi-gnuserv +maybe-dvi-gnuserv: -clean-prms: - @[ -f ./prms/Makefile ] || exit 0; \ +dvi-gnuserv: \ + configure-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in prms" ; \ - (cd prms && \ + echo "Doing dvi in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + dvi) \ || exit 1 -.PHONY: maybe-clean-rcs clean-rcs -maybe-clean-rcs: +.PHONY: maybe-TAGS-gnuserv TAGS-gnuserv +maybe-TAGS-gnuserv: -clean-rcs: - @[ -f ./rcs/Makefile ] || exit 0; \ +TAGS-gnuserv: \ + configure-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in rcs" ; \ - (cd rcs && \ + echo "Doing TAGS in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-clean-readline clean-readline -maybe-clean-readline: +.PHONY: maybe-install-info-gnuserv install-info-gnuserv +maybe-install-info-gnuserv: -clean-readline: - @[ -f ./readline/Makefile ] || exit 0; \ +install-info-gnuserv: \ + configure-gnuserv \ + info-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in readline" ; \ - (cd readline && \ + echo "Doing install-info in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + install-info) \ || exit 1 -.PHONY: maybe-clean-release clean-release -maybe-clean-release: +.PHONY: maybe-installcheck-gnuserv installcheck-gnuserv +maybe-installcheck-gnuserv: -clean-release: - @[ -f ./release/Makefile ] || exit 0; \ +installcheck-gnuserv: \ + configure-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in release" ; \ - (cd release && \ + echo "Doing installcheck in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-clean-recode clean-recode -maybe-clean-recode: +.PHONY: maybe-mostlyclean-gnuserv mostlyclean-gnuserv +maybe-mostlyclean-gnuserv: -clean-recode: - @[ -f ./recode/Makefile ] || exit 0; \ +mostlyclean-gnuserv: + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in recode" ; \ - (cd recode && \ + echo "Doing mostlyclean in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-clean-sed clean-sed -maybe-clean-sed: +.PHONY: maybe-clean-gnuserv clean-gnuserv +maybe-clean-gnuserv: -clean-sed: - @[ -f ./sed/Makefile ] || exit 0; \ +clean-gnuserv: + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in sed" ; \ - (cd sed && \ + echo "Doing clean in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -13118,250 +8037,263 @@ clean-sed: || exit 1 -.PHONY: maybe-clean-send-pr clean-send-pr -maybe-clean-send-pr: +.PHONY: maybe-distclean-gnuserv distclean-gnuserv +maybe-distclean-gnuserv: -clean-send-pr: - @[ -f ./send-pr/Makefile ] || exit 0; \ +distclean-gnuserv: + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in send-pr" ; \ - (cd send-pr && \ + echo "Doing distclean in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + distclean) \ || exit 1 -.PHONY: maybe-clean-shellutils clean-shellutils -maybe-clean-shellutils: +.PHONY: maybe-maintainer-clean-gnuserv maintainer-clean-gnuserv +maybe-maintainer-clean-gnuserv: -clean-shellutils: - @[ -f ./shellutils/Makefile ] || exit 0; \ +maintainer-clean-gnuserv: + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in shellutils" ; \ - (cd shellutils && \ + echo "Doing maintainer-clean in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-clean-sid clean-sid -maybe-clean-sid: -clean-sid: - @[ -f ./sid/Makefile ] || exit 0; \ +.PHONY: configure-gprof maybe-configure-gprof +maybe-configure-gprof: +configure-gprof: + @test ! -f gprof/Makefile || exit 0; \ + [ -d gprof ] || mkdir gprof; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in sid" ; \ - (cd sid && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in gprof; \ + cd gprof || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gprof"; \ + libsrcdir="$$s/gprof";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gprof"; \ + libsrcdir="$$s/gprof";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-gprof maybe-all-gprof +maybe-all-gprof: +all-gprof: configure-gprof + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gprof && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-clean-sim clean-sim -maybe-clean-sim: +.PHONY: check-gprof maybe-check-gprof +maybe-check-gprof: -clean-sim: - @[ -f ./sim/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-gprof: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in sim" ; \ - (cd sim && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + (cd gprof && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-clean-tar clean-tar -maybe-clean-tar: +.PHONY: install-gprof maybe-install-gprof +maybe-install-gprof: -clean-tar: - @[ -f ./tar/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-gprof: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in tar" ; \ - (cd tar && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + (cd gprof && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-clean-texinfo clean-texinfo -maybe-clean-texinfo: +# Other targets (info, dvi, etc.) -clean-texinfo: - @[ -f ./texinfo/Makefile ] || exit 0; \ +.PHONY: maybe-info-gprof info-gprof +maybe-info-gprof: + +info-gprof: \ + configure-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in texinfo" ; \ - (cd texinfo && \ + echo "Doing info in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + info) \ || exit 1 -.PHONY: maybe-clean-textutils clean-textutils -maybe-clean-textutils: +.PHONY: maybe-dvi-gprof dvi-gprof +maybe-dvi-gprof: -clean-textutils: - @[ -f ./textutils/Makefile ] || exit 0; \ +dvi-gprof: \ + configure-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in textutils" ; \ - (cd textutils && \ + echo "Doing dvi in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + dvi) \ || exit 1 -.PHONY: maybe-clean-time clean-time -maybe-clean-time: +.PHONY: maybe-TAGS-gprof TAGS-gprof +maybe-TAGS-gprof: -clean-time: - @[ -f ./time/Makefile ] || exit 0; \ +TAGS-gprof: \ + configure-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in time" ; \ - (cd time && \ + echo "Doing TAGS in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-clean-uudecode clean-uudecode -maybe-clean-uudecode: +.PHONY: maybe-install-info-gprof install-info-gprof +maybe-install-info-gprof: -clean-uudecode: - @[ -f ./uudecode/Makefile ] || exit 0; \ +install-info-gprof: \ + configure-gprof \ + info-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in uudecode" ; \ - (cd uudecode && \ + echo "Doing install-info in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + install-info) \ || exit 1 -.PHONY: maybe-clean-wdiff clean-wdiff -maybe-clean-wdiff: +.PHONY: maybe-installcheck-gprof installcheck-gprof +maybe-installcheck-gprof: -clean-wdiff: - @[ -f ./wdiff/Makefile ] || exit 0; \ +installcheck-gprof: \ + configure-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in wdiff" ; \ - (cd wdiff && \ + echo "Doing installcheck in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-clean-zip clean-zip -maybe-clean-zip: +.PHONY: maybe-mostlyclean-gprof mostlyclean-gprof +maybe-mostlyclean-gprof: -clean-zip: - @[ -f ./zip/Makefile ] || exit 0; \ +mostlyclean-gprof: + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in zip" ; \ - (cd zip && \ + echo "Doing mostlyclean in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-clean-zlib clean-zlib -maybe-clean-zlib: +.PHONY: maybe-clean-gprof clean-gprof +maybe-clean-gprof: -clean-zlib: - @[ -f ./zlib/Makefile ] || exit 0; \ +clean-gprof: + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in zlib" ; \ - (cd zlib && \ + echo "Doing clean in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -13370,197 +8302,263 @@ clean-zlib: || exit 1 -.PHONY: maybe-clean-gdb clean-gdb -maybe-clean-gdb: +.PHONY: maybe-distclean-gprof distclean-gprof +maybe-distclean-gprof: -clean-gdb: - @[ -f ./gdb/Makefile ] || exit 0; \ +distclean-gprof: + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gdb" ; \ - (cd gdb && \ + echo "Doing distclean in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + distclean) \ || exit 1 -.PHONY: maybe-clean-expect clean-expect -maybe-clean-expect: +.PHONY: maybe-maintainer-clean-gprof maintainer-clean-gprof +maybe-maintainer-clean-gprof: -clean-expect: - @[ -f ./expect/Makefile ] || exit 0; \ +maintainer-clean-gprof: + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in expect" ; \ - (cd expect && \ + echo "Doing maintainer-clean in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-clean-guile clean-guile -maybe-clean-guile: -clean-guile: - @[ -f ./guile/Makefile ] || exit 0; \ +.PHONY: configure-gzip maybe-configure-gzip +maybe-configure-gzip: +configure-gzip: + @test ! -f gzip/Makefile || exit 0; \ + [ -d gzip ] || mkdir gzip; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in gzip; \ + cd gzip || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gzip"; \ + libsrcdir="$$s/gzip";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gzip"; \ + libsrcdir="$$s/gzip";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-gzip maybe-all-gzip +maybe-all-gzip: +all-gzip: configure-gzip + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gzip && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-gzip maybe-check-gzip +maybe-check-gzip: + +check-gzip: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gzip && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-gzip maybe-install-gzip +maybe-install-gzip: + +install-gzip: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gzip && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-gzip info-gzip +maybe-info-gzip: + +info-gzip: \ + configure-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in guile" ; \ - (cd guile && \ + echo "Doing info in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + info) \ || exit 1 -.PHONY: maybe-clean-tk clean-tk -maybe-clean-tk: +.PHONY: maybe-dvi-gzip dvi-gzip +maybe-dvi-gzip: -clean-tk: - @[ -f ./tk/Makefile ] || exit 0; \ +dvi-gzip: \ + configure-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in tk" ; \ - (cd tk && \ + echo "Doing dvi in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + dvi) \ || exit 1 -.PHONY: maybe-clean-tix clean-tix -maybe-clean-tix: +.PHONY: maybe-TAGS-gzip TAGS-gzip +maybe-TAGS-gzip: -clean-tix: - @[ -f ./tix/Makefile ] || exit 0; \ +TAGS-gzip: \ + configure-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in tix" ; \ - (cd tix && \ + echo "Doing TAGS in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-clean-libtermcap clean-libtermcap -maybe-clean-libtermcap: - -# libtermcap doesn't support clean. -clean-libtermcap: - - -.PHONY: maybe-clean-utils clean-utils -maybe-clean-utils: +.PHONY: maybe-install-info-gzip install-info-gzip +maybe-install-info-gzip: -clean-utils: - @[ -f ./utils/Makefile ] || exit 0; \ +install-info-gzip: \ + configure-gzip \ + info-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in utils" ; \ - (cd utils && \ + echo "Doing install-info in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + install-info) \ || exit 1 +.PHONY: maybe-installcheck-gzip installcheck-gzip +maybe-installcheck-gzip: -# Target modules. - -.PHONY: maybe-clean-target-libstdc++-v3 clean-target-libstdc++-v3 -maybe-clean-target-libstdc++-v3: - -clean-target-libstdc++-v3: - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ +installcheck-gzip: \ + configure-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + echo "Doing installcheck in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-clean-target-newlib clean-target-newlib -maybe-clean-target-newlib: +.PHONY: maybe-mostlyclean-gzip mostlyclean-gzip +maybe-mostlyclean-gzip: -clean-target-newlib: - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ +mostlyclean-gzip: + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/newlib && \ + echo "Doing mostlyclean in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-clean-target-libf2c clean-target-libf2c -maybe-clean-target-libf2c: +.PHONY: maybe-clean-gzip clean-gzip +maybe-clean-gzip: -clean-target-libf2c: - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ +clean-gzip: + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ + echo "Doing clean in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -13569,215 +8567,263 @@ clean-target-libf2c: || exit 1 -.PHONY: maybe-clean-target-libobjc clean-target-libobjc -maybe-clean-target-libobjc: +.PHONY: maybe-distclean-gzip distclean-gzip +maybe-distclean-gzip: -clean-target-libobjc: - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ +distclean-gzip: + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ + echo "Doing distclean in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + distclean) \ || exit 1 -.PHONY: maybe-clean-target-libtermcap clean-target-libtermcap -maybe-clean-target-libtermcap: - -# libtermcap doesn't support clean. -clean-target-libtermcap: - - -.PHONY: maybe-clean-target-winsup clean-target-winsup -maybe-clean-target-winsup: +.PHONY: maybe-maintainer-clean-gzip maintainer-clean-gzip +maybe-maintainer-clean-gzip: -clean-target-winsup: - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ +maintainer-clean-gzip: + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/winsup && \ + echo "Doing maintainer-clean in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-clean-target-libgloss clean-target-libgloss -maybe-clean-target-libgloss: -clean-target-libgloss: - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ +.PHONY: configure-hello maybe-configure-hello +maybe-configure-hello: +configure-hello: + @test ! -f hello/Makefile || exit 0; \ + [ -d hello ] || mkdir hello; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in hello; \ + cd hello || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/hello"; \ + libsrcdir="$$s/hello";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/hello"; \ + libsrcdir="$$s/hello";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-hello maybe-all-hello +maybe-all-hello: +all-hello: configure-hello + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd hello && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-hello maybe-check-hello +maybe-check-hello: -.PHONY: maybe-clean-target-libiberty clean-target-libiberty -maybe-clean-target-libiberty: +check-hello: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd hello && $(MAKE) $(FLAGS_TO_PASS) check) -clean-target-libiberty: - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ + +.PHONY: install-hello maybe-install-hello +maybe-install-hello: + +install-hello: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd hello && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-hello info-hello +maybe-info-hello: + +info-hello: \ + configure-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ + echo "Doing info in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + info) \ || exit 1 -.PHONY: maybe-clean-target-gperf clean-target-gperf -maybe-clean-target-gperf: +.PHONY: maybe-dvi-hello dvi-hello +maybe-dvi-hello: -clean-target-gperf: - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ +dvi-hello: \ + configure-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/gperf && \ + echo "Doing dvi in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + dvi) \ || exit 1 -.PHONY: maybe-clean-target-examples clean-target-examples -maybe-clean-target-examples: +.PHONY: maybe-TAGS-hello TAGS-hello +maybe-TAGS-hello: -clean-target-examples: - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ +TAGS-hello: \ + configure-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/examples && \ + echo "Doing TAGS in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-clean-target-libffi clean-target-libffi -maybe-clean-target-libffi: +.PHONY: maybe-install-info-hello install-info-hello +maybe-install-info-hello: -clean-target-libffi: - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ +install-info-hello: \ + configure-hello \ + info-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libffi && \ + echo "Doing install-info in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + install-info) \ || exit 1 -.PHONY: maybe-clean-target-libjava clean-target-libjava -maybe-clean-target-libjava: +.PHONY: maybe-installcheck-hello installcheck-hello +maybe-installcheck-hello: -clean-target-libjava: - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ +installcheck-hello: \ + configure-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libjava && \ + echo "Doing installcheck in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-clean-target-zlib clean-target-zlib -maybe-clean-target-zlib: +.PHONY: maybe-mostlyclean-hello mostlyclean-hello +maybe-mostlyclean-hello: -clean-target-zlib: - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ +mostlyclean-hello: + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/zlib && \ + echo "Doing mostlyclean in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-clean-target-boehm-gc clean-target-boehm-gc -maybe-clean-target-boehm-gc: +.PHONY: maybe-clean-hello clean-hello +maybe-clean-hello: -clean-target-boehm-gc: - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ +clean-hello: + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ + echo "Doing clean in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -13786,300 +8832,284 @@ clean-target-boehm-gc: || exit 1 -.PHONY: maybe-clean-target-qthreads clean-target-qthreads -maybe-clean-target-qthreads: +.PHONY: maybe-distclean-hello distclean-hello +maybe-distclean-hello: -clean-target-qthreads: - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ +distclean-hello: + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ + echo "Doing distclean in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + distclean) \ || exit 1 -.PHONY: maybe-clean-target-rda clean-target-rda -maybe-clean-target-rda: +.PHONY: maybe-maintainer-clean-hello maintainer-clean-hello +maybe-maintainer-clean-hello: -clean-target-rda: - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ +maintainer-clean-hello: + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/rda && \ + echo "Doing maintainer-clean in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-clean-target-libada clean-target-libada -maybe-clean-target-libada: -clean-target-libada: - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ +.PHONY: configure-indent maybe-configure-indent +maybe-configure-indent: +configure-indent: + @test ! -f indent/Makefile || exit 0; \ + [ -d indent ] || mkdir indent; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in indent; \ + cd indent || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/indent"; \ + libsrcdir="$$s/indent";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/indent"; \ + libsrcdir="$$s/indent";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-indent maybe-all-indent +maybe-all-indent: +all-indent: configure-indent + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd indent && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-indent maybe-check-indent +maybe-check-indent: + +check-indent: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd indent && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-indent maybe-install-indent +maybe-install-indent: + +install-indent: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd indent && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-indent info-indent +maybe-info-indent: + +info-indent: \ + configure-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing clean in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libada && \ + echo "Doing info in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + info) \ || exit 1 +.PHONY: maybe-dvi-indent dvi-indent +maybe-dvi-indent: -.PHONY: do-distclean -do-distclean: distclean-host distclean-target - -.PHONY: distclean-host -distclean-host: maybe-distclean-gcc \ - maybe-distclean-ash \ - maybe-distclean-autoconf \ - maybe-distclean-automake \ - maybe-distclean-bash \ - maybe-distclean-bfd \ - maybe-distclean-opcodes \ - maybe-distclean-binutils \ - maybe-distclean-bison \ - maybe-distclean-byacc \ - maybe-distclean-bzip2 \ - maybe-distclean-dejagnu \ - maybe-distclean-diff \ - maybe-distclean-dosutils \ - maybe-distclean-etc \ - maybe-distclean-fastjar \ - maybe-distclean-fileutils \ - maybe-distclean-findutils \ - maybe-distclean-find \ - maybe-distclean-flex \ - maybe-distclean-gas \ - maybe-distclean-gawk \ - maybe-distclean-gettext \ - maybe-distclean-gnuserv \ - maybe-distclean-gprof \ - maybe-distclean-gzip \ - maybe-distclean-hello \ - maybe-distclean-indent \ - maybe-distclean-intl \ - maybe-distclean-tcl \ - maybe-distclean-itcl \ - maybe-distclean-ld \ - maybe-distclean-libgui \ - maybe-distclean-libiberty \ - maybe-distclean-libtool \ - maybe-distclean-m4 \ - maybe-distclean-make \ - maybe-distclean-mmalloc \ - maybe-distclean-patch \ - maybe-distclean-perl \ - maybe-distclean-prms \ - maybe-distclean-rcs \ - maybe-distclean-readline \ - maybe-distclean-release \ - maybe-distclean-recode \ - maybe-distclean-sed \ - maybe-distclean-send-pr \ - maybe-distclean-shellutils \ - maybe-distclean-sid \ - maybe-distclean-sim \ - maybe-distclean-tar \ - maybe-distclean-texinfo \ - maybe-distclean-textutils \ - maybe-distclean-time \ - maybe-distclean-uudecode \ - maybe-distclean-wdiff \ - maybe-distclean-zip \ - maybe-distclean-zlib \ - maybe-distclean-gdb \ - maybe-distclean-expect \ - maybe-distclean-guile \ - maybe-distclean-tk \ - maybe-distclean-tix \ - maybe-distclean-libtermcap \ - maybe-distclean-utils - -.PHONY: distclean-target -distclean-target: \ - maybe-distclean-target-libstdc++-v3 \ - maybe-distclean-target-newlib \ - maybe-distclean-target-libf2c \ - maybe-distclean-target-libobjc \ - maybe-distclean-target-libtermcap \ - maybe-distclean-target-winsup \ - maybe-distclean-target-libgloss \ - maybe-distclean-target-libiberty \ - maybe-distclean-target-gperf \ - maybe-distclean-target-examples \ - maybe-distclean-target-libffi \ - maybe-distclean-target-libjava \ - maybe-distclean-target-zlib \ - maybe-distclean-target-boehm-gc \ - maybe-distclean-target-qthreads \ - maybe-distclean-target-rda \ - maybe-distclean-target-libada - -# GCC, the eternal special case -.PHONY: maybe-distclean-gcc distclean-gcc -maybe-distclean-gcc: -distclean-gcc: - @[ -f ./gcc/Makefile ] || exit 0; \ +dvi-indent: \ + configure-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gcc" ; \ - (cd gcc && \ + echo "Doing dvi in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -# Host modules. -.PHONY: maybe-distclean-ash distclean-ash -maybe-distclean-ash: +.PHONY: maybe-TAGS-indent TAGS-indent +maybe-TAGS-indent: -distclean-ash: - @[ -f ./ash/Makefile ] || exit 0; \ +TAGS-indent: \ + configure-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in ash" ; \ - (cd ash && \ + echo "Doing TAGS in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-distclean-autoconf distclean-autoconf -maybe-distclean-autoconf: +.PHONY: maybe-install-info-indent install-info-indent +maybe-install-info-indent: -distclean-autoconf: - @[ -f ./autoconf/Makefile ] || exit 0; \ +install-info-indent: \ + configure-indent \ + info-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in autoconf" ; \ - (cd autoconf && \ + echo "Doing install-info in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + install-info) \ || exit 1 -.PHONY: maybe-distclean-automake distclean-automake -maybe-distclean-automake: +.PHONY: maybe-installcheck-indent installcheck-indent +maybe-installcheck-indent: -distclean-automake: - @[ -f ./automake/Makefile ] || exit 0; \ +installcheck-indent: \ + configure-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in automake" ; \ - (cd automake && \ + echo "Doing installcheck in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-distclean-bash distclean-bash -maybe-distclean-bash: +.PHONY: maybe-mostlyclean-indent mostlyclean-indent +maybe-mostlyclean-indent: -distclean-bash: - @[ -f ./bash/Makefile ] || exit 0; \ +mostlyclean-indent: + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in bash" ; \ - (cd bash && \ + echo "Doing mostlyclean in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-distclean-bfd distclean-bfd -maybe-distclean-bfd: +.PHONY: maybe-clean-indent clean-indent +maybe-clean-indent: -distclean-bfd: - @[ -f ./bfd/Makefile ] || exit 0; \ +clean-indent: + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in bfd" ; \ - (cd bfd && \ + echo "Doing clean in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + clean) \ || exit 1 -.PHONY: maybe-distclean-opcodes distclean-opcodes -maybe-distclean-opcodes: +.PHONY: maybe-distclean-indent distclean-indent +maybe-distclean-indent: -distclean-opcodes: - @[ -f ./opcodes/Makefile ] || exit 0; \ +distclean-indent: + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in opcodes" ; \ - (cd opcodes && \ + echo "Doing distclean in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -14088,187 +9118,263 @@ distclean-opcodes: || exit 1 -.PHONY: maybe-distclean-binutils distclean-binutils -maybe-distclean-binutils: +.PHONY: maybe-maintainer-clean-indent maintainer-clean-indent +maybe-maintainer-clean-indent: -distclean-binutils: - @[ -f ./binutils/Makefile ] || exit 0; \ +maintainer-clean-indent: + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in binutils" ; \ - (cd binutils && \ + echo "Doing maintainer-clean in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-distclean-bison distclean-bison -maybe-distclean-bison: -distclean-bison: - @[ -f ./bison/Makefile ] || exit 0; \ +.PHONY: configure-intl maybe-configure-intl +maybe-configure-intl: +configure-intl: + @test ! -f intl/Makefile || exit 0; \ + [ -d intl ] || mkdir intl; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in intl; \ + cd intl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-intl maybe-all-intl +maybe-all-intl: +all-intl: configure-intl + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd intl && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-intl maybe-check-intl +maybe-check-intl: + +check-intl: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd intl && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-intl maybe-install-intl +maybe-install-intl: + +install-intl: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd intl && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-intl info-intl +maybe-info-intl: + +info-intl: \ + configure-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in bison" ; \ - (cd bison && \ + echo "Doing info in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + info) \ || exit 1 -.PHONY: maybe-distclean-byacc distclean-byacc -maybe-distclean-byacc: +.PHONY: maybe-dvi-intl dvi-intl +maybe-dvi-intl: -distclean-byacc: - @[ -f ./byacc/Makefile ] || exit 0; \ +dvi-intl: \ + configure-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in byacc" ; \ - (cd byacc && \ + echo "Doing dvi in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -.PHONY: maybe-distclean-bzip2 distclean-bzip2 -maybe-distclean-bzip2: +.PHONY: maybe-TAGS-intl TAGS-intl +maybe-TAGS-intl: -distclean-bzip2: - @[ -f ./bzip2/Makefile ] || exit 0; \ +TAGS-intl: \ + configure-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in bzip2" ; \ - (cd bzip2 && \ + echo "Doing TAGS in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-distclean-dejagnu distclean-dejagnu -maybe-distclean-dejagnu: +.PHONY: maybe-install-info-intl install-info-intl +maybe-install-info-intl: -distclean-dejagnu: - @[ -f ./dejagnu/Makefile ] || exit 0; \ +install-info-intl: \ + configure-intl \ + info-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in dejagnu" ; \ - (cd dejagnu && \ + echo "Doing install-info in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + install-info) \ || exit 1 -.PHONY: maybe-distclean-diff distclean-diff -maybe-distclean-diff: +.PHONY: maybe-installcheck-intl installcheck-intl +maybe-installcheck-intl: -distclean-diff: - @[ -f ./diff/Makefile ] || exit 0; \ +installcheck-intl: \ + configure-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in diff" ; \ - (cd diff && \ + echo "Doing installcheck in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-distclean-dosutils distclean-dosutils -maybe-distclean-dosutils: +.PHONY: maybe-mostlyclean-intl mostlyclean-intl +maybe-mostlyclean-intl: -distclean-dosutils: - @[ -f ./dosutils/Makefile ] || exit 0; \ +mostlyclean-intl: + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in dosutils" ; \ - (cd dosutils && \ + echo "Doing mostlyclean in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-distclean-etc distclean-etc -maybe-distclean-etc: +.PHONY: maybe-clean-intl clean-intl +maybe-clean-intl: -distclean-etc: - @[ -f ./etc/Makefile ] || exit 0; \ +clean-intl: + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in etc" ; \ - (cd etc && \ + echo "Doing clean in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + clean) \ || exit 1 -.PHONY: maybe-distclean-fastjar distclean-fastjar -maybe-distclean-fastjar: +.PHONY: maybe-distclean-intl distclean-intl +maybe-distclean-intl: -distclean-fastjar: - @[ -f ./fastjar/Makefile ] || exit 0; \ +distclean-intl: + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in fastjar" ; \ - (cd fastjar && \ + echo "Doing distclean in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -14277,166 +9383,249 @@ distclean-fastjar: || exit 1 -.PHONY: maybe-distclean-fileutils distclean-fileutils -maybe-distclean-fileutils: +.PHONY: maybe-maintainer-clean-intl maintainer-clean-intl +maybe-maintainer-clean-intl: -distclean-fileutils: - @[ -f ./fileutils/Makefile ] || exit 0; \ +maintainer-clean-intl: + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in fileutils" ; \ - (cd fileutils && \ + echo "Doing maintainer-clean in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-distclean-findutils distclean-findutils -maybe-distclean-findutils: -distclean-findutils: - @[ -f ./findutils/Makefile ] || exit 0; \ +.PHONY: configure-tcl maybe-configure-tcl +maybe-configure-tcl: +configure-tcl: + @test ! -f tcl/Makefile || exit 0; \ + [ -d tcl ] || mkdir tcl; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in tcl; \ + cd tcl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/tcl"; \ + libsrcdir="$$s/tcl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/tcl"; \ + libsrcdir="$$s/tcl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-tcl maybe-all-tcl +maybe-all-tcl: +all-tcl: configure-tcl + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd tcl && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-tcl maybe-check-tcl +maybe-check-tcl: + +check-tcl: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd tcl && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-tcl maybe-install-tcl +maybe-install-tcl: + +install-tcl: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd tcl && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-tcl info-tcl +maybe-info-tcl: + +info-tcl: \ + configure-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in findutils" ; \ - (cd findutils && \ + echo "Doing info in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + info) \ || exit 1 -.PHONY: maybe-distclean-find distclean-find -maybe-distclean-find: +.PHONY: maybe-dvi-tcl dvi-tcl +maybe-dvi-tcl: -distclean-find: - @[ -f ./find/Makefile ] || exit 0; \ +dvi-tcl: \ + configure-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in find" ; \ - (cd find && \ + echo "Doing dvi in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -.PHONY: maybe-distclean-flex distclean-flex -maybe-distclean-flex: +.PHONY: maybe-TAGS-tcl TAGS-tcl +maybe-TAGS-tcl: -distclean-flex: - @[ -f ./flex/Makefile ] || exit 0; \ +TAGS-tcl: \ + configure-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in flex" ; \ - (cd flex && \ + echo "Doing TAGS in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-distclean-gas distclean-gas -maybe-distclean-gas: +.PHONY: maybe-install-info-tcl install-info-tcl +maybe-install-info-tcl: -distclean-gas: - @[ -f ./gas/Makefile ] || exit 0; \ +install-info-tcl: \ + configure-tcl \ + info-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gas" ; \ - (cd gas && \ + echo "Doing install-info in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + install-info) \ || exit 1 -.PHONY: maybe-distclean-gawk distclean-gawk -maybe-distclean-gawk: +.PHONY: maybe-installcheck-tcl installcheck-tcl +maybe-installcheck-tcl: -distclean-gawk: - @[ -f ./gawk/Makefile ] || exit 0; \ +installcheck-tcl: \ + configure-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gawk" ; \ - (cd gawk && \ + echo "Doing installcheck in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-distclean-gettext distclean-gettext -maybe-distclean-gettext: +.PHONY: maybe-mostlyclean-tcl mostlyclean-tcl +maybe-mostlyclean-tcl: -distclean-gettext: - @[ -f ./gettext/Makefile ] || exit 0; \ +# tcl doesn't support mostlyclean. +mostlyclean-tcl: + + +.PHONY: maybe-clean-tcl clean-tcl +maybe-clean-tcl: + +clean-tcl: + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gettext" ; \ - (cd gettext && \ + echo "Doing clean in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + clean) \ || exit 1 -.PHONY: maybe-distclean-gnuserv distclean-gnuserv -maybe-distclean-gnuserv: +.PHONY: maybe-distclean-tcl distclean-tcl +maybe-distclean-tcl: -distclean-gnuserv: - @[ -f ./gnuserv/Makefile ] || exit 0; \ +distclean-tcl: + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing distclean in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -14445,136 +9634,169 @@ distclean-gnuserv: || exit 1 -.PHONY: maybe-distclean-gprof distclean-gprof -maybe-distclean-gprof: +.PHONY: maybe-maintainer-clean-tcl maintainer-clean-tcl +maybe-maintainer-clean-tcl: -distclean-gprof: - @[ -f ./gprof/Makefile ] || exit 0; \ +maintainer-clean-tcl: + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gprof" ; \ - (cd gprof && \ + echo "Doing maintainer-clean in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-itcl maybe-configure-itcl +maybe-configure-itcl: +configure-itcl: + @test ! -f itcl/Makefile || exit 0; \ + [ -d itcl ] || mkdir itcl; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in itcl; \ + cd itcl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/itcl"; \ + libsrcdir="$$s/itcl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/itcl"; \ + libsrcdir="$$s/itcl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-itcl maybe-all-itcl +maybe-all-itcl: +all-itcl: configure-itcl + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd itcl && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-distclean-gzip distclean-gzip -maybe-distclean-gzip: +.PHONY: check-itcl maybe-check-itcl +maybe-check-itcl: -distclean-gzip: - @[ -f ./gzip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-itcl: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing distclean in gzip" ; \ - (cd gzip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ - || exit 1 + (cd itcl && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-distclean-hello distclean-hello -maybe-distclean-hello: +.PHONY: install-itcl maybe-install-itcl +maybe-install-itcl: -distclean-hello: - @[ -f ./hello/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-itcl: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing distclean in hello" ; \ - (cd hello && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ - || exit 1 + (cd itcl && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-distclean-indent distclean-indent -maybe-distclean-indent: +# Other targets (info, dvi, etc.) -distclean-indent: - @[ -f ./indent/Makefile ] || exit 0; \ +.PHONY: maybe-info-itcl info-itcl +maybe-info-itcl: + +info-itcl: \ + configure-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in indent" ; \ - (cd indent && \ + echo "Doing info in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + info) \ || exit 1 -.PHONY: maybe-distclean-intl distclean-intl -maybe-distclean-intl: +.PHONY: maybe-dvi-itcl dvi-itcl +maybe-dvi-itcl: -distclean-intl: - @[ -f ./intl/Makefile ] || exit 0; \ +dvi-itcl: \ + configure-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in intl" ; \ - (cd intl && \ + echo "Doing dvi in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -.PHONY: maybe-distclean-tcl distclean-tcl -maybe-distclean-tcl: +.PHONY: maybe-TAGS-itcl TAGS-itcl +maybe-TAGS-itcl: -distclean-tcl: - @[ -f ./tcl/Makefile ] || exit 0; \ +TAGS-itcl: \ + configure-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in tcl" ; \ - (cd tcl && \ + echo "Doing TAGS in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-distclean-itcl distclean-itcl -maybe-distclean-itcl: +.PHONY: maybe-install-info-itcl install-info-itcl +maybe-install-info-itcl: -distclean-itcl: +install-info-itcl: \ + configure-itcl \ + info-itcl @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -14582,92 +9804,93 @@ distclean-itcl: for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in itcl" ; \ + echo "Doing install-info in itcl" ; \ (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + install-info) \ || exit 1 -.PHONY: maybe-distclean-ld distclean-ld -maybe-distclean-ld: +.PHONY: maybe-installcheck-itcl installcheck-itcl +maybe-installcheck-itcl: -distclean-ld: - @[ -f ./ld/Makefile ] || exit 0; \ +installcheck-itcl: \ + configure-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in ld" ; \ - (cd ld && \ + echo "Doing installcheck in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-distclean-libgui distclean-libgui -maybe-distclean-libgui: +.PHONY: maybe-mostlyclean-itcl mostlyclean-itcl +maybe-mostlyclean-itcl: -distclean-libgui: - @[ -f ./libgui/Makefile ] || exit 0; \ +mostlyclean-itcl: + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in libgui" ; \ - (cd libgui && \ + echo "Doing mostlyclean in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-distclean-libiberty distclean-libiberty -maybe-distclean-libiberty: +.PHONY: maybe-clean-itcl clean-itcl +maybe-clean-itcl: -distclean-libiberty: - @[ -f ./libiberty/Makefile ] || exit 0; \ +clean-itcl: + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in libiberty" ; \ - (cd libiberty && \ + echo "Doing clean in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + clean) \ || exit 1 -.PHONY: maybe-distclean-libtool distclean-libtool -maybe-distclean-libtool: +.PHONY: maybe-distclean-itcl distclean-itcl +maybe-distclean-itcl: -distclean-libtool: - @[ -f ./libtool/Makefile ] || exit 0; \ +distclean-itcl: + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in libtool" ; \ - (cd libtool && \ + echo "Doing distclean in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -14676,229 +9899,263 @@ distclean-libtool: || exit 1 -.PHONY: maybe-distclean-m4 distclean-m4 -maybe-distclean-m4: +.PHONY: maybe-maintainer-clean-itcl maintainer-clean-itcl +maybe-maintainer-clean-itcl: -distclean-m4: - @[ -f ./m4/Makefile ] || exit 0; \ +maintainer-clean-itcl: + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in m4" ; \ - (cd m4 && \ + echo "Doing maintainer-clean in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-distclean-make distclean-make -maybe-distclean-make: -distclean-make: - @[ -f ./make/Makefile ] || exit 0; \ +.PHONY: configure-ld maybe-configure-ld +maybe-configure-ld: +configure-ld: + @test ! -f ld/Makefile || exit 0; \ + [ -d ld ] || mkdir ld; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing distclean in make" ; \ - (cd make && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in ld; \ + cd ld || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-ld maybe-all-ld +maybe-all-ld: +all-ld: configure-ld + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd ld && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-distclean-mmalloc distclean-mmalloc -maybe-distclean-mmalloc: +.PHONY: check-ld maybe-check-ld +maybe-check-ld: -distclean-mmalloc: - @[ -f ./mmalloc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-ld: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing distclean in mmalloc" ; \ - (cd mmalloc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ - || exit 1 + (cd ld && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-ld maybe-install-ld +maybe-install-ld: +install-ld: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd ld && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-distclean-patch distclean-patch -maybe-distclean-patch: -distclean-patch: - @[ -f ./patch/Makefile ] || exit 0; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-ld info-ld +maybe-info-ld: + +info-ld: \ + configure-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in patch" ; \ - (cd patch && \ + echo "Doing info in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + info) \ || exit 1 -.PHONY: maybe-distclean-perl distclean-perl -maybe-distclean-perl: +.PHONY: maybe-dvi-ld dvi-ld +maybe-dvi-ld: -distclean-perl: - @[ -f ./perl/Makefile ] || exit 0; \ +dvi-ld: \ + configure-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in perl" ; \ - (cd perl && \ + echo "Doing dvi in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -.PHONY: maybe-distclean-prms distclean-prms -maybe-distclean-prms: +.PHONY: maybe-TAGS-ld TAGS-ld +maybe-TAGS-ld: -distclean-prms: - @[ -f ./prms/Makefile ] || exit 0; \ +TAGS-ld: \ + configure-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in prms" ; \ - (cd prms && \ + echo "Doing TAGS in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-distclean-rcs distclean-rcs -maybe-distclean-rcs: +.PHONY: maybe-install-info-ld install-info-ld +maybe-install-info-ld: -distclean-rcs: - @[ -f ./rcs/Makefile ] || exit 0; \ +install-info-ld: \ + configure-ld \ + info-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in rcs" ; \ - (cd rcs && \ + echo "Doing install-info in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + install-info) \ || exit 1 -.PHONY: maybe-distclean-readline distclean-readline -maybe-distclean-readline: +.PHONY: maybe-installcheck-ld installcheck-ld +maybe-installcheck-ld: -distclean-readline: - @[ -f ./readline/Makefile ] || exit 0; \ +installcheck-ld: \ + configure-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in readline" ; \ - (cd readline && \ + echo "Doing installcheck in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-distclean-release distclean-release -maybe-distclean-release: +.PHONY: maybe-mostlyclean-ld mostlyclean-ld +maybe-mostlyclean-ld: -distclean-release: - @[ -f ./release/Makefile ] || exit 0; \ +mostlyclean-ld: + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in release" ; \ - (cd release && \ + echo "Doing mostlyclean in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-distclean-recode distclean-recode -maybe-distclean-recode: +.PHONY: maybe-clean-ld clean-ld +maybe-clean-ld: -distclean-recode: - @[ -f ./recode/Makefile ] || exit 0; \ +clean-ld: + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in recode" ; \ - (cd recode && \ + echo "Doing clean in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + clean) \ || exit 1 -.PHONY: maybe-distclean-sed distclean-sed -maybe-distclean-sed: +.PHONY: maybe-distclean-ld distclean-ld +maybe-distclean-ld: -distclean-sed: - @[ -f ./sed/Makefile ] || exit 0; \ +distclean-ld: + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in sed" ; \ - (cd sed && \ + echo "Doing distclean in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -14907,250 +10164,263 @@ distclean-sed: || exit 1 -.PHONY: maybe-distclean-send-pr distclean-send-pr -maybe-distclean-send-pr: +.PHONY: maybe-maintainer-clean-ld maintainer-clean-ld +maybe-maintainer-clean-ld: -distclean-send-pr: - @[ -f ./send-pr/Makefile ] || exit 0; \ +maintainer-clean-ld: + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in send-pr" ; \ - (cd send-pr && \ + echo "Doing maintainer-clean in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-distclean-shellutils distclean-shellutils -maybe-distclean-shellutils: -distclean-shellutils: - @[ -f ./shellutils/Makefile ] || exit 0; \ +.PHONY: configure-libgui maybe-configure-libgui +maybe-configure-libgui: +configure-libgui: + @test ! -f libgui/Makefile || exit 0; \ + [ -d libgui ] || mkdir libgui; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing distclean in shellutils" ; \ - (cd shellutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in libgui; \ + cd libgui || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libgui"; \ + libsrcdir="$$s/libgui";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libgui"; \ + libsrcdir="$$s/libgui";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-libgui maybe-all-libgui +maybe-all-libgui: +all-libgui: configure-libgui + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd libgui && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-distclean-sid distclean-sid -maybe-distclean-sid: +.PHONY: check-libgui maybe-check-libgui +maybe-check-libgui: -distclean-sid: - @[ -f ./sid/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-libgui: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing distclean in sid" ; \ - (cd sid && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ - || exit 1 + (cd libgui && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-distclean-sim distclean-sim -maybe-distclean-sim: +.PHONY: install-libgui maybe-install-libgui +maybe-install-libgui: -distclean-sim: - @[ -f ./sim/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-libgui: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing distclean in sim" ; \ - (cd sim && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ - || exit 1 + (cd libgui && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-distclean-tar distclean-tar -maybe-distclean-tar: +# Other targets (info, dvi, etc.) -distclean-tar: - @[ -f ./tar/Makefile ] || exit 0; \ +.PHONY: maybe-info-libgui info-libgui +maybe-info-libgui: + +info-libgui: \ + configure-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in tar" ; \ - (cd tar && \ + echo "Doing info in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + info) \ || exit 1 -.PHONY: maybe-distclean-texinfo distclean-texinfo -maybe-distclean-texinfo: +.PHONY: maybe-dvi-libgui dvi-libgui +maybe-dvi-libgui: -distclean-texinfo: - @[ -f ./texinfo/Makefile ] || exit 0; \ +dvi-libgui: \ + configure-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in texinfo" ; \ - (cd texinfo && \ + echo "Doing dvi in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -.PHONY: maybe-distclean-textutils distclean-textutils -maybe-distclean-textutils: +.PHONY: maybe-TAGS-libgui TAGS-libgui +maybe-TAGS-libgui: -distclean-textutils: - @[ -f ./textutils/Makefile ] || exit 0; \ +TAGS-libgui: \ + configure-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in textutils" ; \ - (cd textutils && \ + echo "Doing TAGS in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-distclean-time distclean-time -maybe-distclean-time: +.PHONY: maybe-install-info-libgui install-info-libgui +maybe-install-info-libgui: -distclean-time: - @[ -f ./time/Makefile ] || exit 0; \ +install-info-libgui: \ + configure-libgui \ + info-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in time" ; \ - (cd time && \ + echo "Doing install-info in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + install-info) \ || exit 1 -.PHONY: maybe-distclean-uudecode distclean-uudecode -maybe-distclean-uudecode: +.PHONY: maybe-installcheck-libgui installcheck-libgui +maybe-installcheck-libgui: -distclean-uudecode: - @[ -f ./uudecode/Makefile ] || exit 0; \ +installcheck-libgui: \ + configure-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in uudecode" ; \ - (cd uudecode && \ + echo "Doing installcheck in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-distclean-wdiff distclean-wdiff -maybe-distclean-wdiff: +.PHONY: maybe-mostlyclean-libgui mostlyclean-libgui +maybe-mostlyclean-libgui: -distclean-wdiff: - @[ -f ./wdiff/Makefile ] || exit 0; \ +mostlyclean-libgui: + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in wdiff" ; \ - (cd wdiff && \ + echo "Doing mostlyclean in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-distclean-zip distclean-zip -maybe-distclean-zip: +.PHONY: maybe-clean-libgui clean-libgui +maybe-clean-libgui: -distclean-zip: - @[ -f ./zip/Makefile ] || exit 0; \ +clean-libgui: + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in zip" ; \ - (cd zip && \ + echo "Doing clean in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + clean) \ || exit 1 -.PHONY: maybe-distclean-zlib distclean-zlib -maybe-distclean-zlib: +.PHONY: maybe-distclean-libgui distclean-libgui +maybe-distclean-libgui: -distclean-zlib: - @[ -f ./zlib/Makefile ] || exit 0; \ +distclean-libgui: + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in zlib" ; \ - (cd zlib && \ + echo "Doing distclean in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -15159,197 +10429,263 @@ distclean-zlib: || exit 1 -.PHONY: maybe-distclean-gdb distclean-gdb -maybe-distclean-gdb: +.PHONY: maybe-maintainer-clean-libgui maintainer-clean-libgui +maybe-maintainer-clean-libgui: -distclean-gdb: - @[ -f ./gdb/Makefile ] || exit 0; \ +maintainer-clean-libgui: + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gdb" ; \ - (cd gdb && \ + echo "Doing maintainer-clean in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-distclean-expect distclean-expect -maybe-distclean-expect: -distclean-expect: - @[ -f ./expect/Makefile ] || exit 0; \ +.PHONY: configure-libiberty maybe-configure-libiberty +maybe-configure-libiberty: +configure-libiberty: + @test ! -f libiberty/Makefile || exit 0; \ + [ -d libiberty ] || mkdir libiberty; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in libiberty; \ + cd libiberty || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-libiberty maybe-all-libiberty +maybe-all-libiberty: +all-libiberty: configure-libiberty + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-libiberty maybe-check-libiberty +maybe-check-libiberty: + +check-libiberty: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-libiberty maybe-install-libiberty +maybe-install-libiberty: + +install-libiberty: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-libiberty info-libiberty +maybe-info-libiberty: + +info-libiberty: \ + configure-libiberty + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in expect" ; \ - (cd expect && \ + echo "Doing info in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + info) \ || exit 1 -.PHONY: maybe-distclean-guile distclean-guile -maybe-distclean-guile: +.PHONY: maybe-dvi-libiberty dvi-libiberty +maybe-dvi-libiberty: -distclean-guile: - @[ -f ./guile/Makefile ] || exit 0; \ +dvi-libiberty: \ + configure-libiberty + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in guile" ; \ - (cd guile && \ + echo "Doing dvi in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -.PHONY: maybe-distclean-tk distclean-tk -maybe-distclean-tk: +.PHONY: maybe-TAGS-libiberty TAGS-libiberty +maybe-TAGS-libiberty: -distclean-tk: - @[ -f ./tk/Makefile ] || exit 0; \ +TAGS-libiberty: \ + configure-libiberty + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in tk" ; \ - (cd tk && \ + echo "Doing TAGS in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-distclean-tix distclean-tix -maybe-distclean-tix: +.PHONY: maybe-install-info-libiberty install-info-libiberty +maybe-install-info-libiberty: -distclean-tix: - @[ -f ./tix/Makefile ] || exit 0; \ +install-info-libiberty: \ + configure-libiberty \ + info-libiberty + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in tix" ; \ - (cd tix && \ + echo "Doing install-info in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + install-info) \ || exit 1 -.PHONY: maybe-distclean-libtermcap distclean-libtermcap -maybe-distclean-libtermcap: - -# libtermcap doesn't support distclean. -distclean-libtermcap: - - -.PHONY: maybe-distclean-utils distclean-utils -maybe-distclean-utils: +.PHONY: maybe-installcheck-libiberty installcheck-libiberty +maybe-installcheck-libiberty: -distclean-utils: - @[ -f ./utils/Makefile ] || exit 0; \ +installcheck-libiberty: \ + configure-libiberty + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in utils" ; \ - (cd utils && \ + echo "Doing installcheck in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + installcheck) \ || exit 1 +.PHONY: maybe-mostlyclean-libiberty mostlyclean-libiberty +maybe-mostlyclean-libiberty: -# Target modules. - -.PHONY: maybe-distclean-target-libstdc++-v3 distclean-target-libstdc++-v3 -maybe-distclean-target-libstdc++-v3: - -distclean-target-libstdc++-v3: - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ +mostlyclean-libiberty: + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + echo "Doing mostlyclean in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-distclean-target-newlib distclean-target-newlib -maybe-distclean-target-newlib: +.PHONY: maybe-clean-libiberty clean-libiberty +maybe-clean-libiberty: -distclean-target-newlib: - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ +clean-libiberty: + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/newlib && \ + echo "Doing clean in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + clean) \ || exit 1 -.PHONY: maybe-distclean-target-libf2c distclean-target-libf2c -maybe-distclean-target-libf2c: +.PHONY: maybe-distclean-libiberty distclean-libiberty +maybe-distclean-libiberty: -distclean-target-libf2c: - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ +distclean-libiberty: + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ + echo "Doing distclean in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -15358,194 +10694,263 @@ distclean-target-libf2c: || exit 1 -.PHONY: maybe-distclean-target-libobjc distclean-target-libobjc -maybe-distclean-target-libobjc: +.PHONY: maybe-maintainer-clean-libiberty maintainer-clean-libiberty +maybe-maintainer-clean-libiberty: -distclean-target-libobjc: - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ +maintainer-clean-libiberty: + @[ -f ./libiberty/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ + echo "Doing maintainer-clean in libiberty" ; \ + (cd libiberty && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-distclean-target-libtermcap distclean-target-libtermcap -maybe-distclean-target-libtermcap: -# libtermcap doesn't support distclean. -distclean-target-libtermcap: +.PHONY: configure-libtool maybe-configure-libtool +maybe-configure-libtool: +configure-libtool: + @test ! -f libtool/Makefile || exit 0; \ + [ -d libtool ] || mkdir libtool; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in libtool; \ + cd libtool || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libtool"; \ + libsrcdir="$$s/libtool";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libtool"; \ + libsrcdir="$$s/libtool";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 +.PHONY: all-libtool maybe-all-libtool +maybe-all-libtool: +all-libtool: configure-libtool + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd libtool && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-distclean-target-winsup distclean-target-winsup -maybe-distclean-target-winsup: +.PHONY: check-libtool maybe-check-libtool +maybe-check-libtool: -distclean-target-winsup: - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ +check-libtool: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd libtool && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-libtool maybe-install-libtool +maybe-install-libtool: + +install-libtool: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd libtool && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-libtool info-libtool +maybe-info-libtool: + +info-libtool: \ + configure-libtool + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/winsup && \ + echo "Doing info in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + info) \ || exit 1 -.PHONY: maybe-distclean-target-libgloss distclean-target-libgloss -maybe-distclean-target-libgloss: +.PHONY: maybe-dvi-libtool dvi-libtool +maybe-dvi-libtool: -distclean-target-libgloss: - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ +dvi-libtool: \ + configure-libtool + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ + echo "Doing dvi in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -.PHONY: maybe-distclean-target-libiberty distclean-target-libiberty -maybe-distclean-target-libiberty: +.PHONY: maybe-TAGS-libtool TAGS-libtool +maybe-TAGS-libtool: -distclean-target-libiberty: - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ +TAGS-libtool: \ + configure-libtool + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ + echo "Doing TAGS in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 -.PHONY: maybe-distclean-target-gperf distclean-target-gperf -maybe-distclean-target-gperf: +.PHONY: maybe-install-info-libtool install-info-libtool +maybe-install-info-libtool: -distclean-target-gperf: - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ +install-info-libtool: \ + configure-libtool \ + info-libtool + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/gperf && \ + echo "Doing install-info in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + install-info) \ || exit 1 -.PHONY: maybe-distclean-target-examples distclean-target-examples -maybe-distclean-target-examples: +.PHONY: maybe-installcheck-libtool installcheck-libtool +maybe-installcheck-libtool: -distclean-target-examples: - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ +installcheck-libtool: \ + configure-libtool + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/examples && \ + echo "Doing installcheck in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + installcheck) \ || exit 1 -.PHONY: maybe-distclean-target-libffi distclean-target-libffi -maybe-distclean-target-libffi: +.PHONY: maybe-mostlyclean-libtool mostlyclean-libtool +maybe-mostlyclean-libtool: -distclean-target-libffi: - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ +mostlyclean-libtool: + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libffi && \ + echo "Doing mostlyclean in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-distclean-target-libjava distclean-target-libjava -maybe-distclean-target-libjava: +.PHONY: maybe-clean-libtool clean-libtool +maybe-clean-libtool: -distclean-target-libjava: - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ +clean-libtool: + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libjava && \ + echo "Doing clean in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + clean) \ || exit 1 -.PHONY: maybe-distclean-target-zlib distclean-target-zlib -maybe-distclean-target-zlib: +.PHONY: maybe-distclean-libtool distclean-libtool +maybe-distclean-libtool: -distclean-target-zlib: - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ +distclean-libtool: + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/zlib && \ + echo "Doing distclean in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -15554,279 +10959,284 @@ distclean-target-zlib: || exit 1 -.PHONY: maybe-distclean-target-boehm-gc distclean-target-boehm-gc -maybe-distclean-target-boehm-gc: +.PHONY: maybe-maintainer-clean-libtool maintainer-clean-libtool +maybe-maintainer-clean-libtool: -distclean-target-boehm-gc: - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ +maintainer-clean-libtool: + @[ -f ./libtool/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ + echo "Doing maintainer-clean in libtool" ; \ + (cd libtool && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + maintainer-clean) \ || exit 1 -.PHONY: maybe-distclean-target-qthreads distclean-target-qthreads -maybe-distclean-target-qthreads: -distclean-target-qthreads: - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ +.PHONY: configure-m4 maybe-configure-m4 +maybe-configure-m4: +configure-m4: + @test ! -f m4/Makefile || exit 0; \ + [ -d m4 ] || mkdir m4; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in m4; \ + cd m4 || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/m4"; \ + libsrcdir="$$s/m4";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/m4"; \ + libsrcdir="$$s/m4";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-m4 maybe-all-m4 +maybe-all-m4: +all-m4: configure-m4 + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd m4 && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-m4 maybe-check-m4 +maybe-check-m4: + +check-m4: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd m4 && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-m4 maybe-install-m4 +maybe-install-m4: + +install-m4: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd m4 && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-m4 info-m4 +maybe-info-m4: + +info-m4: \ + configure-m4 + @[ -f ./m4/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ + echo "Doing info in m4" ; \ + (cd m4 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + info) \ || exit 1 -.PHONY: maybe-distclean-target-rda distclean-target-rda -maybe-distclean-target-rda: +.PHONY: maybe-dvi-m4 dvi-m4 +maybe-dvi-m4: -distclean-target-rda: - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ +dvi-m4: \ + configure-m4 + @[ -f ./m4/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/rda && \ + echo "Doing dvi in m4" ; \ + (cd m4 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + dvi) \ || exit 1 -.PHONY: maybe-distclean-target-libada distclean-target-libada -maybe-distclean-target-libada: +.PHONY: maybe-TAGS-m4 TAGS-m4 +maybe-TAGS-m4: -distclean-target-libada: - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ +TAGS-m4: \ + configure-m4 + @[ -f ./m4/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing distclean in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libada && \ + echo "Doing TAGS in m4" ; \ + (cd m4 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + TAGS) \ || exit 1 +.PHONY: maybe-install-info-m4 install-info-m4 +maybe-install-info-m4: -.PHONY: do-maintainer-clean -do-maintainer-clean: maintainer-clean-host maintainer-clean-target - -.PHONY: maintainer-clean-host -maintainer-clean-host: maybe-maintainer-clean-gcc \ - maybe-maintainer-clean-ash \ - maybe-maintainer-clean-autoconf \ - maybe-maintainer-clean-automake \ - maybe-maintainer-clean-bash \ - maybe-maintainer-clean-bfd \ - maybe-maintainer-clean-opcodes \ - maybe-maintainer-clean-binutils \ - maybe-maintainer-clean-bison \ - maybe-maintainer-clean-byacc \ - maybe-maintainer-clean-bzip2 \ - maybe-maintainer-clean-dejagnu \ - maybe-maintainer-clean-diff \ - maybe-maintainer-clean-dosutils \ - maybe-maintainer-clean-etc \ - maybe-maintainer-clean-fastjar \ - maybe-maintainer-clean-fileutils \ - maybe-maintainer-clean-findutils \ - maybe-maintainer-clean-find \ - maybe-maintainer-clean-flex \ - maybe-maintainer-clean-gas \ - maybe-maintainer-clean-gawk \ - maybe-maintainer-clean-gettext \ - maybe-maintainer-clean-gnuserv \ - maybe-maintainer-clean-gprof \ - maybe-maintainer-clean-gzip \ - maybe-maintainer-clean-hello \ - maybe-maintainer-clean-indent \ - maybe-maintainer-clean-intl \ - maybe-maintainer-clean-tcl \ - maybe-maintainer-clean-itcl \ - maybe-maintainer-clean-ld \ - maybe-maintainer-clean-libgui \ - maybe-maintainer-clean-libiberty \ - maybe-maintainer-clean-libtool \ - maybe-maintainer-clean-m4 \ - maybe-maintainer-clean-make \ - maybe-maintainer-clean-mmalloc \ - maybe-maintainer-clean-patch \ - maybe-maintainer-clean-perl \ - maybe-maintainer-clean-prms \ - maybe-maintainer-clean-rcs \ - maybe-maintainer-clean-readline \ - maybe-maintainer-clean-release \ - maybe-maintainer-clean-recode \ - maybe-maintainer-clean-sed \ - maybe-maintainer-clean-send-pr \ - maybe-maintainer-clean-shellutils \ - maybe-maintainer-clean-sid \ - maybe-maintainer-clean-sim \ - maybe-maintainer-clean-tar \ - maybe-maintainer-clean-texinfo \ - maybe-maintainer-clean-textutils \ - maybe-maintainer-clean-time \ - maybe-maintainer-clean-uudecode \ - maybe-maintainer-clean-wdiff \ - maybe-maintainer-clean-zip \ - maybe-maintainer-clean-zlib \ - maybe-maintainer-clean-gdb \ - maybe-maintainer-clean-expect \ - maybe-maintainer-clean-guile \ - maybe-maintainer-clean-tk \ - maybe-maintainer-clean-tix \ - maybe-maintainer-clean-libtermcap \ - maybe-maintainer-clean-utils - -.PHONY: maintainer-clean-target -maintainer-clean-target: \ - maybe-maintainer-clean-target-libstdc++-v3 \ - maybe-maintainer-clean-target-newlib \ - maybe-maintainer-clean-target-libf2c \ - maybe-maintainer-clean-target-libobjc \ - maybe-maintainer-clean-target-libtermcap \ - maybe-maintainer-clean-target-winsup \ - maybe-maintainer-clean-target-libgloss \ - maybe-maintainer-clean-target-libiberty \ - maybe-maintainer-clean-target-gperf \ - maybe-maintainer-clean-target-examples \ - maybe-maintainer-clean-target-libffi \ - maybe-maintainer-clean-target-libjava \ - maybe-maintainer-clean-target-zlib \ - maybe-maintainer-clean-target-boehm-gc \ - maybe-maintainer-clean-target-qthreads \ - maybe-maintainer-clean-target-rda \ - maybe-maintainer-clean-target-libada +install-info-m4: \ + configure-m4 \ + info-m4 + @[ -f ./m4/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in m4" ; \ + (cd m4 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -# GCC, the eternal special case -.PHONY: maybe-maintainer-clean-gcc maintainer-clean-gcc -maybe-maintainer-clean-gcc: -maintainer-clean-gcc: - @[ -f ./gcc/Makefile ] || exit 0; \ + +.PHONY: maybe-installcheck-m4 installcheck-m4 +maybe-installcheck-m4: + +installcheck-m4: \ + configure-m4 + @[ -f ./m4/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gcc" ; \ - (cd gcc && \ + echo "Doing installcheck in m4" ; \ + (cd m4 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + installcheck) \ || exit 1 -# Host modules. -.PHONY: maybe-maintainer-clean-ash maintainer-clean-ash -maybe-maintainer-clean-ash: +.PHONY: maybe-mostlyclean-m4 mostlyclean-m4 +maybe-mostlyclean-m4: -maintainer-clean-ash: - @[ -f ./ash/Makefile ] || exit 0; \ +mostlyclean-m4: + @[ -f ./m4/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in ash" ; \ - (cd ash && \ + echo "Doing mostlyclean in m4" ; \ + (cd m4 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-autoconf maintainer-clean-autoconf -maybe-maintainer-clean-autoconf: +.PHONY: maybe-clean-m4 clean-m4 +maybe-clean-m4: -maintainer-clean-autoconf: - @[ -f ./autoconf/Makefile ] || exit 0; \ +clean-m4: + @[ -f ./m4/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in autoconf" ; \ - (cd autoconf && \ + echo "Doing clean in m4" ; \ + (cd m4 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + clean) \ || exit 1 -.PHONY: maybe-maintainer-clean-automake maintainer-clean-automake -maybe-maintainer-clean-automake: +.PHONY: maybe-distclean-m4 distclean-m4 +maybe-distclean-m4: -maintainer-clean-automake: - @[ -f ./automake/Makefile ] || exit 0; \ +distclean-m4: + @[ -f ./m4/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in automake" ; \ - (cd automake && \ + echo "Doing distclean in m4" ; \ + (cd m4 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + distclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-bash maintainer-clean-bash -maybe-maintainer-clean-bash: +.PHONY: maybe-maintainer-clean-m4 maintainer-clean-m4 +maybe-maintainer-clean-m4: -maintainer-clean-bash: - @[ -f ./bash/Makefile ] || exit 0; \ +maintainer-clean-m4: + @[ -f ./m4/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in bash" ; \ - (cd bash && \ + echo "Doing maintainer-clean in m4" ; \ + (cd m4 && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -15835,187 +11245,263 @@ maintainer-clean-bash: || exit 1 -.PHONY: maybe-maintainer-clean-bfd maintainer-clean-bfd -maybe-maintainer-clean-bfd: -maintainer-clean-bfd: - @[ -f ./bfd/Makefile ] || exit 0; \ +.PHONY: configure-make maybe-configure-make +maybe-configure-make: +configure-make: + @test ! -f make/Makefile || exit 0; \ + [ -d make ] || mkdir make; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in make; \ + cd make || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/make"; \ + libsrcdir="$$s/make";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/make"; \ + libsrcdir="$$s/make";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-make maybe-all-make +maybe-all-make: +all-make: configure-make + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd make && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-make maybe-check-make +maybe-check-make: + +check-make: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd make && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-make maybe-install-make +maybe-install-make: + +install-make: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd make && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-make info-make +maybe-info-make: + +info-make: \ + configure-make + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in bfd" ; \ - (cd bfd && \ + echo "Doing info in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + info) \ || exit 1 -.PHONY: maybe-maintainer-clean-opcodes maintainer-clean-opcodes -maybe-maintainer-clean-opcodes: +.PHONY: maybe-dvi-make dvi-make +maybe-dvi-make: -maintainer-clean-opcodes: - @[ -f ./opcodes/Makefile ] || exit 0; \ +dvi-make: \ + configure-make + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in opcodes" ; \ - (cd opcodes && \ + echo "Doing dvi in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + dvi) \ || exit 1 -.PHONY: maybe-maintainer-clean-binutils maintainer-clean-binutils -maybe-maintainer-clean-binutils: +.PHONY: maybe-TAGS-make TAGS-make +maybe-TAGS-make: -maintainer-clean-binutils: - @[ -f ./binutils/Makefile ] || exit 0; \ +TAGS-make: \ + configure-make + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in binutils" ; \ - (cd binutils && \ + echo "Doing TAGS in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-maintainer-clean-bison maintainer-clean-bison -maybe-maintainer-clean-bison: +.PHONY: maybe-install-info-make install-info-make +maybe-install-info-make: -maintainer-clean-bison: - @[ -f ./bison/Makefile ] || exit 0; \ +install-info-make: \ + configure-make \ + info-make + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in bison" ; \ - (cd bison && \ + echo "Doing install-info in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + install-info) \ || exit 1 -.PHONY: maybe-maintainer-clean-byacc maintainer-clean-byacc -maybe-maintainer-clean-byacc: +.PHONY: maybe-installcheck-make installcheck-make +maybe-installcheck-make: -maintainer-clean-byacc: - @[ -f ./byacc/Makefile ] || exit 0; \ +installcheck-make: \ + configure-make + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in byacc" ; \ - (cd byacc && \ + echo "Doing installcheck in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-maintainer-clean-bzip2 maintainer-clean-bzip2 -maybe-maintainer-clean-bzip2: +.PHONY: maybe-mostlyclean-make mostlyclean-make +maybe-mostlyclean-make: -maintainer-clean-bzip2: - @[ -f ./bzip2/Makefile ] || exit 0; \ +mostlyclean-make: + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in bzip2" ; \ - (cd bzip2 && \ + echo "Doing mostlyclean in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-dejagnu maintainer-clean-dejagnu -maybe-maintainer-clean-dejagnu: +.PHONY: maybe-clean-make clean-make +maybe-clean-make: -maintainer-clean-dejagnu: - @[ -f ./dejagnu/Makefile ] || exit 0; \ +clean-make: + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in dejagnu" ; \ - (cd dejagnu && \ + echo "Doing clean in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + clean) \ || exit 1 -.PHONY: maybe-maintainer-clean-diff maintainer-clean-diff -maybe-maintainer-clean-diff: +.PHONY: maybe-distclean-make distclean-make +maybe-distclean-make: -maintainer-clean-diff: - @[ -f ./diff/Makefile ] || exit 0; \ +distclean-make: + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in diff" ; \ - (cd diff && \ + echo "Doing distclean in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + distclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-dosutils maintainer-clean-dosutils -maybe-maintainer-clean-dosutils: +.PHONY: maybe-maintainer-clean-make maintainer-clean-make +maybe-maintainer-clean-make: -maintainer-clean-dosutils: - @[ -f ./dosutils/Makefile ] || exit 0; \ +maintainer-clean-make: + @[ -f ./make/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in dosutils" ; \ - (cd dosutils && \ + echo "Doing maintainer-clean in make" ; \ + (cd make && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -16024,187 +11510,259 @@ maintainer-clean-dosutils: || exit 1 -.PHONY: maybe-maintainer-clean-etc maintainer-clean-etc -maybe-maintainer-clean-etc: -maintainer-clean-etc: - @[ -f ./etc/Makefile ] || exit 0; \ +.PHONY: configure-mmalloc maybe-configure-mmalloc +maybe-configure-mmalloc: +configure-mmalloc: + @test ! -f mmalloc/Makefile || exit 0; \ + [ -d mmalloc ] || mkdir mmalloc; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in mmalloc; \ + cd mmalloc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/mmalloc"; \ + libsrcdir="$$s/mmalloc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/mmalloc"; \ + libsrcdir="$$s/mmalloc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-mmalloc maybe-all-mmalloc +maybe-all-mmalloc: +all-mmalloc: configure-mmalloc + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-mmalloc maybe-check-mmalloc +maybe-check-mmalloc: + +check-mmalloc: + + +.PHONY: install-mmalloc maybe-install-mmalloc +maybe-install-mmalloc: + +install-mmalloc: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-mmalloc info-mmalloc +maybe-info-mmalloc: + +info-mmalloc: \ + configure-mmalloc + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in etc" ; \ - (cd etc && \ + echo "Doing info in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + info) \ || exit 1 -.PHONY: maybe-maintainer-clean-fastjar maintainer-clean-fastjar -maybe-maintainer-clean-fastjar: +.PHONY: maybe-dvi-mmalloc dvi-mmalloc +maybe-dvi-mmalloc: -maintainer-clean-fastjar: - @[ -f ./fastjar/Makefile ] || exit 0; \ +dvi-mmalloc: \ + configure-mmalloc + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in fastjar" ; \ - (cd fastjar && \ + echo "Doing dvi in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + dvi) \ || exit 1 -.PHONY: maybe-maintainer-clean-fileutils maintainer-clean-fileutils -maybe-maintainer-clean-fileutils: +.PHONY: maybe-TAGS-mmalloc TAGS-mmalloc +maybe-TAGS-mmalloc: -maintainer-clean-fileutils: - @[ -f ./fileutils/Makefile ] || exit 0; \ +TAGS-mmalloc: \ + configure-mmalloc + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in fileutils" ; \ - (cd fileutils && \ + echo "Doing TAGS in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-maintainer-clean-findutils maintainer-clean-findutils -maybe-maintainer-clean-findutils: +.PHONY: maybe-install-info-mmalloc install-info-mmalloc +maybe-install-info-mmalloc: -maintainer-clean-findutils: - @[ -f ./findutils/Makefile ] || exit 0; \ +install-info-mmalloc: \ + configure-mmalloc \ + info-mmalloc + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in findutils" ; \ - (cd findutils && \ + echo "Doing install-info in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + install-info) \ || exit 1 -.PHONY: maybe-maintainer-clean-find maintainer-clean-find -maybe-maintainer-clean-find: +.PHONY: maybe-installcheck-mmalloc installcheck-mmalloc +maybe-installcheck-mmalloc: -maintainer-clean-find: - @[ -f ./find/Makefile ] || exit 0; \ +installcheck-mmalloc: \ + configure-mmalloc + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in find" ; \ - (cd find && \ + echo "Doing installcheck in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-maintainer-clean-flex maintainer-clean-flex -maybe-maintainer-clean-flex: +.PHONY: maybe-mostlyclean-mmalloc mostlyclean-mmalloc +maybe-mostlyclean-mmalloc: -maintainer-clean-flex: - @[ -f ./flex/Makefile ] || exit 0; \ +mostlyclean-mmalloc: + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in flex" ; \ - (cd flex && \ + echo "Doing mostlyclean in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-gas maintainer-clean-gas -maybe-maintainer-clean-gas: +.PHONY: maybe-clean-mmalloc clean-mmalloc +maybe-clean-mmalloc: -maintainer-clean-gas: - @[ -f ./gas/Makefile ] || exit 0; \ +clean-mmalloc: + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gas" ; \ - (cd gas && \ + echo "Doing clean in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + clean) \ || exit 1 -.PHONY: maybe-maintainer-clean-gawk maintainer-clean-gawk -maybe-maintainer-clean-gawk: +.PHONY: maybe-distclean-mmalloc distclean-mmalloc +maybe-distclean-mmalloc: -maintainer-clean-gawk: - @[ -f ./gawk/Makefile ] || exit 0; \ +distclean-mmalloc: + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gawk" ; \ - (cd gawk && \ + echo "Doing distclean in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + distclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-gettext maintainer-clean-gettext -maybe-maintainer-clean-gettext: +.PHONY: maybe-maintainer-clean-mmalloc maintainer-clean-mmalloc +maybe-maintainer-clean-mmalloc: -maintainer-clean-gettext: - @[ -f ./gettext/Makefile ] || exit 0; \ +maintainer-clean-mmalloc: + @[ -f ./mmalloc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gettext" ; \ - (cd gettext && \ + echo "Doing maintainer-clean in mmalloc" ; \ + (cd mmalloc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -16212,251 +11770,264 @@ maintainer-clean-gettext: maintainer-clean) \ || exit 1 - -.PHONY: maybe-maintainer-clean-gnuserv maintainer-clean-gnuserv -maybe-maintainer-clean-gnuserv: - -maintainer-clean-gnuserv: - @[ -f ./gnuserv/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ + + +.PHONY: configure-patch maybe-configure-patch +maybe-configure-patch: +configure-patch: + @test ! -f patch/Makefile || exit 0; \ + [ -d patch ] || mkdir patch; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in patch; \ + cd patch || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/patch"; \ + libsrcdir="$$s/patch";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/patch"; \ + libsrcdir="$$s/patch";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-patch maybe-all-patch +maybe-all-patch: +all-patch: configure-patch + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in gnuserv" ; \ - (cd gnuserv && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 - + (cd patch && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-maintainer-clean-gprof maintainer-clean-gprof -maybe-maintainer-clean-gprof: +.PHONY: check-patch maybe-check-patch +maybe-check-patch: -maintainer-clean-gprof: - @[ -f ./gprof/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-patch: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in gprof" ; \ - (cd gprof && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 + (cd patch && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-maintainer-clean-gzip maintainer-clean-gzip -maybe-maintainer-clean-gzip: +.PHONY: install-patch maybe-install-patch +maybe-install-patch: -maintainer-clean-gzip: - @[ -f ./gzip/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-patch: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in gzip" ; \ - (cd gzip && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 + (cd patch && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-maintainer-clean-hello maintainer-clean-hello -maybe-maintainer-clean-hello: +# Other targets (info, dvi, etc.) -maintainer-clean-hello: - @[ -f ./hello/Makefile ] || exit 0; \ +.PHONY: maybe-info-patch info-patch +maybe-info-patch: + +info-patch: \ + configure-patch + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in hello" ; \ - (cd hello && \ + echo "Doing info in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + info) \ || exit 1 -.PHONY: maybe-maintainer-clean-indent maintainer-clean-indent -maybe-maintainer-clean-indent: +.PHONY: maybe-dvi-patch dvi-patch +maybe-dvi-patch: -maintainer-clean-indent: - @[ -f ./indent/Makefile ] || exit 0; \ +dvi-patch: \ + configure-patch + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in indent" ; \ - (cd indent && \ + echo "Doing dvi in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + dvi) \ || exit 1 -.PHONY: maybe-maintainer-clean-intl maintainer-clean-intl -maybe-maintainer-clean-intl: +.PHONY: maybe-TAGS-patch TAGS-patch +maybe-TAGS-patch: -maintainer-clean-intl: - @[ -f ./intl/Makefile ] || exit 0; \ +TAGS-patch: \ + configure-patch + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in intl" ; \ - (cd intl && \ + echo "Doing TAGS in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-maintainer-clean-tcl maintainer-clean-tcl -maybe-maintainer-clean-tcl: +.PHONY: maybe-install-info-patch install-info-patch +maybe-install-info-patch: -maintainer-clean-tcl: - @[ -f ./tcl/Makefile ] || exit 0; \ +install-info-patch: \ + configure-patch \ + info-patch + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in tcl" ; \ - (cd tcl && \ + echo "Doing install-info in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + install-info) \ || exit 1 -.PHONY: maybe-maintainer-clean-itcl maintainer-clean-itcl -maybe-maintainer-clean-itcl: +.PHONY: maybe-installcheck-patch installcheck-patch +maybe-installcheck-patch: -maintainer-clean-itcl: - @[ -f ./itcl/Makefile ] || exit 0; \ +installcheck-patch: \ + configure-patch + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in itcl" ; \ - (cd itcl && \ + echo "Doing installcheck in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-maintainer-clean-ld maintainer-clean-ld -maybe-maintainer-clean-ld: +.PHONY: maybe-mostlyclean-patch mostlyclean-patch +maybe-mostlyclean-patch: -maintainer-clean-ld: - @[ -f ./ld/Makefile ] || exit 0; \ +mostlyclean-patch: + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in ld" ; \ - (cd ld && \ + echo "Doing mostlyclean in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-libgui maintainer-clean-libgui -maybe-maintainer-clean-libgui: +.PHONY: maybe-clean-patch clean-patch +maybe-clean-patch: -maintainer-clean-libgui: - @[ -f ./libgui/Makefile ] || exit 0; \ +clean-patch: + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in libgui" ; \ - (cd libgui && \ + echo "Doing clean in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + clean) \ || exit 1 -.PHONY: maybe-maintainer-clean-libiberty maintainer-clean-libiberty -maybe-maintainer-clean-libiberty: +.PHONY: maybe-distclean-patch distclean-patch +maybe-distclean-patch: -maintainer-clean-libiberty: - @[ -f ./libiberty/Makefile ] || exit 0; \ +distclean-patch: + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in libiberty" ; \ - (cd libiberty && \ + echo "Doing distclean in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + distclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-libtool maintainer-clean-libtool -maybe-maintainer-clean-libtool: +.PHONY: maybe-maintainer-clean-patch maintainer-clean-patch +maybe-maintainer-clean-patch: -maintainer-clean-libtool: - @[ -f ./libtool/Makefile ] || exit 0; \ +maintainer-clean-patch: + @[ -f ./patch/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in libtool" ; \ - (cd libtool && \ + echo "Doing maintainer-clean in patch" ; \ + (cd patch && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -16465,94 +12036,103 @@ maintainer-clean-libtool: || exit 1 -.PHONY: maybe-maintainer-clean-m4 maintainer-clean-m4 -maybe-maintainer-clean-m4: -maintainer-clean-m4: - @[ -f ./m4/Makefile ] || exit 0; \ +.PHONY: configure-perl maybe-configure-perl +maybe-configure-perl: +configure-perl: + @test ! -f perl/Makefile || exit 0; \ + [ -d perl ] || mkdir perl; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in m4" ; \ - (cd m4 && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in perl; \ + cd perl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/perl"; \ + libsrcdir="$$s/perl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/perl"; \ + libsrcdir="$$s/perl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-perl maybe-all-perl +maybe-all-perl: +all-perl: configure-perl + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd perl && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-maintainer-clean-make maintainer-clean-make -maybe-maintainer-clean-make: +.PHONY: check-perl maybe-check-perl +maybe-check-perl: -maintainer-clean-make: - @[ -f ./make/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-perl: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in make" ; \ - (cd make && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 + (cd perl && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-maintainer-clean-mmalloc maintainer-clean-mmalloc -maybe-maintainer-clean-mmalloc: +.PHONY: install-perl maybe-install-perl +maybe-install-perl: -maintainer-clean-mmalloc: - @[ -f ./mmalloc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-perl: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in mmalloc" ; \ - (cd mmalloc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 + (cd perl && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-maintainer-clean-patch maintainer-clean-patch -maybe-maintainer-clean-patch: +# Other targets (info, dvi, etc.) -maintainer-clean-patch: - @[ -f ./patch/Makefile ] || exit 0; \ +.PHONY: maybe-info-perl info-perl +maybe-info-perl: + +info-perl: \ + configure-perl + @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in patch" ; \ - (cd patch && \ + echo "Doing info in perl" ; \ + (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + info) \ || exit 1 -.PHONY: maybe-maintainer-clean-perl maintainer-clean-perl -maybe-maintainer-clean-perl: +.PHONY: maybe-dvi-perl dvi-perl +maybe-dvi-perl: -maintainer-clean-perl: +dvi-perl: \ + configure-perl @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -16560,155 +12140,159 @@ maintainer-clean-perl: for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in perl" ; \ + echo "Doing dvi in perl" ; \ (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + dvi) \ || exit 1 -.PHONY: maybe-maintainer-clean-prms maintainer-clean-prms -maybe-maintainer-clean-prms: +.PHONY: maybe-TAGS-perl TAGS-perl +maybe-TAGS-perl: -maintainer-clean-prms: - @[ -f ./prms/Makefile ] || exit 0; \ +TAGS-perl: \ + configure-perl + @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in prms" ; \ - (cd prms && \ + echo "Doing TAGS in perl" ; \ + (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-maintainer-clean-rcs maintainer-clean-rcs -maybe-maintainer-clean-rcs: +.PHONY: maybe-install-info-perl install-info-perl +maybe-install-info-perl: -maintainer-clean-rcs: - @[ -f ./rcs/Makefile ] || exit 0; \ +install-info-perl: \ + configure-perl \ + info-perl + @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in rcs" ; \ - (cd rcs && \ + echo "Doing install-info in perl" ; \ + (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + install-info) \ || exit 1 -.PHONY: maybe-maintainer-clean-readline maintainer-clean-readline -maybe-maintainer-clean-readline: +.PHONY: maybe-installcheck-perl installcheck-perl +maybe-installcheck-perl: -maintainer-clean-readline: - @[ -f ./readline/Makefile ] || exit 0; \ +installcheck-perl: \ + configure-perl + @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in readline" ; \ - (cd readline && \ + echo "Doing installcheck in perl" ; \ + (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-maintainer-clean-release maintainer-clean-release -maybe-maintainer-clean-release: +.PHONY: maybe-mostlyclean-perl mostlyclean-perl +maybe-mostlyclean-perl: -maintainer-clean-release: - @[ -f ./release/Makefile ] || exit 0; \ +mostlyclean-perl: + @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in release" ; \ - (cd release && \ + echo "Doing mostlyclean in perl" ; \ + (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-recode maintainer-clean-recode -maybe-maintainer-clean-recode: +.PHONY: maybe-clean-perl clean-perl +maybe-clean-perl: -maintainer-clean-recode: - @[ -f ./recode/Makefile ] || exit 0; \ +clean-perl: + @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in recode" ; \ - (cd recode && \ + echo "Doing clean in perl" ; \ + (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + clean) \ || exit 1 -.PHONY: maybe-maintainer-clean-sed maintainer-clean-sed -maybe-maintainer-clean-sed: +.PHONY: maybe-distclean-perl distclean-perl +maybe-distclean-perl: -maintainer-clean-sed: - @[ -f ./sed/Makefile ] || exit 0; \ +distclean-perl: + @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in sed" ; \ - (cd sed && \ + echo "Doing distclean in perl" ; \ + (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + distclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-send-pr maintainer-clean-send-pr -maybe-maintainer-clean-send-pr: +.PHONY: maybe-maintainer-clean-perl maintainer-clean-perl +maybe-maintainer-clean-perl: -maintainer-clean-send-pr: - @[ -f ./send-pr/Makefile ] || exit 0; \ +maintainer-clean-perl: + @[ -f ./perl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in send-pr" ; \ - (cd send-pr && \ + echo "Doing maintainer-clean in perl" ; \ + (cd perl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -16717,250 +12301,263 @@ maintainer-clean-send-pr: || exit 1 -.PHONY: maybe-maintainer-clean-shellutils maintainer-clean-shellutils -maybe-maintainer-clean-shellutils: -maintainer-clean-shellutils: - @[ -f ./shellutils/Makefile ] || exit 0; \ +.PHONY: configure-prms maybe-configure-prms +maybe-configure-prms: +configure-prms: + @test ! -f prms/Makefile || exit 0; \ + [ -d prms ] || mkdir prms; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in shellutils" ; \ - (cd shellutils && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in prms; \ + cd prms || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/prms"; \ + libsrcdir="$$s/prms";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/prms"; \ + libsrcdir="$$s/prms";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-prms maybe-all-prms +maybe-all-prms: +all-prms: configure-prms + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd prms && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-maintainer-clean-sid maintainer-clean-sid -maybe-maintainer-clean-sid: +.PHONY: check-prms maybe-check-prms +maybe-check-prms: -maintainer-clean-sid: - @[ -f ./sid/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-prms: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in sid" ; \ - (cd sid && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 + (cd prms && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-maintainer-clean-sim maintainer-clean-sim -maybe-maintainer-clean-sim: +.PHONY: install-prms maybe-install-prms +maybe-install-prms: -maintainer-clean-sim: - @[ -f ./sim/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-prms: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in sim" ; \ - (cd sim && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 + (cd prms && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-maintainer-clean-tar maintainer-clean-tar -maybe-maintainer-clean-tar: +# Other targets (info, dvi, etc.) -maintainer-clean-tar: - @[ -f ./tar/Makefile ] || exit 0; \ +.PHONY: maybe-info-prms info-prms +maybe-info-prms: + +info-prms: \ + configure-prms + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in tar" ; \ - (cd tar && \ + echo "Doing info in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + info) \ || exit 1 -.PHONY: maybe-maintainer-clean-texinfo maintainer-clean-texinfo -maybe-maintainer-clean-texinfo: +.PHONY: maybe-dvi-prms dvi-prms +maybe-dvi-prms: -maintainer-clean-texinfo: - @[ -f ./texinfo/Makefile ] || exit 0; \ +dvi-prms: \ + configure-prms + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in texinfo" ; \ - (cd texinfo && \ + echo "Doing dvi in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + dvi) \ || exit 1 -.PHONY: maybe-maintainer-clean-textutils maintainer-clean-textutils -maybe-maintainer-clean-textutils: +.PHONY: maybe-TAGS-prms TAGS-prms +maybe-TAGS-prms: -maintainer-clean-textutils: - @[ -f ./textutils/Makefile ] || exit 0; \ +TAGS-prms: \ + configure-prms + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in textutils" ; \ - (cd textutils && \ + echo "Doing TAGS in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-maintainer-clean-time maintainer-clean-time -maybe-maintainer-clean-time: +.PHONY: maybe-install-info-prms install-info-prms +maybe-install-info-prms: -maintainer-clean-time: - @[ -f ./time/Makefile ] || exit 0; \ +install-info-prms: \ + configure-prms \ + info-prms + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in time" ; \ - (cd time && \ + echo "Doing install-info in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + install-info) \ || exit 1 -.PHONY: maybe-maintainer-clean-uudecode maintainer-clean-uudecode -maybe-maintainer-clean-uudecode: +.PHONY: maybe-installcheck-prms installcheck-prms +maybe-installcheck-prms: -maintainer-clean-uudecode: - @[ -f ./uudecode/Makefile ] || exit 0; \ +installcheck-prms: \ + configure-prms + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in uudecode" ; \ - (cd uudecode && \ + echo "Doing installcheck in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-maintainer-clean-wdiff maintainer-clean-wdiff -maybe-maintainer-clean-wdiff: +.PHONY: maybe-mostlyclean-prms mostlyclean-prms +maybe-mostlyclean-prms: -maintainer-clean-wdiff: - @[ -f ./wdiff/Makefile ] || exit 0; \ +mostlyclean-prms: + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in wdiff" ; \ - (cd wdiff && \ + echo "Doing mostlyclean in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-zip maintainer-clean-zip -maybe-maintainer-clean-zip: +.PHONY: maybe-clean-prms clean-prms +maybe-clean-prms: -maintainer-clean-zip: - @[ -f ./zip/Makefile ] || exit 0; \ +clean-prms: + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in zip" ; \ - (cd zip && \ + echo "Doing clean in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + clean) \ || exit 1 -.PHONY: maybe-maintainer-clean-zlib maintainer-clean-zlib -maybe-maintainer-clean-zlib: +.PHONY: maybe-distclean-prms distclean-prms +maybe-distclean-prms: -maintainer-clean-zlib: - @[ -f ./zlib/Makefile ] || exit 0; \ +distclean-prms: + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in zlib" ; \ - (cd zlib && \ + echo "Doing distclean in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + distclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-gdb maintainer-clean-gdb -maybe-maintainer-clean-gdb: +.PHONY: maybe-maintainer-clean-prms maintainer-clean-prms +maybe-maintainer-clean-prms: -maintainer-clean-gdb: - @[ -f ./gdb/Makefile ] || exit 0; \ +maintainer-clean-prms: + @[ -f ./prms/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gdb" ; \ - (cd gdb && \ + echo "Doing maintainer-clean in prms" ; \ + (cd prms && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -16969,267 +12566,263 @@ maintainer-clean-gdb: || exit 1 -.PHONY: maybe-maintainer-clean-expect maintainer-clean-expect -maybe-maintainer-clean-expect: -maintainer-clean-expect: - @[ -f ./expect/Makefile ] || exit 0; \ +.PHONY: configure-rcs maybe-configure-rcs +maybe-configure-rcs: +configure-rcs: + @test ! -f rcs/Makefile || exit 0; \ + [ -d rcs ] || mkdir rcs; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in expect" ; \ - (cd expect && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in rcs; \ + cd rcs || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/rcs"; \ + libsrcdir="$$s/rcs";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/rcs"; \ + libsrcdir="$$s/rcs";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 +.PHONY: all-rcs maybe-all-rcs +maybe-all-rcs: +all-rcs: configure-rcs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd rcs && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: maybe-maintainer-clean-guile maintainer-clean-guile -maybe-maintainer-clean-guile: +.PHONY: check-rcs maybe-check-rcs +maybe-check-rcs: -maintainer-clean-guile: - @[ -f ./guile/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +check-rcs: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in guile" ; \ - (cd guile && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 + (cd rcs && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: maybe-maintainer-clean-tk maintainer-clean-tk -maybe-maintainer-clean-tk: +.PHONY: install-rcs maybe-install-rcs +maybe-install-rcs: -maintainer-clean-tk: - @[ -f ./tk/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ +install-rcs: installdirs + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in tk" ; \ - (cd tk && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 + (cd rcs && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: maybe-maintainer-clean-tix maintainer-clean-tix -maybe-maintainer-clean-tix: +# Other targets (info, dvi, etc.) -maintainer-clean-tix: - @[ -f ./tix/Makefile ] || exit 0; \ +.PHONY: maybe-info-rcs info-rcs +maybe-info-rcs: + +info-rcs: \ + configure-rcs + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in tix" ; \ - (cd tix && \ + done; \ + echo "Doing info in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + info) \ || exit 1 -.PHONY: maybe-maintainer-clean-libtermcap maintainer-clean-libtermcap -maybe-maintainer-clean-libtermcap: - -# libtermcap doesn't support maintainer-clean. -maintainer-clean-libtermcap: - - -.PHONY: maybe-maintainer-clean-utils maintainer-clean-utils -maybe-maintainer-clean-utils: +.PHONY: maybe-dvi-rcs dvi-rcs +maybe-dvi-rcs: -maintainer-clean-utils: - @[ -f ./utils/Makefile ] || exit 0; \ +dvi-rcs: \ + configure-rcs + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in utils" ; \ - (cd utils && \ + echo "Doing dvi in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + dvi) \ || exit 1 +.PHONY: maybe-TAGS-rcs TAGS-rcs +maybe-TAGS-rcs: -# Target modules. - -.PHONY: maybe-maintainer-clean-target-libstdc++-v3 maintainer-clean-target-libstdc++-v3 -maybe-maintainer-clean-target-libstdc++-v3: - -maintainer-clean-target-libstdc++-v3: - @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ +TAGS-rcs: \ + configure-rcs + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + echo "Doing TAGS in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-newlib maintainer-clean-target-newlib -maybe-maintainer-clean-target-newlib: +.PHONY: maybe-install-info-rcs install-info-rcs +maybe-install-info-rcs: -maintainer-clean-target-newlib: - @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ +install-info-rcs: \ + configure-rcs \ + info-rcs + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/newlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/newlib && \ + echo "Doing install-info in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + install-info) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-libf2c maintainer-clean-target-libf2c -maybe-maintainer-clean-target-libf2c: +.PHONY: maybe-installcheck-rcs installcheck-rcs +maybe-installcheck-rcs: -maintainer-clean-target-libf2c: - @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ +installcheck-rcs: \ + configure-rcs + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libf2c" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libf2c && \ + echo "Doing installcheck in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-libobjc maintainer-clean-target-libobjc -maybe-maintainer-clean-target-libobjc: +.PHONY: maybe-mostlyclean-rcs mostlyclean-rcs +maybe-mostlyclean-rcs: -maintainer-clean-target-libobjc: - @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ +mostlyclean-rcs: + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libobjc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libobjc && \ + echo "Doing mostlyclean in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-libtermcap maintainer-clean-target-libtermcap -maybe-maintainer-clean-target-libtermcap: - -# libtermcap doesn't support maintainer-clean. -maintainer-clean-target-libtermcap: - - -.PHONY: maybe-maintainer-clean-target-winsup maintainer-clean-target-winsup -maybe-maintainer-clean-target-winsup: +.PHONY: maybe-clean-rcs clean-rcs +maybe-clean-rcs: -maintainer-clean-target-winsup: - @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ +clean-rcs: + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/winsup" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/winsup && \ + echo "Doing clean in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + clean) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-libgloss maintainer-clean-target-libgloss -maybe-maintainer-clean-target-libgloss: +.PHONY: maybe-distclean-rcs distclean-rcs +maybe-distclean-rcs: -maintainer-clean-target-libgloss: - @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ +distclean-rcs: + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgloss" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libgloss && \ + echo "Doing distclean in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + distclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-libiberty maintainer-clean-target-libiberty -maybe-maintainer-clean-target-libiberty: +.PHONY: maybe-maintainer-clean-rcs maintainer-clean-rcs +maybe-maintainer-clean-rcs: -maintainer-clean-target-libiberty: - @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ +maintainer-clean-rcs: + @[ -f ./rcs/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libiberty" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libiberty && \ + echo "Doing maintainer-clean in rcs" ; \ + (cd rcs && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -17238,187 +12831,263 @@ maintainer-clean-target-libiberty: || exit 1 -.PHONY: maybe-maintainer-clean-target-gperf maintainer-clean-target-gperf -maybe-maintainer-clean-target-gperf: -maintainer-clean-target-gperf: - @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ +.PHONY: configure-readline maybe-configure-readline +maybe-configure-readline: +configure-readline: + @test ! -f readline/Makefile || exit 0; \ + [ -d readline ] || mkdir readline; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in readline; \ + cd readline || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/readline"; \ + libsrcdir="$$s/readline";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/readline"; \ + libsrcdir="$$s/readline";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 + +.PHONY: all-readline maybe-all-readline +maybe-all-readline: +all-readline: configure-readline + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd readline && $(MAKE) $(FLAGS_TO_PASS) all) + +.PHONY: check-readline maybe-check-readline +maybe-check-readline: + +check-readline: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd readline && $(MAKE) $(FLAGS_TO_PASS) check) + + +.PHONY: install-readline maybe-install-readline +maybe-install-readline: + +install-readline: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd readline && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-readline info-readline +maybe-info-readline: + +info-readline: \ + configure-readline + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/gperf" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/gperf && \ + echo "Doing info in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + info) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-examples maintainer-clean-target-examples -maybe-maintainer-clean-target-examples: +.PHONY: maybe-dvi-readline dvi-readline +maybe-dvi-readline: -maintainer-clean-target-examples: - @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ +dvi-readline: \ + configure-readline + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/examples" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/examples && \ + echo "Doing dvi in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + dvi) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-libffi maintainer-clean-target-libffi -maybe-maintainer-clean-target-libffi: - -maintainer-clean-target-libffi: - @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ +.PHONY: maybe-TAGS-readline TAGS-readline +maybe-TAGS-readline: + +TAGS-readline: \ + configure-readline + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libffi" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libffi && \ + echo "Doing TAGS in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + TAGS) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-libjava maintainer-clean-target-libjava -maybe-maintainer-clean-target-libjava: +.PHONY: maybe-install-info-readline install-info-readline +maybe-install-info-readline: -maintainer-clean-target-libjava: - @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ +install-info-readline: \ + configure-readline \ + info-readline + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libjava" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libjava && \ + echo "Doing install-info in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + install-info) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-zlib maintainer-clean-target-zlib -maybe-maintainer-clean-target-zlib: +.PHONY: maybe-installcheck-readline installcheck-readline +maybe-installcheck-readline: -maintainer-clean-target-zlib: - @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ +installcheck-readline: \ + configure-readline + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/zlib" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/zlib && \ + echo "Doing installcheck in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + installcheck) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-boehm-gc maintainer-clean-target-boehm-gc -maybe-maintainer-clean-target-boehm-gc: +.PHONY: maybe-mostlyclean-readline mostlyclean-readline +maybe-mostlyclean-readline: -maintainer-clean-target-boehm-gc: - @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ +mostlyclean-readline: + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/boehm-gc" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ + echo "Doing mostlyclean in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + mostlyclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-qthreads maintainer-clean-target-qthreads -maybe-maintainer-clean-target-qthreads: +.PHONY: maybe-clean-readline clean-readline +maybe-clean-readline: -maintainer-clean-target-qthreads: - @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ +clean-readline: + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/qthreads" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/qthreads && \ + echo "Doing clean in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + clean) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-rda maintainer-clean-target-rda -maybe-maintainer-clean-target-rda: +.PHONY: maybe-distclean-readline distclean-readline +maybe-distclean-readline: -maintainer-clean-target-rda: - @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ +distclean-readline: + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/rda" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/rda && \ + echo "Doing distclean in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + distclean) \ || exit 1 -.PHONY: maybe-maintainer-clean-target-libada maintainer-clean-target-libada -maybe-maintainer-clean-target-libada: +.PHONY: maybe-maintainer-clean-readline maintainer-clean-readline +maybe-maintainer-clean-readline: -maintainer-clean-target-libada: - @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ +maintainer-clean-readline: + @[ -f ./readline/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - (cd $(TARGET_SUBDIR)/libada && \ + echo "Doing maintainer-clean in readline" ; \ + (cd readline && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ @@ -17428,463 +13097,268 @@ maintainer-clean-target-libada: +.PHONY: configure-release maybe-configure-release +maybe-configure-release: +configure-release: + @test ! -f release/Makefile || exit 0; \ + [ -d release ] || mkdir release; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in release; \ + cd release || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/release"; \ + libsrcdir="$$s/release";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/release"; \ + libsrcdir="$$s/release";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + || exit 1 -# Here are the targets which correspond to the do-X targets. - -.PHONY: info installcheck dvi install-info -.PHONY: clean distclean mostlyclean maintainer-clean realclean -.PHONY: local-clean local-distclean local-maintainer-clean -info: do-info -installcheck: do-installcheck -dvi: do-dvi - -# Make sure makeinfo is built before we do a `make info', if we're -# in fact building texinfo. -do-info: maybe-all-texinfo - -install-info: do-install-info dir.info - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - if [ -f dir.info ] ; then \ - $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \ - else true ; fi - -local-clean: - -rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E *.log - -local-distclean: - -rm -f Makefile config.status config.cache mh-frag mt-frag - -rm -f multilib.out multilib.tmp maybedep.tmp serdep.tmp - -if [ "$(TARGET_SUBDIR)" != "." ]; then \ - rm -rf $(TARGET_SUBDIR); \ - else true; fi - -rm -rf $(BUILD_SUBDIR) - -rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile - -rm -f texinfo/doc/Makefile texinfo/po/POTFILES - -rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null - -rmdir texinfo/makeinfo texinfo/po texinfo/util 2>/dev/null - -rmdir fastjar gcc libiberty texinfo zlib 2>/dev/null - -local-maintainer-clean: - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -clean: do-clean local-clean -mostlyclean: do-mostlyclean local-clean -distclean: do-distclean local-clean local-distclean -maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean -maintainer-clean: local-distclean -realclean: maintainer-clean - -# Extra dependency for clean-target, owing to the mixed nature of gcc -clean-target: clean-target-libgcc -clean-target-libgcc: - test ! -d gcc/libgcc || \ - (cd gcc/libgcc && find . -type d -print) | \ - while read d; do rm -f gcc/$$d/libgcc.a || : ; done - -rm -rf gcc/libgcc - -# Check target. - -.PHONY: check do-check -check: do-check - -# Only include modules actually being configured and built. -do-check: maybe-check-gcc \ - maybe-check-ash \ - maybe-check-autoconf \ - maybe-check-automake \ - maybe-check-bash \ - maybe-check-bfd \ - maybe-check-opcodes \ - maybe-check-binutils \ - maybe-check-bison \ - maybe-check-byacc \ - maybe-check-bzip2 \ - maybe-check-dejagnu \ - maybe-check-diff \ - maybe-check-dosutils \ - maybe-check-etc \ - maybe-check-fastjar \ - maybe-check-fileutils \ - maybe-check-findutils \ - maybe-check-find \ - maybe-check-flex \ - maybe-check-gas \ - maybe-check-gawk \ - maybe-check-gettext \ - maybe-check-gnuserv \ - maybe-check-gprof \ - maybe-check-gzip \ - maybe-check-hello \ - maybe-check-indent \ - maybe-check-intl \ - maybe-check-tcl \ - maybe-check-itcl \ - maybe-check-ld \ - maybe-check-libgui \ - maybe-check-libiberty \ - maybe-check-libtool \ - maybe-check-m4 \ - maybe-check-make \ - maybe-check-mmalloc \ - maybe-check-patch \ - maybe-check-perl \ - maybe-check-prms \ - maybe-check-rcs \ - maybe-check-readline \ - maybe-check-release \ - maybe-check-recode \ - maybe-check-sed \ - maybe-check-send-pr \ - maybe-check-shellutils \ - maybe-check-sid \ - maybe-check-sim \ - maybe-check-tar \ - maybe-check-texinfo \ - maybe-check-textutils \ - maybe-check-time \ - maybe-check-uudecode \ - maybe-check-wdiff \ - maybe-check-zip \ - maybe-check-zlib \ - maybe-check-gdb \ - maybe-check-expect \ - maybe-check-guile \ - maybe-check-tk \ - maybe-check-tix \ - maybe-check-libtermcap \ - maybe-check-utils \ - maybe-check-target-libstdc++-v3 \ - maybe-check-target-newlib \ - maybe-check-target-libf2c \ - maybe-check-target-libobjc \ - maybe-check-target-libtermcap \ - maybe-check-target-winsup \ - maybe-check-target-libgloss \ - maybe-check-target-libiberty \ - maybe-check-target-gperf \ - maybe-check-target-examples \ - maybe-check-target-libffi \ - maybe-check-target-libjava \ - maybe-check-target-zlib \ - maybe-check-target-boehm-gc \ - maybe-check-target-qthreads \ - maybe-check-target-rda \ - maybe-check-target-libada - -# Automated reporting of test results. +.PHONY: all-release maybe-all-release +maybe-all-release: +all-release: configure-release + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd release && $(MAKE) $(FLAGS_TO_PASS) all) -warning.log: build.log - $(srcdir)/contrib/warn_summary build.log > $@ +.PHONY: check-release maybe-check-release +maybe-check-release: -mail-report.log: - if test x'$(BOOT_CFLAGS)' != x''; then \ - BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \ - fi; \ - $(srcdir)/contrib/test_summary -t >$@ - chmod +x $@ - echo If you really want to send e-mail, run ./$@ now +check-release: -mail-report-with-warnings.log: warning.log - if test x'$(BOOT_CFLAGS)' != x''; then \ - BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \ - fi; \ - $(srcdir)/contrib/test_summary -t -i warning.log >$@ - chmod +x $@ - echo If you really want to send e-mail, run ./$@ now -# Installation targets. +.PHONY: install-release maybe-install-release +maybe-install-release: -.PHONY: install uninstall -install: installdirs install-host install-target +install-release: -.PHONY: install-host-nogcc -install-host-nogcc: \ - maybe-install-ash \ - maybe-install-autoconf \ - maybe-install-automake \ - maybe-install-bash \ - maybe-install-bfd \ - maybe-install-opcodes \ - maybe-install-binutils \ - maybe-install-bison \ - maybe-install-byacc \ - maybe-install-bzip2 \ - maybe-install-dejagnu \ - maybe-install-diff \ - maybe-install-dosutils \ - maybe-install-etc \ - maybe-install-fastjar \ - maybe-install-fileutils \ - maybe-install-findutils \ - maybe-install-find \ - maybe-install-flex \ - maybe-install-gas \ - maybe-install-gawk \ - maybe-install-gettext \ - maybe-install-gnuserv \ - maybe-install-gprof \ - maybe-install-gzip \ - maybe-install-hello \ - maybe-install-indent \ - maybe-install-intl \ - maybe-install-tcl \ - maybe-install-itcl \ - maybe-install-ld \ - maybe-install-libgui \ - maybe-install-libiberty \ - maybe-install-libtool \ - maybe-install-m4 \ - maybe-install-make \ - maybe-install-mmalloc \ - maybe-install-patch \ - maybe-install-perl \ - maybe-install-prms \ - maybe-install-rcs \ - maybe-install-readline \ - maybe-install-release \ - maybe-install-recode \ - maybe-install-sed \ - maybe-install-send-pr \ - maybe-install-shellutils \ - maybe-install-sid \ - maybe-install-sim \ - maybe-install-tar \ - maybe-install-texinfo \ - maybe-install-textutils \ - maybe-install-time \ - maybe-install-uudecode \ - maybe-install-wdiff \ - maybe-install-zip \ - maybe-install-zlib \ - maybe-install-gdb \ - maybe-install-expect \ - maybe-install-guile \ - maybe-install-tk \ - maybe-install-tix \ - maybe-install-libtermcap \ - maybe-install-utils -.PHONY: install-host -install-host: maybe-install-gcc \ - maybe-install-ash \ - maybe-install-autoconf \ - maybe-install-automake \ - maybe-install-bash \ - maybe-install-bfd \ - maybe-install-opcodes \ - maybe-install-binutils \ - maybe-install-bison \ - maybe-install-byacc \ - maybe-install-bzip2 \ - maybe-install-dejagnu \ - maybe-install-diff \ - maybe-install-dosutils \ - maybe-install-etc \ - maybe-install-fastjar \ - maybe-install-fileutils \ - maybe-install-findutils \ - maybe-install-find \ - maybe-install-flex \ - maybe-install-gas \ - maybe-install-gawk \ - maybe-install-gettext \ - maybe-install-gnuserv \ - maybe-install-gprof \ - maybe-install-gzip \ - maybe-install-hello \ - maybe-install-indent \ - maybe-install-intl \ - maybe-install-tcl \ - maybe-install-itcl \ - maybe-install-ld \ - maybe-install-libgui \ - maybe-install-libiberty \ - maybe-install-libtool \ - maybe-install-m4 \ - maybe-install-make \ - maybe-install-mmalloc \ - maybe-install-patch \ - maybe-install-perl \ - maybe-install-prms \ - maybe-install-rcs \ - maybe-install-readline \ - maybe-install-release \ - maybe-install-recode \ - maybe-install-sed \ - maybe-install-send-pr \ - maybe-install-shellutils \ - maybe-install-sid \ - maybe-install-sim \ - maybe-install-tar \ - maybe-install-texinfo \ - maybe-install-textutils \ - maybe-install-time \ - maybe-install-uudecode \ - maybe-install-wdiff \ - maybe-install-zip \ - maybe-install-zlib \ - maybe-install-gdb \ - maybe-install-expect \ - maybe-install-guile \ - maybe-install-tk \ - maybe-install-tix \ - maybe-install-libtermcap \ - maybe-install-utils +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-release info-release +maybe-info-release: + +info-release: \ + configure-release + @[ -f ./release/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-release dvi-release +maybe-dvi-release: + +dvi-release: \ + configure-release + @[ -f ./release/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-release TAGS-release +maybe-TAGS-release: + +TAGS-release: \ + configure-release + @[ -f ./release/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-target -install-target: \ - maybe-install-target-libstdc++-v3 \ - maybe-install-target-newlib \ - maybe-install-target-libf2c \ - maybe-install-target-libobjc \ - maybe-install-target-libtermcap \ - maybe-install-target-winsup \ - maybe-install-target-libgloss \ - maybe-install-target-libiberty \ - maybe-install-target-gperf \ - maybe-install-target-examples \ - maybe-install-target-libffi \ - maybe-install-target-libjava \ - maybe-install-target-zlib \ - maybe-install-target-boehm-gc \ - maybe-install-target-qthreads \ - maybe-install-target-rda \ - maybe-install-target-libada -uninstall: - @echo "the uninstall target is not supported in this tree" +.PHONY: maybe-install-info-release install-info-release +maybe-install-info-release: -.PHONY: install.all -install.all: install-no-fixedincludes - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}` ; export r ; \ - $(SET_LIB_PATH) \ - (cd ./gcc && \ - $(MAKE) $(FLAGS_TO_PASS) install-headers) ; \ - else \ - true ; \ - fi +install-info-release: \ + configure-release \ + info-release + @[ -f ./release/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -# install-no-fixedincludes is used because Cygnus can not distribute -# the fixed header files. -.PHONY: install-no-fixedincludes -install-no-fixedincludes: installdirs install-host-nogcc \ - install-target gcc-no-fixedincludes -### other supporting targets +.PHONY: maybe-installcheck-release installcheck-release +maybe-installcheck-release: -MAKEDIRS= \ - $(DESTDIR)$(prefix) \ - $(DESTDIR)$(exec_prefix) -.PHONY: installdirs -installdirs: mkinstalldirs - $(SHELL) $(srcdir)/mkinstalldirs $(MAKEDIRS) +installcheck-release: \ + configure-release + @[ -f ./release/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 -dir.info: do-install-info - if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \ - $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \ - mv -f dir.info.new dir.info ; \ - else true ; \ - fi -dist: - @echo "Building a full distribution of this tree isn't done" - @echo "via 'make dist'. Check out the etc/ subdirectory" +.PHONY: maybe-mostlyclean-release mostlyclean-release +maybe-mostlyclean-release: -etags tags: TAGS +mostlyclean-release: + @[ -f ./release/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 -# Right now this just builds TAGS in each subdirectory. emacs19 has the -# ability to use several tags files at once, so there is probably no need -# to combine them into one big TAGS file (like CVS 1.3 does). We could -# (if we felt like it) have this Makefile write a piece of elisp which -# the user could load to tell emacs19 where all the TAGS files we just -# built are. -TAGS: do-TAGS -# -------------------------------------- -# Modules which run on the build machine -# -------------------------------------- +.PHONY: maybe-clean-release clean-release +maybe-clean-release: -.PHONY: configure-build-libiberty maybe-configure-build-libiberty -maybe-configure-build-libiberty: -configure-build-libiberty: - @test ! -f $(BUILD_SUBDIR)/libiberty/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libiberty ; \ +clean-release: + @[ -f ./release/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - AR="$(AR_FOR_BUILD)"; export AR; \ - AS="$(AS_FOR_BUILD)"; export AS; \ - CC="$(CC_FOR_BUILD)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX_FOR_BUILD)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ - LD="$(LD_FOR_BUILD)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ - NM="$(NM_FOR_BUILD)"; export NM; \ - RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \ - echo Configuring in $(BUILD_SUBDIR)/libiberty; \ - cd "$(BUILD_SUBDIR)/libiberty" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(BUILD_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - if [ "$(srcdir)" = "." ] ; then \ - if [ "$(BUILD_SUBDIR)" != "." ] ; then \ - if $(SHELL) $$s/symlink-tree $${topdir}/libiberty "no-such-file" ; then \ - if [ -f Makefile ]; then \ - if $(MAKE) distclean; then \ - true; \ - else \ - exit 1; \ - fi; \ - else \ - true; \ - fi; \ - else \ - exit 1; \ - fi; \ - else \ - true; \ - fi; \ - srcdiroption="--srcdir=."; \ - libsrcdir="."; \ - else \ - srcdiroption="--srcdir=$${topdir}/libiberty"; \ - libsrcdir="$$s/libiberty"; \ - fi; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(BUILD_CONFIGARGS) $${srcdiroption} \ - --with-build-subdir="$(BUILD_SUBDIR)" \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ || exit 1 -.PHONY: all-build-libiberty maybe-all-build-libiberty -maybe-all-build-libiberty: -all-build-libiberty: configure-build-libiberty - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-distclean-release distclean-release +maybe-distclean-release: + +distclean-release: + @[ -f ./release/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - (cd $(BUILD_SUBDIR)/libiberty && $(MAKE) all) + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -# -------------------------------------- -# Modules which run on the host machine -# -------------------------------------- +.PHONY: maybe-maintainer-clean-release maintainer-clean-release +maybe-maintainer-clean-release: -.PHONY: configure-ash maybe-configure-ash -maybe-configure-ash: -configure-ash: - @test ! -f ash/Makefile || exit 0; \ - [ -d ash ] || mkdir ash; \ +maintainer-clean-release: + @[ -f ./release/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in release" ; \ + (cd release && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-recode maybe-configure-recode +maybe-configure-recode: +configure-recode: + @test ! -f recode/Makefile || exit 0; \ + [ -d recode ] || mkdir recode; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -17902,123 +13376,254 @@ configure-ash: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in ash; \ - cd ash || exit 1; \ + echo Configuring in recode; \ + cd recode || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/ash"; \ - libsrcdir="$$s/ash";; \ + srcdiroption="--srcdir=$(srcdir)/recode"; \ + libsrcdir="$$s/recode";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/ash"; \ - libsrcdir="$$s/ash";; \ + srcdiroption="--srcdir=../$(srcdir)/recode"; \ + libsrcdir="$$s/recode";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-ash maybe-all-ash -maybe-all-ash: -all-ash: configure-ash +.PHONY: all-recode maybe-all-recode +maybe-all-recode: +all-recode: configure-recode @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd ash && $(MAKE) $(FLAGS_TO_PASS) all) + (cd recode && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-ash maybe-check-ash -maybe-check-ash: +.PHONY: check-recode maybe-check-recode +maybe-check-recode: -check-ash: +check-recode: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd ash && $(MAKE) $(FLAGS_TO_PASS) check) + (cd recode && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-ash maybe-install-ash -maybe-install-ash: +.PHONY: install-recode maybe-install-recode +maybe-install-recode: -install-ash: installdirs +install-recode: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd ash && $(MAKE) $(FLAGS_TO_PASS) install) + (cd recode && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-autoconf maybe-configure-autoconf -maybe-configure-autoconf: -configure-autoconf: - @test ! -f autoconf/Makefile || exit 0; \ - [ -d autoconf ] || mkdir autoconf; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-recode info-recode +maybe-info-recode: + +info-recode: \ + configure-recode + @[ -f ./recode/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in autoconf; \ - cd autoconf || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/autoconf"; \ - libsrcdir="$$s/autoconf";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/autoconf"; \ - libsrcdir="$$s/autoconf";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-autoconf maybe-all-autoconf -maybe-all-autoconf: -all-autoconf: configure-autoconf - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-recode dvi-recode +maybe-dvi-recode: + +dvi-recode: \ + configure-recode + @[ -f ./recode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-autoconf maybe-check-autoconf -maybe-check-autoconf: -check-autoconf: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-recode TAGS-recode +maybe-TAGS-recode: + +TAGS-recode: \ + configure-recode + @[ -f ./recode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-autoconf maybe-install-autoconf -maybe-install-autoconf: +.PHONY: maybe-install-info-recode install-info-recode +maybe-install-info-recode: -install-autoconf: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-recode: \ + configure-recode \ + info-recode + @[ -f ./recode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-recode installcheck-recode +maybe-installcheck-recode: + +installcheck-recode: \ + configure-recode + @[ -f ./recode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-recode mostlyclean-recode +maybe-mostlyclean-recode: + +mostlyclean-recode: + @[ -f ./recode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-recode clean-recode +maybe-clean-recode: + +clean-recode: + @[ -f ./recode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-recode distclean-recode +maybe-distclean-recode: + +distclean-recode: + @[ -f ./recode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-recode maintainer-clean-recode +maybe-maintainer-clean-recode: + +maintainer-clean-recode: + @[ -f ./recode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in recode" ; \ + (cd recode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-automake maybe-configure-automake -maybe-configure-automake: -configure-automake: - @test ! -f automake/Makefile || exit 0; \ - [ -d automake ] || mkdir automake; \ + +.PHONY: configure-sed maybe-configure-sed +maybe-configure-sed: +configure-sed: + @test ! -f sed/Makefile || exit 0; \ + [ -d sed ] || mkdir sed; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18036,56 +13641,254 @@ configure-automake: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in automake; \ - cd automake || exit 1; \ + echo Configuring in sed; \ + cd sed || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/automake"; \ - libsrcdir="$$s/automake";; \ + srcdiroption="--srcdir=$(srcdir)/sed"; \ + libsrcdir="$$s/sed";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/automake"; \ - libsrcdir="$$s/automake";; \ + srcdiroption="--srcdir=../$(srcdir)/sed"; \ + libsrcdir="$$s/sed";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-automake maybe-all-automake -maybe-all-automake: -all-automake: configure-automake +.PHONY: all-sed maybe-all-sed +maybe-all-sed: +all-sed: configure-sed @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd automake && $(MAKE) $(FLAGS_TO_PASS) all) + (cd sed && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-automake maybe-check-automake -maybe-check-automake: +.PHONY: check-sed maybe-check-sed +maybe-check-sed: -check-automake: +check-sed: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd automake && $(MAKE) $(FLAGS_TO_PASS) check) + (cd sed && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-automake maybe-install-automake -maybe-install-automake: +.PHONY: install-sed maybe-install-sed +maybe-install-sed: + +install-sed: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd sed && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-sed info-sed +maybe-info-sed: + +info-sed: \ + configure-sed + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-sed dvi-sed +maybe-dvi-sed: + +dvi-sed: \ + configure-sed + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-sed TAGS-sed +maybe-TAGS-sed: + +TAGS-sed: \ + configure-sed + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-sed install-info-sed +maybe-install-info-sed: + +install-info-sed: \ + configure-sed \ + info-sed + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-sed installcheck-sed +maybe-installcheck-sed: + +installcheck-sed: \ + configure-sed + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-sed mostlyclean-sed +maybe-mostlyclean-sed: + +mostlyclean-sed: + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-sed clean-sed +maybe-clean-sed: + +clean-sed: + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-sed distclean-sed +maybe-distclean-sed: + +distclean-sed: + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-sed maintainer-clean-sed +maybe-maintainer-clean-sed: + +maintainer-clean-sed: + @[ -f ./sed/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in sed" ; \ + (cd sed && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -install-automake: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd automake && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-bash maybe-configure-bash -maybe-configure-bash: -configure-bash: - @test ! -f bash/Makefile || exit 0; \ - [ -d bash ] || mkdir bash; \ +.PHONY: configure-send-pr maybe-configure-send-pr +maybe-configure-send-pr: +configure-send-pr: + @test ! -f send-pr/Makefile || exit 0; \ + [ -d send-pr ] || mkdir send-pr; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18103,56 +13906,254 @@ configure-bash: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in bash; \ - cd bash || exit 1; \ + echo Configuring in send-pr; \ + cd send-pr || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/bash"; \ - libsrcdir="$$s/bash";; \ + srcdiroption="--srcdir=$(srcdir)/send-pr"; \ + libsrcdir="$$s/send-pr";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/bash"; \ - libsrcdir="$$s/bash";; \ + srcdiroption="--srcdir=../$(srcdir)/send-pr"; \ + libsrcdir="$$s/send-pr";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-bash maybe-all-bash -maybe-all-bash: -all-bash: configure-bash +.PHONY: all-send-pr maybe-all-send-pr +maybe-all-send-pr: +all-send-pr: configure-send-pr @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bash && $(MAKE) $(FLAGS_TO_PASS) all) + (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-bash maybe-check-bash -maybe-check-bash: +.PHONY: check-send-pr maybe-check-send-pr +maybe-check-send-pr: -check-bash: +check-send-pr: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bash && $(MAKE) $(FLAGS_TO_PASS) check) + (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-bash maybe-install-bash -maybe-install-bash: +.PHONY: install-send-pr maybe-install-send-pr +maybe-install-send-pr: -install-bash: installdirs +install-send-pr: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bash && $(MAKE) $(FLAGS_TO_PASS) install) + (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-bfd maybe-configure-bfd -maybe-configure-bfd: -configure-bfd: - @test ! -f bfd/Makefile || exit 0; \ - [ -d bfd ] || mkdir bfd; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-send-pr info-send-pr +maybe-info-send-pr: + +info-send-pr: \ + configure-send-pr + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-send-pr dvi-send-pr +maybe-dvi-send-pr: + +dvi-send-pr: \ + configure-send-pr + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-send-pr TAGS-send-pr +maybe-TAGS-send-pr: + +TAGS-send-pr: \ + configure-send-pr + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-send-pr install-info-send-pr +maybe-install-info-send-pr: + +install-info-send-pr: \ + configure-send-pr \ + info-send-pr + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-send-pr installcheck-send-pr +maybe-installcheck-send-pr: + +installcheck-send-pr: \ + configure-send-pr + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-send-pr mostlyclean-send-pr +maybe-mostlyclean-send-pr: + +mostlyclean-send-pr: + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-send-pr clean-send-pr +maybe-clean-send-pr: + +clean-send-pr: + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-send-pr distclean-send-pr +maybe-distclean-send-pr: + +distclean-send-pr: + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-send-pr maintainer-clean-send-pr +maybe-maintainer-clean-send-pr: + +maintainer-clean-send-pr: + @[ -f ./send-pr/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in send-pr" ; \ + (cd send-pr && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-shellutils maybe-configure-shellutils +maybe-configure-shellutils: +configure-shellutils: + @test ! -f shellutils/Makefile || exit 0; \ + [ -d shellutils ] || mkdir shellutils; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18170,123 +14171,254 @@ configure-bfd: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in bfd; \ - cd bfd || exit 1; \ + echo Configuring in shellutils; \ + cd shellutils || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/bfd"; \ - libsrcdir="$$s/bfd";; \ + srcdiroption="--srcdir=$(srcdir)/shellutils"; \ + libsrcdir="$$s/shellutils";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/bfd"; \ - libsrcdir="$$s/bfd";; \ + srcdiroption="--srcdir=../$(srcdir)/shellutils"; \ + libsrcdir="$$s/shellutils";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-bfd maybe-all-bfd -maybe-all-bfd: -all-bfd: configure-bfd +.PHONY: all-shellutils maybe-all-shellutils +maybe-all-shellutils: +all-shellutils: configure-shellutils @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bfd && $(MAKE) $(FLAGS_TO_PASS) all) + (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-bfd maybe-check-bfd -maybe-check-bfd: +.PHONY: check-shellutils maybe-check-shellutils +maybe-check-shellutils: -check-bfd: +check-shellutils: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bfd && $(MAKE) $(FLAGS_TO_PASS) check) + (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-bfd maybe-install-bfd -maybe-install-bfd: +.PHONY: install-shellutils maybe-install-shellutils +maybe-install-shellutils: -install-bfd: installdirs +install-shellutils: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bfd && $(MAKE) $(FLAGS_TO_PASS) install) + (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-opcodes maybe-configure-opcodes -maybe-configure-opcodes: -configure-opcodes: - @test ! -f opcodes/Makefile || exit 0; \ - [ -d opcodes ] || mkdir opcodes; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-shellutils info-shellutils +maybe-info-shellutils: + +info-shellutils: \ + configure-shellutils + @[ -f ./shellutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in opcodes; \ - cd opcodes || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/opcodes"; \ - libsrcdir="$$s/opcodes";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/opcodes"; \ - libsrcdir="$$s/opcodes";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-opcodes maybe-all-opcodes -maybe-all-opcodes: -all-opcodes: configure-opcodes - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-shellutils dvi-shellutils +maybe-dvi-shellutils: + +dvi-shellutils: \ + configure-shellutils + @[ -f ./shellutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-opcodes maybe-check-opcodes -maybe-check-opcodes: -check-opcodes: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-shellutils TAGS-shellutils +maybe-TAGS-shellutils: + +TAGS-shellutils: \ + configure-shellutils + @[ -f ./shellutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-opcodes maybe-install-opcodes -maybe-install-opcodes: +.PHONY: maybe-install-info-shellutils install-info-shellutils +maybe-install-info-shellutils: -install-opcodes: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-shellutils: \ + configure-shellutils \ + info-shellutils + @[ -f ./shellutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-shellutils installcheck-shellutils +maybe-installcheck-shellutils: + +installcheck-shellutils: \ + configure-shellutils + @[ -f ./shellutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-shellutils mostlyclean-shellutils +maybe-mostlyclean-shellutils: + +mostlyclean-shellutils: + @[ -f ./shellutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-shellutils clean-shellutils +maybe-clean-shellutils: + +clean-shellutils: + @[ -f ./shellutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-shellutils distclean-shellutils +maybe-distclean-shellutils: + +distclean-shellutils: + @[ -f ./shellutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-shellutils maintainer-clean-shellutils +maybe-maintainer-clean-shellutils: + +maintainer-clean-shellutils: + @[ -f ./shellutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in shellutils" ; \ + (cd shellutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-binutils maybe-configure-binutils -maybe-configure-binutils: -configure-binutils: - @test ! -f binutils/Makefile || exit 0; \ - [ -d binutils ] || mkdir binutils; \ + +.PHONY: configure-sid maybe-configure-sid +maybe-configure-sid: +configure-sid: + @test ! -f sid/Makefile || exit 0; \ + [ -d sid ] || mkdir sid; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18304,56 +14436,254 @@ configure-binutils: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in binutils; \ - cd binutils || exit 1; \ + echo Configuring in sid; \ + cd sid || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/binutils"; \ - libsrcdir="$$s/binutils";; \ + srcdiroption="--srcdir=$(srcdir)/sid"; \ + libsrcdir="$$s/sid";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/binutils"; \ - libsrcdir="$$s/binutils";; \ + srcdiroption="--srcdir=../$(srcdir)/sid"; \ + libsrcdir="$$s/sid";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-binutils maybe-all-binutils -maybe-all-binutils: -all-binutils: configure-binutils +.PHONY: all-sid maybe-all-sid +maybe-all-sid: +all-sid: configure-sid @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd binutils && $(MAKE) $(FLAGS_TO_PASS) all) + (cd sid && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-binutils maybe-check-binutils -maybe-check-binutils: +.PHONY: check-sid maybe-check-sid +maybe-check-sid: -check-binutils: +check-sid: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd binutils && $(MAKE) $(FLAGS_TO_PASS) check) + (cd sid && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-binutils maybe-install-binutils -maybe-install-binutils: +.PHONY: install-sid maybe-install-sid +maybe-install-sid: -install-binutils: installdirs +install-sid: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd binutils && $(MAKE) $(FLAGS_TO_PASS) install) + (cd sid && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-sid info-sid +maybe-info-sid: + +info-sid: \ + configure-sid + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-sid dvi-sid +maybe-dvi-sid: + +dvi-sid: \ + configure-sid + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-sid TAGS-sid +maybe-TAGS-sid: + +TAGS-sid: \ + configure-sid + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-sid install-info-sid +maybe-install-info-sid: + +install-info-sid: \ + configure-sid \ + info-sid + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-sid installcheck-sid +maybe-installcheck-sid: + +installcheck-sid: \ + configure-sid + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-sid mostlyclean-sid +maybe-mostlyclean-sid: + +mostlyclean-sid: + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-sid clean-sid +maybe-clean-sid: + +clean-sid: + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-sid distclean-sid +maybe-distclean-sid: + +distclean-sid: + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-sid maintainer-clean-sid +maybe-maintainer-clean-sid: + +maintainer-clean-sid: + @[ -f ./sid/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in sid" ; \ + (cd sid && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-bison maybe-configure-bison -maybe-configure-bison: -configure-bison: - @test ! -f bison/Makefile || exit 0; \ - [ -d bison ] || mkdir bison; \ + +.PHONY: configure-sim maybe-configure-sim +maybe-configure-sim: +configure-sim: + @test ! -f sim/Makefile || exit 0; \ + [ -d sim ] || mkdir sim; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18371,59 +14701,254 @@ configure-bison: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in bison; \ - cd bison || exit 1; \ + echo Configuring in sim; \ + cd sim || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/bison"; \ - libsrcdir="$$s/bison";; \ + srcdiroption="--srcdir=$(srcdir)/sim"; \ + libsrcdir="$$s/sim";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/bison"; \ - libsrcdir="$$s/bison";; \ + srcdiroption="--srcdir=../$(srcdir)/sim"; \ + libsrcdir="$$s/sim";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-bison maybe-all-bison -maybe-all-bison: -all-bison: configure-bison +.PHONY: all-sim maybe-all-sim +maybe-all-sim: +all-sim: configure-sim @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bison && $(MAKE) $(FLAGS_TO_PASS) all) + (cd sim && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-bison maybe-check-bison -maybe-check-bison: +.PHONY: check-sim maybe-check-sim +maybe-check-sim: -# This module is only tested in a native toolchain. -check-bison: - @if [ '$(host)' = '$(target)' ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd bison && $(MAKE) $(FLAGS_TO_PASS) check); \ - fi +check-sim: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd sim && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-bison maybe-install-bison -maybe-install-bison: +.PHONY: install-sim maybe-install-sim +maybe-install-sim: + +install-sim: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd sim && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-sim info-sim +maybe-info-sim: + +info-sim: \ + configure-sim + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-sim dvi-sim +maybe-dvi-sim: + +dvi-sim: \ + configure-sim + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-sim TAGS-sim +maybe-TAGS-sim: + +TAGS-sim: \ + configure-sim + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-sim install-info-sim +maybe-install-info-sim: + +install-info-sim: \ + configure-sim \ + info-sim + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-sim installcheck-sim +maybe-installcheck-sim: + +installcheck-sim: \ + configure-sim + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-sim mostlyclean-sim +maybe-mostlyclean-sim: + +mostlyclean-sim: + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-sim clean-sim +maybe-clean-sim: + +clean-sim: + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-sim distclean-sim +maybe-distclean-sim: + +distclean-sim: + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-sim maintainer-clean-sim +maybe-maintainer-clean-sim: + +maintainer-clean-sim: + @[ -f ./sim/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in sim" ; \ + (cd sim && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -install-bison: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd bison && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-byacc maybe-configure-byacc -maybe-configure-byacc: -configure-byacc: - @test ! -f byacc/Makefile || exit 0; \ - [ -d byacc ] || mkdir byacc; \ +.PHONY: configure-tar maybe-configure-tar +maybe-configure-tar: +configure-tar: + @test ! -f tar/Makefile || exit 0; \ + [ -d tar ] || mkdir tar; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18441,59 +14966,254 @@ configure-byacc: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in byacc; \ - cd byacc || exit 1; \ + echo Configuring in tar; \ + cd tar || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/byacc"; \ - libsrcdir="$$s/byacc";; \ + srcdiroption="--srcdir=$(srcdir)/tar"; \ + libsrcdir="$$s/tar";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/byacc"; \ - libsrcdir="$$s/byacc";; \ + srcdiroption="--srcdir=../$(srcdir)/tar"; \ + libsrcdir="$$s/tar";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-byacc maybe-all-byacc -maybe-all-byacc: -all-byacc: configure-byacc +.PHONY: all-tar maybe-all-tar +maybe-all-tar: +all-tar: configure-tar @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd byacc && $(MAKE) $(FLAGS_TO_PASS) all) + (cd tar && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-byacc maybe-check-byacc -maybe-check-byacc: +.PHONY: check-tar maybe-check-tar +maybe-check-tar: -# This module is only tested in a native toolchain. -check-byacc: - @if [ '$(host)' = '$(target)' ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd byacc && $(MAKE) $(FLAGS_TO_PASS) check); \ - fi +check-tar: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd tar && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-byacc maybe-install-byacc -maybe-install-byacc: +.PHONY: install-tar maybe-install-tar +maybe-install-tar: + +install-tar: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd tar && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-tar info-tar +maybe-info-tar: + +info-tar: \ + configure-tar + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-tar dvi-tar +maybe-dvi-tar: + +dvi-tar: \ + configure-tar + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-tar TAGS-tar +maybe-TAGS-tar: + +TAGS-tar: \ + configure-tar + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-tar install-info-tar +maybe-install-info-tar: + +install-info-tar: \ + configure-tar \ + info-tar + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-tar installcheck-tar +maybe-installcheck-tar: + +installcheck-tar: \ + configure-tar + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-tar mostlyclean-tar +maybe-mostlyclean-tar: + +mostlyclean-tar: + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-tar clean-tar +maybe-clean-tar: + +clean-tar: + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-tar distclean-tar +maybe-distclean-tar: + +distclean-tar: + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-tar maintainer-clean-tar +maybe-maintainer-clean-tar: + +maintainer-clean-tar: + @[ -f ./tar/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in tar" ; \ + (cd tar && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -install-byacc: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd byacc && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-bzip2 maybe-configure-bzip2 -maybe-configure-bzip2: -configure-bzip2: - @test ! -f bzip2/Makefile || exit 0; \ - [ -d bzip2 ] || mkdir bzip2; \ +.PHONY: configure-texinfo maybe-configure-texinfo +maybe-configure-texinfo: +configure-texinfo: + @test ! -f texinfo/Makefile || exit 0; \ + [ -d texinfo ] || mkdir texinfo; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18511,56 +15231,250 @@ configure-bzip2: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in bzip2; \ - cd bzip2 || exit 1; \ + echo Configuring in texinfo; \ + cd texinfo || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/bzip2"; \ - libsrcdir="$$s/bzip2";; \ + srcdiroption="--srcdir=$(srcdir)/texinfo"; \ + libsrcdir="$$s/texinfo";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/bzip2"; \ - libsrcdir="$$s/bzip2";; \ + srcdiroption="--srcdir=../$(srcdir)/texinfo"; \ + libsrcdir="$$s/texinfo";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-bzip2 maybe-all-bzip2 -maybe-all-bzip2: -all-bzip2: configure-bzip2 +.PHONY: all-texinfo maybe-all-texinfo +maybe-all-texinfo: +all-texinfo: configure-texinfo @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) all) + (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-bzip2 maybe-check-bzip2 -maybe-check-bzip2: +.PHONY: check-texinfo maybe-check-texinfo +maybe-check-texinfo: -check-bzip2: +check-texinfo: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) check) + (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-bzip2 maybe-install-bzip2 -maybe-install-bzip2: +.PHONY: install-texinfo maybe-install-texinfo +maybe-install-texinfo: -install-bzip2: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-texinfo: + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-texinfo info-texinfo +maybe-info-texinfo: + +info-texinfo: \ + configure-texinfo + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 -.PHONY: configure-dejagnu maybe-configure-dejagnu -maybe-configure-dejagnu: -configure-dejagnu: - @test ! -f dejagnu/Makefile || exit 0; \ - [ -d dejagnu ] || mkdir dejagnu; \ +.PHONY: maybe-dvi-texinfo dvi-texinfo +maybe-dvi-texinfo: + +dvi-texinfo: \ + configure-texinfo + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-texinfo TAGS-texinfo +maybe-TAGS-texinfo: + +TAGS-texinfo: \ + configure-texinfo + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-texinfo install-info-texinfo +maybe-install-info-texinfo: + +install-info-texinfo: \ + configure-texinfo \ + info-texinfo + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-texinfo installcheck-texinfo +maybe-installcheck-texinfo: + +installcheck-texinfo: \ + configure-texinfo + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-texinfo mostlyclean-texinfo +maybe-mostlyclean-texinfo: + +mostlyclean-texinfo: + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-texinfo clean-texinfo +maybe-clean-texinfo: + +clean-texinfo: + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-texinfo distclean-texinfo +maybe-distclean-texinfo: + +distclean-texinfo: + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-texinfo maintainer-clean-texinfo +maybe-maintainer-clean-texinfo: + +maintainer-clean-texinfo: + @[ -f ./texinfo/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in texinfo" ; \ + (cd texinfo && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-textutils maybe-configure-textutils +maybe-configure-textutils: +configure-textutils: + @test ! -f textutils/Makefile || exit 0; \ + [ -d textutils ] || mkdir textutils; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18578,123 +15492,254 @@ configure-dejagnu: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in dejagnu; \ - cd dejagnu || exit 1; \ + echo Configuring in textutils; \ + cd textutils || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/dejagnu"; \ - libsrcdir="$$s/dejagnu";; \ + srcdiroption="--srcdir=$(srcdir)/textutils"; \ + libsrcdir="$$s/textutils";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/dejagnu"; \ - libsrcdir="$$s/dejagnu";; \ + srcdiroption="--srcdir=../$(srcdir)/textutils"; \ + libsrcdir="$$s/textutils";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-dejagnu maybe-all-dejagnu -maybe-all-dejagnu: -all-dejagnu: configure-dejagnu +.PHONY: all-textutils maybe-all-textutils +maybe-all-textutils: +all-textutils: configure-textutils @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) all) + (cd textutils && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-dejagnu maybe-check-dejagnu -maybe-check-dejagnu: +.PHONY: check-textutils maybe-check-textutils +maybe-check-textutils: -check-dejagnu: +check-textutils: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) check) + (cd textutils && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-dejagnu maybe-install-dejagnu -maybe-install-dejagnu: +.PHONY: install-textutils maybe-install-textutils +maybe-install-textutils: -install-dejagnu: installdirs +install-textutils: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) install) + (cd textutils && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-diff maybe-configure-diff -maybe-configure-diff: -configure-diff: - @test ! -f diff/Makefile || exit 0; \ - [ -d diff ] || mkdir diff; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-textutils info-textutils +maybe-info-textutils: + +info-textutils: \ + configure-textutils + @[ -f ./textutils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in diff; \ - cd diff || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/diff"; \ - libsrcdir="$$s/diff";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/diff"; \ - libsrcdir="$$s/diff";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-diff maybe-all-diff -maybe-all-diff: -all-diff: configure-diff - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-textutils dvi-textutils +maybe-dvi-textutils: + +dvi-textutils: \ + configure-textutils + @[ -f ./textutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd diff && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-diff maybe-check-diff -maybe-check-diff: -check-diff: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-textutils TAGS-textutils +maybe-TAGS-textutils: + +TAGS-textutils: \ + configure-textutils + @[ -f ./textutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd diff && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-diff maybe-install-diff -maybe-install-diff: +.PHONY: maybe-install-info-textutils install-info-textutils +maybe-install-info-textutils: -install-diff: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-textutils: \ + configure-textutils \ + info-textutils + @[ -f ./textutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-textutils installcheck-textutils +maybe-installcheck-textutils: + +installcheck-textutils: \ + configure-textutils + @[ -f ./textutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-textutils mostlyclean-textutils +maybe-mostlyclean-textutils: + +mostlyclean-textutils: + @[ -f ./textutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-textutils clean-textutils +maybe-clean-textutils: + +clean-textutils: + @[ -f ./textutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-textutils distclean-textutils +maybe-distclean-textutils: + +distclean-textutils: + @[ -f ./textutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-textutils maintainer-clean-textutils +maybe-maintainer-clean-textutils: + +maintainer-clean-textutils: + @[ -f ./textutils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd diff && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in textutils" ; \ + (cd textutils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-dosutils maybe-configure-dosutils -maybe-configure-dosutils: -configure-dosutils: - @test ! -f dosutils/Makefile || exit 0; \ - [ -d dosutils ] || mkdir dosutils; \ + +.PHONY: configure-time maybe-configure-time +maybe-configure-time: +configure-time: + @test ! -f time/Makefile || exit 0; \ + [ -d time ] || mkdir time; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18712,52 +15757,254 @@ configure-dosutils: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in dosutils; \ - cd dosutils || exit 1; \ + echo Configuring in time; \ + cd time || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/dosutils"; \ - libsrcdir="$$s/dosutils";; \ + srcdiroption="--srcdir=$(srcdir)/time"; \ + libsrcdir="$$s/time";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/dosutils"; \ - libsrcdir="$$s/dosutils";; \ + srcdiroption="--srcdir=../$(srcdir)/time"; \ + libsrcdir="$$s/time";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-dosutils maybe-all-dosutils -maybe-all-dosutils: -all-dosutils: configure-dosutils +.PHONY: all-time maybe-all-time +maybe-all-time: +all-time: configure-time @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) all) + (cd time && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-dosutils maybe-check-dosutils -maybe-check-dosutils: +.PHONY: check-time maybe-check-time +maybe-check-time: -check-dosutils: +check-time: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd time && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-dosutils maybe-install-dosutils -maybe-install-dosutils: +.PHONY: install-time maybe-install-time +maybe-install-time: + +install-time: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd time && $(MAKE) $(FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-time info-time +maybe-info-time: + +info-time: \ + configure-time + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-time dvi-time +maybe-dvi-time: + +dvi-time: \ + configure-time + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-time TAGS-time +maybe-TAGS-time: + +TAGS-time: \ + configure-time + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-time install-info-time +maybe-install-info-time: + +install-info-time: \ + configure-time \ + info-time + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-time installcheck-time +maybe-installcheck-time: + +installcheck-time: \ + configure-time + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-time mostlyclean-time +maybe-mostlyclean-time: + +mostlyclean-time: + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-time clean-time +maybe-clean-time: + +clean-time: + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-time distclean-time +maybe-distclean-time: + +distclean-time: + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-time maintainer-clean-time +maybe-maintainer-clean-time: + +maintainer-clean-time: + @[ -f ./time/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in time" ; \ + (cd time && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -install-dosutils: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-etc maybe-configure-etc -maybe-configure-etc: -configure-etc: - @test ! -f etc/Makefile || exit 0; \ - [ -d etc ] || mkdir etc; \ +.PHONY: configure-uudecode maybe-configure-uudecode +maybe-configure-uudecode: +configure-uudecode: + @test ! -f uudecode/Makefile || exit 0; \ + [ -d uudecode ] || mkdir uudecode; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18775,56 +16022,254 @@ configure-etc: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in etc; \ - cd etc || exit 1; \ + echo Configuring in uudecode; \ + cd uudecode || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/etc"; \ - libsrcdir="$$s/etc";; \ + srcdiroption="--srcdir=$(srcdir)/uudecode"; \ + libsrcdir="$$s/uudecode";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/etc"; \ - libsrcdir="$$s/etc";; \ + srcdiroption="--srcdir=../$(srcdir)/uudecode"; \ + libsrcdir="$$s/uudecode";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-etc maybe-all-etc -maybe-all-etc: -all-etc: configure-etc +.PHONY: all-uudecode maybe-all-uudecode +maybe-all-uudecode: +all-uudecode: configure-uudecode @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd etc && $(MAKE) $(FLAGS_TO_PASS) all) + (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-etc maybe-check-etc -maybe-check-etc: +.PHONY: check-uudecode maybe-check-uudecode +maybe-check-uudecode: -check-etc: +check-uudecode: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd etc && $(MAKE) $(FLAGS_TO_PASS) check) + (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-etc maybe-install-etc -maybe-install-etc: +.PHONY: install-uudecode maybe-install-uudecode +maybe-install-uudecode: -install-etc: installdirs +install-uudecode: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd etc && $(MAKE) $(FLAGS_TO_PASS) install) + (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-fastjar maybe-configure-fastjar -maybe-configure-fastjar: -configure-fastjar: - @test ! -f fastjar/Makefile || exit 0; \ - [ -d fastjar ] || mkdir fastjar; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-uudecode info-uudecode +maybe-info-uudecode: + +info-uudecode: \ + configure-uudecode + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-uudecode dvi-uudecode +maybe-dvi-uudecode: + +dvi-uudecode: \ + configure-uudecode + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-uudecode TAGS-uudecode +maybe-TAGS-uudecode: + +TAGS-uudecode: \ + configure-uudecode + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-uudecode install-info-uudecode +maybe-install-info-uudecode: + +install-info-uudecode: \ + configure-uudecode \ + info-uudecode + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-uudecode installcheck-uudecode +maybe-installcheck-uudecode: + +installcheck-uudecode: \ + configure-uudecode + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-uudecode mostlyclean-uudecode +maybe-mostlyclean-uudecode: + +mostlyclean-uudecode: + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-uudecode clean-uudecode +maybe-clean-uudecode: + +clean-uudecode: + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-uudecode distclean-uudecode +maybe-distclean-uudecode: + +distclean-uudecode: + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-uudecode maintainer-clean-uudecode +maybe-maintainer-clean-uudecode: + +maintainer-clean-uudecode: + @[ -f ./uudecode/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in uudecode" ; \ + (cd uudecode && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-wdiff maybe-configure-wdiff +maybe-configure-wdiff: +configure-wdiff: + @test ! -f wdiff/Makefile || exit 0; \ + [ -d wdiff ] || mkdir wdiff; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18842,59 +16287,254 @@ configure-fastjar: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in fastjar; \ - cd fastjar || exit 1; \ + echo Configuring in wdiff; \ + cd wdiff || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/fastjar"; \ - libsrcdir="$$s/fastjar";; \ + srcdiroption="--srcdir=$(srcdir)/wdiff"; \ + libsrcdir="$$s/wdiff";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/fastjar"; \ - libsrcdir="$$s/fastjar";; \ + srcdiroption="--srcdir=../$(srcdir)/wdiff"; \ + libsrcdir="$$s/wdiff";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-fastjar maybe-all-fastjar -maybe-all-fastjar: -all-fastjar: configure-fastjar +.PHONY: all-wdiff maybe-all-wdiff +maybe-all-wdiff: +all-wdiff: configure-wdiff @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) all) + (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-fastjar maybe-check-fastjar -maybe-check-fastjar: +.PHONY: check-wdiff maybe-check-wdiff +maybe-check-wdiff: -# This module is only tested in a native toolchain. -check-fastjar: - @if [ '$(host)' = '$(target)' ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) check); \ - fi +check-wdiff: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) check) -.PHONY: install-fastjar maybe-install-fastjar -maybe-install-fastjar: +.PHONY: install-wdiff maybe-install-wdiff +maybe-install-wdiff: -install-fastjar: installdirs +install-wdiff: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) install) + (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-fileutils maybe-configure-fileutils -maybe-configure-fileutils: -configure-fileutils: - @test ! -f fileutils/Makefile || exit 0; \ - [ -d fileutils ] || mkdir fileutils; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-wdiff info-wdiff +maybe-info-wdiff: + +info-wdiff: \ + configure-wdiff + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-wdiff dvi-wdiff +maybe-dvi-wdiff: + +dvi-wdiff: \ + configure-wdiff + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-wdiff TAGS-wdiff +maybe-TAGS-wdiff: + +TAGS-wdiff: \ + configure-wdiff + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-wdiff install-info-wdiff +maybe-install-info-wdiff: + +install-info-wdiff: \ + configure-wdiff \ + info-wdiff + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-wdiff installcheck-wdiff +maybe-installcheck-wdiff: + +installcheck-wdiff: \ + configure-wdiff + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-wdiff mostlyclean-wdiff +maybe-mostlyclean-wdiff: + +mostlyclean-wdiff: + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-wdiff clean-wdiff +maybe-clean-wdiff: + +clean-wdiff: + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-wdiff distclean-wdiff +maybe-distclean-wdiff: + +distclean-wdiff: + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-wdiff maintainer-clean-wdiff +maybe-maintainer-clean-wdiff: + +maintainer-clean-wdiff: + @[ -f ./wdiff/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in wdiff" ; \ + (cd wdiff && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-zip maybe-configure-zip +maybe-configure-zip: +configure-zip: + @test ! -f zip/Makefile || exit 0; \ + [ -d zip ] || mkdir zip; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -18912,123 +16552,257 @@ configure-fileutils: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in fileutils; \ - cd fileutils || exit 1; \ + echo Configuring in zip; \ + cd zip || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/fileutils"; \ - libsrcdir="$$s/fileutils";; \ + srcdiroption="--srcdir=$(srcdir)/zip"; \ + libsrcdir="$$s/zip";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/fileutils"; \ - libsrcdir="$$s/fileutils";; \ + srcdiroption="--srcdir=../$(srcdir)/zip"; \ + libsrcdir="$$s/zip";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-fileutils maybe-all-fileutils -maybe-all-fileutils: -all-fileutils: configure-fileutils +.PHONY: all-zip maybe-all-zip +maybe-all-zip: +all-zip: configure-zip @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) all) + (cd zip && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-fileutils maybe-check-fileutils -maybe-check-fileutils: +.PHONY: check-zip maybe-check-zip +maybe-check-zip: -check-fileutils: +# This module is only tested in a native toolchain. +check-zip: + @if [ '$(host)' = '$(target)' ] ; then \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd zip && $(MAKE) $(FLAGS_TO_PASS) check); \ + fi + + +.PHONY: install-zip maybe-install-zip +maybe-install-zip: + +install-zip: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) check) + (cd zip && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: install-fileutils maybe-install-fileutils -maybe-install-fileutils: +# Other targets (info, dvi, etc.) -install-fileutils: installdirs - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-info-zip info-zip +maybe-info-zip: + +info-zip: \ + configure-zip + @[ -f ./zip/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 -.PHONY: configure-findutils maybe-configure-findutils -maybe-configure-findutils: -configure-findutils: - @test ! -f findutils/Makefile || exit 0; \ - [ -d findutils ] || mkdir findutils; \ +.PHONY: maybe-dvi-zip dvi-zip +maybe-dvi-zip: + +dvi-zip: \ + configure-zip + @[ -f ./zip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in findutils; \ - cd findutils || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/findutils"; \ - libsrcdir="$$s/findutils";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/findutils"; \ - libsrcdir="$$s/findutils";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ || exit 1 -.PHONY: all-findutils maybe-all-findutils -maybe-all-findutils: -all-findutils: configure-findutils - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-TAGS-zip TAGS-zip +maybe-TAGS-zip: + +TAGS-zip: \ + configure-zip + @[ -f ./zip/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd findutils && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: check-findutils maybe-check-findutils -maybe-check-findutils: -check-findutils: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-install-info-zip install-info-zip +maybe-install-info-zip: + +install-info-zip: \ + configure-zip \ + info-zip + @[ -f ./zip/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd findutils && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: install-findutils maybe-install-findutils -maybe-install-findutils: +.PHONY: maybe-installcheck-zip installcheck-zip +maybe-installcheck-zip: -install-findutils: installdirs - @r=`${PWD_COMMAND}`; export r; \ +installcheck-zip: \ + configure-zip + @[ -f ./zip/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-zip mostlyclean-zip +maybe-mostlyclean-zip: + +mostlyclean-zip: + @[ -f ./zip/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-zip clean-zip +maybe-clean-zip: + +clean-zip: + @[ -f ./zip/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-zip distclean-zip +maybe-distclean-zip: + +distclean-zip: + @[ -f ./zip/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-zip maintainer-clean-zip +maybe-maintainer-clean-zip: + +maintainer-clean-zip: + @[ -f ./zip/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd findutils && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in zip" ; \ + (cd zip && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-find maybe-configure-find -maybe-configure-find: -configure-find: - @test ! -f find/Makefile || exit 0; \ - [ -d find ] || mkdir find; \ + +.PHONY: configure-zlib maybe-configure-zlib +maybe-configure-zlib: +configure-zlib: + @test ! -f zlib/Makefile || exit 0; \ + [ -d zlib ] || mkdir zlib; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -19046,56 +16820,246 @@ configure-find: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in find; \ - cd find || exit 1; \ + echo Configuring in zlib; \ + cd zlib || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/find"; \ - libsrcdir="$$s/find";; \ + srcdiroption="--srcdir=$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/find"; \ - libsrcdir="$$s/find";; \ + srcdiroption="--srcdir=../$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-find maybe-all-find -maybe-all-find: -all-find: configure-find +.PHONY: all-zlib maybe-all-zlib +maybe-all-zlib: +all-zlib: configure-zlib @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd find && $(MAKE) $(FLAGS_TO_PASS) all) + (cd zlib && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-find maybe-check-find -maybe-check-find: +.PHONY: check-zlib maybe-check-zlib +maybe-check-zlib: -check-find: - @r=`${PWD_COMMAND}`; export r; \ +check-zlib: + + +.PHONY: install-zlib maybe-install-zlib +maybe-install-zlib: + +install-zlib: + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-zlib info-zlib +maybe-info-zlib: + +info-zlib: \ + configure-zlib + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd find && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 -.PHONY: install-find maybe-install-find -maybe-install-find: +.PHONY: maybe-dvi-zlib dvi-zlib +maybe-dvi-zlib: -install-find: installdirs - @r=`${PWD_COMMAND}`; export r; \ +dvi-zlib: \ + configure-zlib + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd find && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: configure-flex maybe-configure-flex -maybe-configure-flex: -configure-flex: - @test ! -f flex/Makefile || exit 0; \ - [ -d flex ] || mkdir flex; \ +.PHONY: maybe-TAGS-zlib TAGS-zlib +maybe-TAGS-zlib: + +TAGS-zlib: \ + configure-zlib + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-zlib install-info-zlib +maybe-install-info-zlib: + +install-info-zlib: \ + configure-zlib \ + info-zlib + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-zlib installcheck-zlib +maybe-installcheck-zlib: + +installcheck-zlib: \ + configure-zlib + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-zlib mostlyclean-zlib +maybe-mostlyclean-zlib: + +mostlyclean-zlib: + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-zlib clean-zlib +maybe-clean-zlib: + +clean-zlib: + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-zlib distclean-zlib +maybe-distclean-zlib: + +distclean-zlib: + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-zlib maintainer-clean-zlib +maybe-maintainer-clean-zlib: + +maintainer-clean-zlib: + @[ -f ./zlib/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in zlib" ; \ + (cd zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-gdb maybe-configure-gdb +maybe-configure-gdb: +configure-gdb: + @test ! -f gdb/Makefile || exit 0; \ + [ -d gdb ] || mkdir gdb; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -19113,59 +17077,254 @@ configure-flex: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in flex; \ - cd flex || exit 1; \ + echo Configuring in gdb; \ + cd gdb || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/flex"; \ - libsrcdir="$$s/flex";; \ + srcdiroption="--srcdir=$(srcdir)/gdb"; \ + libsrcdir="$$s/gdb";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/flex"; \ - libsrcdir="$$s/flex";; \ + srcdiroption="--srcdir=../$(srcdir)/gdb"; \ + libsrcdir="$$s/gdb";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-flex maybe-all-flex -maybe-all-flex: -all-flex: configure-flex +.PHONY: all-gdb maybe-all-gdb +maybe-all-gdb: +all-gdb: configure-gdb @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd flex && $(MAKE) $(FLAGS_TO_PASS) all) + (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -.PHONY: check-flex maybe-check-flex -maybe-check-flex: +.PHONY: check-gdb maybe-check-gdb +maybe-check-gdb: -# This module is only tested in a native toolchain. -check-flex: - @if [ '$(host)' = '$(target)' ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd flex && $(MAKE) $(FLAGS_TO_PASS) check); \ - fi +check-gdb: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) -.PHONY: install-flex maybe-install-flex -maybe-install-flex: +.PHONY: install-gdb maybe-install-gdb +maybe-install-gdb: -install-flex: installdirs +install-gdb: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd flex && $(MAKE) $(FLAGS_TO_PASS) install) + (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) -.PHONY: configure-gas maybe-configure-gas -maybe-configure-gas: -configure-gas: - @test ! -f gas/Makefile || exit 0; \ - [ -d gas ] || mkdir gas; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-gdb info-gdb +maybe-info-gdb: + +info-gdb: \ + configure-gdb + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-gdb dvi-gdb +maybe-dvi-gdb: + +dvi-gdb: \ + configure-gdb + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-gdb TAGS-gdb +maybe-TAGS-gdb: + +TAGS-gdb: \ + configure-gdb + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-gdb install-info-gdb +maybe-install-info-gdb: + +install-info-gdb: \ + configure-gdb \ + info-gdb + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-gdb installcheck-gdb +maybe-installcheck-gdb: + +installcheck-gdb: \ + configure-gdb + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-gdb mostlyclean-gdb +maybe-mostlyclean-gdb: + +mostlyclean-gdb: + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-gdb clean-gdb +maybe-clean-gdb: + +clean-gdb: + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-gdb distclean-gdb +maybe-distclean-gdb: + +distclean-gdb: + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-gdb maintainer-clean-gdb +maybe-maintainer-clean-gdb: + +maintainer-clean-gdb: + @[ -f ./gdb/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in gdb" ; \ + (cd gdb && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-expect maybe-configure-expect +maybe-configure-expect: +configure-expect: + @test ! -f expect/Makefile || exit 0; \ + [ -d expect ] || mkdir expect; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -19183,123 +17342,254 @@ configure-gas: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in gas; \ - cd gas || exit 1; \ + echo Configuring in expect; \ + cd expect || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gas"; \ - libsrcdir="$$s/gas";; \ + srcdiroption="--srcdir=$(srcdir)/expect"; \ + libsrcdir="$$s/expect";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gas"; \ - libsrcdir="$$s/gas";; \ + srcdiroption="--srcdir=../$(srcdir)/expect"; \ + libsrcdir="$$s/expect";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-gas maybe-all-gas -maybe-all-gas: -all-gas: configure-gas +.PHONY: all-expect maybe-all-expect +maybe-all-expect: +all-expect: configure-expect @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gas && $(MAKE) $(FLAGS_TO_PASS) all) + (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -.PHONY: check-gas maybe-check-gas -maybe-check-gas: +.PHONY: check-expect maybe-check-expect +maybe-check-expect: -check-gas: +check-expect: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gas && $(MAKE) $(FLAGS_TO_PASS) check) + (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) -.PHONY: install-gas maybe-install-gas -maybe-install-gas: +.PHONY: install-expect maybe-install-expect +maybe-install-expect: -install-gas: installdirs +install-expect: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gas && $(MAKE) $(FLAGS_TO_PASS) install) + (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) -.PHONY: configure-gawk maybe-configure-gawk -maybe-configure-gawk: -configure-gawk: - @test ! -f gawk/Makefile || exit 0; \ - [ -d gawk ] || mkdir gawk; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-expect info-expect +maybe-info-expect: + +info-expect: \ + configure-expect + @[ -f ./expect/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in gawk; \ - cd gawk || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gawk"; \ - libsrcdir="$$s/gawk";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/gawk"; \ - libsrcdir="$$s/gawk";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-gawk maybe-all-gawk -maybe-all-gawk: -all-gawk: configure-gawk - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-expect dvi-expect +maybe-dvi-expect: + +dvi-expect: \ + configure-expect + @[ -f ./expect/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gawk && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-gawk maybe-check-gawk -maybe-check-gawk: -check-gawk: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-expect TAGS-expect +maybe-TAGS-expect: + +TAGS-expect: \ + configure-expect + @[ -f ./expect/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gawk && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-gawk maybe-install-gawk -maybe-install-gawk: +.PHONY: maybe-install-info-expect install-info-expect +maybe-install-info-expect: -install-gawk: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-expect: \ + configure-expect \ + info-expect + @[ -f ./expect/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-expect installcheck-expect +maybe-installcheck-expect: + +installcheck-expect: \ + configure-expect + @[ -f ./expect/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-expect mostlyclean-expect +maybe-mostlyclean-expect: + +mostlyclean-expect: + @[ -f ./expect/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-expect clean-expect +maybe-clean-expect: + +clean-expect: + @[ -f ./expect/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-expect distclean-expect +maybe-distclean-expect: + +distclean-expect: + @[ -f ./expect/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-expect maintainer-clean-expect +maybe-maintainer-clean-expect: + +maintainer-clean-expect: + @[ -f ./expect/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gawk && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in expect" ; \ + (cd expect && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-gettext maybe-configure-gettext -maybe-configure-gettext: -configure-gettext: - @test ! -f gettext/Makefile || exit 0; \ - [ -d gettext ] || mkdir gettext; \ + +.PHONY: configure-guile maybe-configure-guile +maybe-configure-guile: +configure-guile: + @test ! -f guile/Makefile || exit 0; \ + [ -d guile ] || mkdir guile; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -19317,56 +17607,254 @@ configure-gettext: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in gettext; \ - cd gettext || exit 1; \ + echo Configuring in guile; \ + cd guile || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gettext"; \ - libsrcdir="$$s/gettext";; \ + srcdiroption="--srcdir=$(srcdir)/guile"; \ + libsrcdir="$$s/guile";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gettext"; \ - libsrcdir="$$s/gettext";; \ + srcdiroption="--srcdir=../$(srcdir)/guile"; \ + libsrcdir="$$s/guile";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-gettext maybe-all-gettext -maybe-all-gettext: -all-gettext: configure-gettext +.PHONY: all-guile maybe-all-guile +maybe-all-guile: +all-guile: configure-guile @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gettext && $(MAKE) $(FLAGS_TO_PASS) all) + (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -.PHONY: check-gettext maybe-check-gettext -maybe-check-gettext: +.PHONY: check-guile maybe-check-guile +maybe-check-guile: -check-gettext: +check-guile: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gettext && $(MAKE) $(FLAGS_TO_PASS) check) + (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) -.PHONY: install-gettext maybe-install-gettext -maybe-install-gettext: +.PHONY: install-guile maybe-install-guile +maybe-install-guile: + +install-guile: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-guile info-guile +maybe-info-guile: + +info-guile: \ + configure-guile + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-guile dvi-guile +maybe-dvi-guile: + +dvi-guile: \ + configure-guile + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-guile TAGS-guile +maybe-TAGS-guile: + +TAGS-guile: \ + configure-guile + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-guile install-info-guile +maybe-install-info-guile: + +install-info-guile: \ + configure-guile \ + info-guile + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-guile installcheck-guile +maybe-installcheck-guile: + +installcheck-guile: \ + configure-guile + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-guile mostlyclean-guile +maybe-mostlyclean-guile: + +mostlyclean-guile: + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-guile clean-guile +maybe-clean-guile: + +clean-guile: + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-guile distclean-guile +maybe-distclean-guile: + +distclean-guile: + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-guile maintainer-clean-guile +maybe-maintainer-clean-guile: + +maintainer-clean-guile: + @[ -f ./guile/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in guile" ; \ + (cd guile && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -install-gettext: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd gettext && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-gnuserv maybe-configure-gnuserv -maybe-configure-gnuserv: -configure-gnuserv: - @test ! -f gnuserv/Makefile || exit 0; \ - [ -d gnuserv ] || mkdir gnuserv; \ +.PHONY: configure-tk maybe-configure-tk +maybe-configure-tk: +configure-tk: + @test ! -f tk/Makefile || exit 0; \ + [ -d tk ] || mkdir tk; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -19384,56 +17872,254 @@ configure-gnuserv: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in gnuserv; \ - cd gnuserv || exit 1; \ + echo Configuring in tk; \ + cd tk || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gnuserv"; \ - libsrcdir="$$s/gnuserv";; \ + srcdiroption="--srcdir=$(srcdir)/tk"; \ + libsrcdir="$$s/tk";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gnuserv"; \ - libsrcdir="$$s/gnuserv";; \ + srcdiroption="--srcdir=../$(srcdir)/tk"; \ + libsrcdir="$$s/tk";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-gnuserv maybe-all-gnuserv -maybe-all-gnuserv: -all-gnuserv: configure-gnuserv +.PHONY: all-tk maybe-all-tk +maybe-all-tk: +all-tk: configure-tk @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) all) + (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -.PHONY: check-gnuserv maybe-check-gnuserv -maybe-check-gnuserv: +.PHONY: check-tk maybe-check-tk +maybe-check-tk: -check-gnuserv: +check-tk: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) check) + (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) -.PHONY: install-gnuserv maybe-install-gnuserv -maybe-install-gnuserv: +.PHONY: install-tk maybe-install-tk +maybe-install-tk: -install-gnuserv: installdirs +install-tk: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) install) + (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) -.PHONY: configure-gprof maybe-configure-gprof -maybe-configure-gprof: -configure-gprof: - @test ! -f gprof/Makefile || exit 0; \ - [ -d gprof ] || mkdir gprof; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-tk info-tk +maybe-info-tk: + +info-tk: \ + configure-tk + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-tk dvi-tk +maybe-dvi-tk: + +dvi-tk: \ + configure-tk + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-tk TAGS-tk +maybe-TAGS-tk: + +TAGS-tk: \ + configure-tk + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-tk install-info-tk +maybe-install-info-tk: + +install-info-tk: \ + configure-tk \ + info-tk + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-tk installcheck-tk +maybe-installcheck-tk: + +installcheck-tk: \ + configure-tk + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-tk mostlyclean-tk +maybe-mostlyclean-tk: + +mostlyclean-tk: + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-tk clean-tk +maybe-clean-tk: + +clean-tk: + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-tk distclean-tk +maybe-distclean-tk: + +distclean-tk: + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-tk maintainer-clean-tk +maybe-maintainer-clean-tk: + +maintainer-clean-tk: + @[ -f ./tk/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in tk" ; \ + (cd tk && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-tix maybe-configure-tix +maybe-configure-tix: +configure-tix: + @test ! -f tix/Makefile || exit 0; \ + [ -d tix ] || mkdir tix; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -19451,190 +18137,254 @@ configure-gprof: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in gprof; \ - cd gprof || exit 1; \ + echo Configuring in tix; \ + cd tix || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gprof"; \ - libsrcdir="$$s/gprof";; \ + srcdiroption="--srcdir=$(srcdir)/tix"; \ + libsrcdir="$$s/tix";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gprof"; \ - libsrcdir="$$s/gprof";; \ + srcdiroption="--srcdir=../$(srcdir)/tix"; \ + libsrcdir="$$s/tix";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-gprof maybe-all-gprof -maybe-all-gprof: -all-gprof: configure-gprof +.PHONY: all-tix maybe-all-tix +maybe-all-tix: +all-tix: configure-tix @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gprof && $(MAKE) $(FLAGS_TO_PASS) all) + (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -.PHONY: check-gprof maybe-check-gprof -maybe-check-gprof: +.PHONY: check-tix maybe-check-tix +maybe-check-tix: -check-gprof: +check-tix: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gprof && $(MAKE) $(FLAGS_TO_PASS) check) + (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) -.PHONY: install-gprof maybe-install-gprof -maybe-install-gprof: +.PHONY: install-tix maybe-install-tix +maybe-install-tix: -install-gprof: installdirs +install-tix: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gprof && $(MAKE) $(FLAGS_TO_PASS) install) + (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) -.PHONY: configure-gzip maybe-configure-gzip -maybe-configure-gzip: -configure-gzip: - @test ! -f gzip/Makefile || exit 0; \ - [ -d gzip ] || mkdir gzip; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-tix info-tix +maybe-info-tix: + +info-tix: \ + configure-tix + @[ -f ./tix/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in gzip; \ - cd gzip || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gzip"; \ - libsrcdir="$$s/gzip";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/gzip"; \ - libsrcdir="$$s/gzip";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-gzip maybe-all-gzip -maybe-all-gzip: -all-gzip: configure-gzip - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-tix dvi-tix +maybe-dvi-tix: + +dvi-tix: \ + configure-tix + @[ -f ./tix/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gzip && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-gzip maybe-check-gzip -maybe-check-gzip: -check-gzip: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-tix TAGS-tix +maybe-TAGS-tix: + +TAGS-tix: \ + configure-tix + @[ -f ./tix/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gzip && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-gzip maybe-install-gzip -maybe-install-gzip: +.PHONY: maybe-install-info-tix install-info-tix +maybe-install-info-tix: -install-gzip: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-tix: \ + configure-tix \ + info-tix + @[ -f ./tix/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gzip && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: configure-hello maybe-configure-hello -maybe-configure-hello: -configure-hello: - @test ! -f hello/Makefile || exit 0; \ - [ -d hello ] || mkdir hello; \ +.PHONY: maybe-installcheck-tix installcheck-tix +maybe-installcheck-tix: + +installcheck-tix: \ + configure-tix + @[ -f ./tix/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in hello; \ - cd hello || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/hello"; \ - libsrcdir="$$s/hello";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/hello"; \ - libsrcdir="$$s/hello";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ || exit 1 -.PHONY: all-hello maybe-all-hello -maybe-all-hello: -all-hello: configure-hello - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-mostlyclean-tix mostlyclean-tix +maybe-mostlyclean-tix: + +mostlyclean-tix: + @[ -f ./tix/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd hello && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-tix clean-tix +maybe-clean-tix: + +clean-tix: + @[ -f ./tix/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: check-hello maybe-check-hello -maybe-check-hello: -check-hello: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-distclean-tix distclean-tix +maybe-distclean-tix: + +distclean-tix: + @[ -f ./tix/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd hello && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: install-hello maybe-install-hello -maybe-install-hello: +.PHONY: maybe-maintainer-clean-tix maintainer-clean-tix +maybe-maintainer-clean-tix: -install-hello: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-tix: + @[ -f ./tix/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd hello && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in tix" ; \ + (cd tix && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-indent maybe-configure-indent -maybe-configure-indent: -configure-indent: - @test ! -f indent/Makefile || exit 0; \ - [ -d indent ] || mkdir indent; \ + +.PHONY: configure-libtermcap maybe-configure-libtermcap +maybe-configure-libtermcap: +configure-libtermcap: + @test ! -f libtermcap/Makefile || exit 0; \ + [ -d libtermcap ] || mkdir libtermcap; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -19652,257 +18402,194 @@ configure-indent: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in indent; \ - cd indent || exit 1; \ + echo Configuring in libtermcap; \ + cd libtermcap || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/indent"; \ - libsrcdir="$$s/indent";; \ + srcdiroption="--srcdir=$(srcdir)/libtermcap"; \ + libsrcdir="$$s/libtermcap";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/indent"; \ - libsrcdir="$$s/indent";; \ + srcdiroption="--srcdir=../$(srcdir)/libtermcap"; \ + libsrcdir="$$s/libtermcap";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-indent maybe-all-indent -maybe-all-indent: -all-indent: configure-indent +.PHONY: all-libtermcap maybe-all-libtermcap +maybe-all-libtermcap: +all-libtermcap: configure-libtermcap @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd indent && $(MAKE) $(FLAGS_TO_PASS) all) + (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-indent maybe-check-indent -maybe-check-indent: +.PHONY: check-libtermcap maybe-check-libtermcap +maybe-check-libtermcap: -check-indent: - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd indent && $(MAKE) $(FLAGS_TO_PASS) check) +check-libtermcap: -.PHONY: install-indent maybe-install-indent -maybe-install-indent: +.PHONY: install-libtermcap maybe-install-libtermcap +maybe-install-libtermcap: -install-indent: installdirs +install-libtermcap: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd indent && $(MAKE) $(FLAGS_TO_PASS) install) + (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-intl maybe-configure-intl -maybe-configure-intl: -configure-intl: - @test ! -f intl/Makefile || exit 0; \ - [ -d intl ] || mkdir intl; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-libtermcap info-libtermcap +maybe-info-libtermcap: + +info-libtermcap: \ + configure-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in intl; \ - cd intl || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/intl"; \ - libsrcdir="$$s/intl";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/intl"; \ - libsrcdir="$$s/intl";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in libtermcap" ; \ + (cd libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-intl maybe-all-intl -maybe-all-intl: -all-intl: configure-intl - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd intl && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-intl maybe-check-intl -maybe-check-intl: +.PHONY: maybe-dvi-libtermcap dvi-libtermcap +maybe-dvi-libtermcap: -check-intl: - @r=`${PWD_COMMAND}`; export r; \ +dvi-libtermcap: \ + configure-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd intl && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in libtermcap" ; \ + (cd libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: install-intl maybe-install-intl -maybe-install-intl: +.PHONY: maybe-TAGS-libtermcap TAGS-libtermcap +maybe-TAGS-libtermcap: -install-intl: installdirs - @r=`${PWD_COMMAND}`; export r; \ +TAGS-libtermcap: \ + configure-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd intl && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in libtermcap" ; \ + (cd libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: configure-tcl maybe-configure-tcl -maybe-configure-tcl: -configure-tcl: - @test ! -f tcl/Makefile || exit 0; \ - [ -d tcl ] || mkdir tcl; \ +.PHONY: maybe-install-info-libtermcap install-info-libtermcap +maybe-install-info-libtermcap: + +install-info-libtermcap: \ + configure-libtermcap \ + info-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in tcl; \ - cd tcl || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/tcl"; \ - libsrcdir="$$s/tcl";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/tcl"; \ - libsrcdir="$$s/tcl";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in libtermcap" ; \ + (cd libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ || exit 1 -.PHONY: all-tcl maybe-all-tcl -maybe-all-tcl: -all-tcl: configure-tcl - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-installcheck-libtermcap installcheck-libtermcap +maybe-installcheck-libtermcap: + +installcheck-libtermcap: \ + configure-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tcl && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in libtermcap" ; \ + (cd libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 -.PHONY: check-tcl maybe-check-tcl -maybe-check-tcl: -check-tcl: - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd tcl && $(MAKE) $(FLAGS_TO_PASS) check) +.PHONY: maybe-mostlyclean-libtermcap mostlyclean-libtermcap +maybe-mostlyclean-libtermcap: +# libtermcap doesn't support mostlyclean. +mostlyclean-libtermcap: -.PHONY: install-tcl maybe-install-tcl -maybe-install-tcl: -install-tcl: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd tcl && $(MAKE) $(FLAGS_TO_PASS) install) +.PHONY: maybe-clean-libtermcap clean-libtermcap +maybe-clean-libtermcap: +# libtermcap doesn't support clean. +clean-libtermcap: -.PHONY: configure-itcl maybe-configure-itcl -maybe-configure-itcl: -configure-itcl: - @test ! -f itcl/Makefile || exit 0; \ - [ -d itcl ] || mkdir itcl; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in itcl; \ - cd itcl || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/itcl"; \ - libsrcdir="$$s/itcl";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/itcl"; \ - libsrcdir="$$s/itcl";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ - || exit 1 -.PHONY: all-itcl maybe-all-itcl -maybe-all-itcl: -all-itcl: configure-itcl - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd itcl && $(MAKE) $(FLAGS_TO_PASS) all) +.PHONY: maybe-distclean-libtermcap distclean-libtermcap +maybe-distclean-libtermcap: -.PHONY: check-itcl maybe-check-itcl -maybe-check-itcl: +# libtermcap doesn't support distclean. +distclean-libtermcap: -check-itcl: - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd itcl && $(MAKE) $(FLAGS_TO_PASS) check) +.PHONY: maybe-maintainer-clean-libtermcap maintainer-clean-libtermcap +maybe-maintainer-clean-libtermcap: -.PHONY: install-itcl maybe-install-itcl -maybe-install-itcl: +# libtermcap doesn't support maintainer-clean. +maintainer-clean-libtermcap: -install-itcl: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd itcl && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-ld maybe-configure-ld -maybe-configure-ld: -configure-ld: - @test ! -f ld/Makefile || exit 0; \ - [ -d ld ] || mkdir ld; \ +.PHONY: configure-utils maybe-configure-utils +maybe-configure-utils: +configure-utils: + @test ! -f utils/Makefile || exit 0; \ + [ -d utils ] || mkdir utils; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ CC="$(CC)"; export CC; \ @@ -19920,2250 +18607,2723 @@ configure-ld: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in ld; \ - cd ld || exit 1; \ + echo Configuring in utils; \ + cd utils || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/ld"; \ - libsrcdir="$$s/ld";; \ + srcdiroption="--srcdir=$(srcdir)/utils"; \ + libsrcdir="$$s/utils";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/ld"; \ - libsrcdir="$$s/ld";; \ + srcdiroption="--srcdir=../$(srcdir)/utils"; \ + libsrcdir="$$s/utils";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-ld maybe-all-ld -maybe-all-ld: -all-ld: configure-ld +.PHONY: all-utils maybe-all-utils +maybe-all-utils: +all-utils: configure-utils @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd ld && $(MAKE) $(FLAGS_TO_PASS) all) + (cd utils && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-ld maybe-check-ld -maybe-check-ld: +.PHONY: check-utils maybe-check-utils +maybe-check-utils: -check-ld: - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd ld && $(MAKE) $(FLAGS_TO_PASS) check) +check-utils: -.PHONY: install-ld maybe-install-ld -maybe-install-ld: +.PHONY: install-utils maybe-install-utils +maybe-install-utils: -install-ld: installdirs +install-utils: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd ld && $(MAKE) $(FLAGS_TO_PASS) install) + (cd utils && $(MAKE) $(FLAGS_TO_PASS) install) -.PHONY: configure-libgui maybe-configure-libgui -maybe-configure-libgui: -configure-libgui: - @test ! -f libgui/Makefile || exit 0; \ - [ -d libgui ] || mkdir libgui; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-utils info-utils +maybe-info-utils: + +info-utils: \ + configure-utils + @[ -f ./utils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in libgui; \ - cd libgui || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/libgui"; \ - libsrcdir="$$s/libgui";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/libgui"; \ - libsrcdir="$$s/libgui";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-libgui maybe-all-libgui -maybe-all-libgui: -all-libgui: configure-libgui - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-utils dvi-utils +maybe-dvi-utils: + +dvi-utils: \ + configure-utils + @[ -f ./utils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd libgui && $(MAKE) $(FLAGS_TO_PASS) all) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-libgui maybe-check-libgui -maybe-check-libgui: -check-libgui: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-utils TAGS-utils +maybe-TAGS-utils: + +TAGS-utils: \ + configure-utils + @[ -f ./utils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd libgui && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-libgui maybe-install-libgui -maybe-install-libgui: +.PHONY: maybe-install-info-utils install-info-utils +maybe-install-info-utils: -install-libgui: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-utils: \ + configure-utils \ + info-utils + @[ -f ./utils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd libgui && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: configure-libiberty maybe-configure-libiberty -maybe-configure-libiberty: -configure-libiberty: - @test ! -f libiberty/Makefile || exit 0; \ - [ -d libiberty ] || mkdir libiberty; \ +.PHONY: maybe-installcheck-utils installcheck-utils +maybe-installcheck-utils: + +installcheck-utils: \ + configure-utils + @[ -f ./utils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in libiberty; \ - cd libiberty || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/libiberty"; \ - libsrcdir="$$s/libiberty";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/libiberty"; \ - libsrcdir="$$s/libiberty";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ || exit 1 -.PHONY: all-libiberty maybe-all-libiberty -maybe-all-libiberty: -all-libiberty: configure-libiberty - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-libiberty maybe-check-libiberty -maybe-check-libiberty: +.PHONY: maybe-mostlyclean-utils mostlyclean-utils +maybe-mostlyclean-utils: -check-libiberty: - @r=`${PWD_COMMAND}`; export r; \ +mostlyclean-utils: + @[ -f ./utils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 -.PHONY: install-libiberty maybe-install-libiberty -maybe-install-libiberty: +.PHONY: maybe-clean-utils clean-utils +maybe-clean-utils: -install-libiberty: installdirs - @r=`${PWD_COMMAND}`; export r; \ +clean-utils: + @[ -f ./utils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) install) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: configure-libtool maybe-configure-libtool -maybe-configure-libtool: -configure-libtool: - @test ! -f libtool/Makefile || exit 0; \ - [ -d libtool ] || mkdir libtool; \ +.PHONY: maybe-distclean-utils distclean-utils +maybe-distclean-utils: + +distclean-utils: + @[ -f ./utils/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in libtool; \ - cd libtool || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/libtool"; \ - libsrcdir="$$s/libtool";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/libtool"; \ - libsrcdir="$$s/libtool";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ || exit 1 -.PHONY: all-libtool maybe-all-libtool -maybe-all-libtool: -all-libtool: configure-libtool - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd libtool && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-libtool maybe-check-libtool -maybe-check-libtool: +.PHONY: maybe-maintainer-clean-utils maintainer-clean-utils +maybe-maintainer-clean-utils: -check-libtool: - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-utils: + @[ -f ./utils/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd libtool && $(MAKE) $(FLAGS_TO_PASS) check) + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in utils" ; \ + (cd utils && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: install-libtool maybe-install-libtool -maybe-install-libtool: -install-libtool: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd libtool && $(MAKE) $(FLAGS_TO_PASS) install) +# --------------------------------------- +# Modules which run on the target machine +# --------------------------------------- -.PHONY: configure-m4 maybe-configure-m4 -maybe-configure-m4: -configure-m4: - @test ! -f m4/Makefile || exit 0; \ - [ -d m4 ] || mkdir m4; \ +.PHONY: configure-target-libstdc++-v3 maybe-configure-target-libstdc++-v3 +maybe-configure-target-libstdc++-v3: + +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/libstdc++-v3/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \ + rm -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libstdc++-v3/multilib.out + +configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out + @test ! -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in m4; \ - cd m4 || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ + CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/libstdc++-v3; \ + cd "$(TARGET_SUBDIR)/libstdc++-v3" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/m4"; \ - libsrcdir="$$s/m4";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/m4"; \ - libsrcdir="$$s/m4";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \ + libsrcdir="$$s/libstdc++-v3"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-m4 maybe-all-m4 -maybe-all-m4: -all-m4: configure-m4 +.PHONY: all-target-libstdc++-v3 maybe-all-target-libstdc++-v3 +maybe-all-target-libstdc++-v3: +all-target-libstdc++-v3: configure-target-libstdc++-v3 @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd m4 && $(MAKE) $(FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all) -.PHONY: check-m4 maybe-check-m4 -maybe-check-m4: +.PHONY: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3 +maybe-check-target-libstdc++-v3: -check-m4: +check-target-libstdc++-v3: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd m4 && $(MAKE) $(FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' check) -.PHONY: install-m4 maybe-install-m4 -maybe-install-m4: +.PHONY: install-target-libstdc++-v3 maybe-install-target-libstdc++-v3 +maybe-install-target-libstdc++-v3: -install-m4: installdirs +install-target-libstdc++-v3: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd m4 && $(MAKE) $(FLAGS_TO_PASS) install) + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-make maybe-configure-make -maybe-configure-make: -configure-make: - @test ! -f make/Makefile || exit 0; \ - [ -d make ] || mkdir make; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-libstdc++-v3 info-target-libstdc++-v3 +maybe-info-target-libstdc++-v3: + +info-target-libstdc++-v3: \ + configure-target-libstdc++-v3 + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in make; \ - cd make || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/make"; \ - libsrcdir="$$s/make";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/make"; \ - libsrcdir="$$s/make";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-make maybe-all-make -maybe-all-make: -all-make: configure-make - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-target-libstdc++-v3 dvi-target-libstdc++-v3 +maybe-dvi-target-libstdc++-v3: + +dvi-target-libstdc++-v3: \ + configure-target-libstdc++-v3 + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd make && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing dvi in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-make maybe-check-make -maybe-check-make: -check-make: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-target-libstdc++-v3 TAGS-target-libstdc++-v3 +maybe-TAGS-target-libstdc++-v3: + +TAGS-target-libstdc++-v3: \ + configure-target-libstdc++-v3 + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd make && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing TAGS in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-make maybe-install-make -maybe-install-make: +.PHONY: maybe-install-info-target-libstdc++-v3 install-info-target-libstdc++-v3 +maybe-install-info-target-libstdc++-v3: -install-make: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-target-libstdc++-v3: \ + configure-target-libstdc++-v3 \ + info-target-libstdc++-v3 + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd make && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing install-info in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: configure-mmalloc maybe-configure-mmalloc -maybe-configure-mmalloc: -configure-mmalloc: - @test ! -f mmalloc/Makefile || exit 0; \ - [ -d mmalloc ] || mkdir mmalloc; \ +.PHONY: maybe-installcheck-target-libstdc++-v3 installcheck-target-libstdc++-v3 +maybe-installcheck-target-libstdc++-v3: + +installcheck-target-libstdc++-v3: \ + configure-target-libstdc++-v3 + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in mmalloc; \ - cd mmalloc || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/mmalloc"; \ - libsrcdir="$$s/mmalloc";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/mmalloc"; \ - libsrcdir="$$s/mmalloc";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-libstdc++-v3 mostlyclean-target-libstdc++-v3 +maybe-mostlyclean-target-libstdc++-v3: + +mostlyclean-target-libstdc++-v3: + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ || exit 1 -.PHONY: all-mmalloc maybe-all-mmalloc -maybe-all-mmalloc: -all-mmalloc: configure-mmalloc - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-clean-target-libstdc++-v3 clean-target-libstdc++-v3 +maybe-clean-target-libstdc++-v3: + +clean-target-libstdc++-v3: + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: check-mmalloc maybe-check-mmalloc -maybe-check-mmalloc: -check-mmalloc: +.PHONY: maybe-distclean-target-libstdc++-v3 distclean-target-libstdc++-v3 +maybe-distclean-target-libstdc++-v3: + +distclean-target-libstdc++-v3: + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: install-mmalloc maybe-install-mmalloc -maybe-install-mmalloc: +.PHONY: maybe-maintainer-clean-target-libstdc++-v3 maintainer-clean-target-libstdc++-v3 +maybe-maintainer-clean-target-libstdc++-v3: -install-mmalloc: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-libstdc++-v3: + @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-patch maybe-configure-patch -maybe-configure-patch: -configure-patch: - @test ! -f patch/Makefile || exit 0; \ - [ -d patch ] || mkdir patch; \ + +.PHONY: configure-target-newlib maybe-configure-target-newlib +maybe-configure-target-newlib: + +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/newlib/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \ + rm -f $(TARGET_SUBDIR)/newlib/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/newlib/multilib.out + +configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out + @test ! -f $(TARGET_SUBDIR)/newlib/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in patch; \ - cd patch || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/newlib; \ + cd "$(TARGET_SUBDIR)/newlib" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/patch"; \ - libsrcdir="$$s/patch";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/patch"; \ - libsrcdir="$$s/patch";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + srcdiroption="--srcdir=$${topdir}/newlib"; \ + libsrcdir="$$s/newlib"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-patch maybe-all-patch -maybe-all-patch: -all-patch: configure-patch +.PHONY: all-target-newlib maybe-all-target-newlib +maybe-all-target-newlib: +all-target-newlib: configure-target-newlib @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd patch && $(MAKE) $(FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-patch maybe-check-patch -maybe-check-patch: +.PHONY: check-target-newlib maybe-check-target-newlib +maybe-check-target-newlib: -check-patch: +check-target-newlib: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd patch && $(MAKE) $(FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-patch maybe-install-patch -maybe-install-patch: +.PHONY: install-target-newlib maybe-install-target-newlib +maybe-install-target-newlib: -install-patch: installdirs +install-target-newlib: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd patch && $(MAKE) $(FLAGS_TO_PASS) install) + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-perl maybe-configure-perl -maybe-configure-perl: -configure-perl: - @test ! -f perl/Makefile || exit 0; \ - [ -d perl ] || mkdir perl; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-newlib info-target-newlib +maybe-info-target-newlib: + +info-target-newlib: \ + configure-target-newlib + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in perl; \ - cd perl || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/perl"; \ - libsrcdir="$$s/perl";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/perl"; \ - libsrcdir="$$s/perl";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-perl maybe-all-perl -maybe-all-perl: -all-perl: configure-perl - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-target-newlib dvi-target-newlib +maybe-dvi-target-newlib: + +dvi-target-newlib: \ + configure-target-newlib + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd perl && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing dvi in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-perl maybe-check-perl -maybe-check-perl: -check-perl: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-target-newlib TAGS-target-newlib +maybe-TAGS-target-newlib: + +TAGS-target-newlib: \ + configure-target-newlib + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd perl && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing TAGS in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-perl maybe-install-perl -maybe-install-perl: +.PHONY: maybe-install-info-target-newlib install-info-target-newlib +maybe-install-info-target-newlib: -install-perl: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-target-newlib: \ + configure-target-newlib \ + info-target-newlib + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd perl && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing install-info in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: configure-prms maybe-configure-prms -maybe-configure-prms: -configure-prms: - @test ! -f prms/Makefile || exit 0; \ - [ -d prms ] || mkdir prms; \ +.PHONY: maybe-installcheck-target-newlib installcheck-target-newlib +maybe-installcheck-target-newlib: + +installcheck-target-newlib: \ + configure-target-newlib + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in prms; \ - cd prms || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/prms"; \ - libsrcdir="$$s/prms";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/prms"; \ - libsrcdir="$$s/prms";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ || exit 1 -.PHONY: all-prms maybe-all-prms -maybe-all-prms: -all-prms: configure-prms - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd prms && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-prms maybe-check-prms -maybe-check-prms: +.PHONY: maybe-mostlyclean-target-newlib mostlyclean-target-newlib +maybe-mostlyclean-target-newlib: -check-prms: - @r=`${PWD_COMMAND}`; export r; \ +mostlyclean-target-newlib: + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd prms && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing mostlyclean in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 -.PHONY: install-prms maybe-install-prms -maybe-install-prms: +.PHONY: maybe-clean-target-newlib clean-target-newlib +maybe-clean-target-newlib: -install-prms: installdirs - @r=`${PWD_COMMAND}`; export r; \ +clean-target-newlib: + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd prms && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing clean in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: configure-rcs maybe-configure-rcs -maybe-configure-rcs: -configure-rcs: - @test ! -f rcs/Makefile || exit 0; \ - [ -d rcs ] || mkdir rcs; \ +.PHONY: maybe-distclean-target-newlib distclean-target-newlib +maybe-distclean-target-newlib: + +distclean-target-newlib: + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in rcs; \ - cd rcs || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/rcs"; \ - libsrcdir="$$s/rcs";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/rcs"; \ - libsrcdir="$$s/rcs";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ || exit 1 -.PHONY: all-rcs maybe-all-rcs -maybe-all-rcs: -all-rcs: configure-rcs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd rcs && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-rcs maybe-check-rcs -maybe-check-rcs: +.PHONY: maybe-maintainer-clean-target-newlib maintainer-clean-target-newlib +maybe-maintainer-clean-target-newlib: -check-rcs: - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-newlib: + @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd rcs && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/newlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/newlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: install-rcs maybe-install-rcs -maybe-install-rcs: -install-rcs: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd rcs && $(MAKE) $(FLAGS_TO_PASS) install) +.PHONY: configure-target-libf2c maybe-configure-target-libf2c +maybe-configure-target-libf2c: +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/libf2c/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libf2c ; \ + rm -f $(TARGET_SUBDIR)/libf2c/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libf2c/multilib.out -.PHONY: configure-readline maybe-configure-readline -maybe-configure-readline: -configure-readline: - @test ! -f readline/Makefile || exit 0; \ - [ -d readline ] || mkdir readline; \ +configure-target-libf2c: $(TARGET_SUBDIR)/libf2c/multilib.out + @test ! -f $(TARGET_SUBDIR)/libf2c/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libf2c ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in readline; \ - cd readline || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/libf2c; \ + cd "$(TARGET_SUBDIR)/libf2c" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/readline"; \ - libsrcdir="$$s/readline";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/readline"; \ - libsrcdir="$$s/readline";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + srcdiroption="--srcdir=$${topdir}/libf2c"; \ + libsrcdir="$$s/libf2c"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-readline maybe-all-readline -maybe-all-readline: -all-readline: configure-readline +.PHONY: all-target-libf2c maybe-all-target-libf2c +maybe-all-target-libf2c: +all-target-libf2c: configure-target-libf2c @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd readline && $(MAKE) $(FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-readline maybe-check-readline -maybe-check-readline: +.PHONY: check-target-libf2c maybe-check-target-libf2c +maybe-check-target-libf2c: -check-readline: +check-target-libf2c: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd readline && $(MAKE) $(FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-readline maybe-install-readline -maybe-install-readline: +.PHONY: install-target-libf2c maybe-install-target-libf2c +maybe-install-target-libf2c: -install-readline: installdirs +install-target-libf2c: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd readline && $(MAKE) $(FLAGS_TO_PASS) install) + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-release maybe-configure-release -maybe-configure-release: -configure-release: - @test ! -f release/Makefile || exit 0; \ - [ -d release ] || mkdir release; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-libf2c info-target-libf2c +maybe-info-target-libf2c: + +info-target-libf2c: \ + configure-target-libf2c + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in release; \ - cd release || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/release"; \ - libsrcdir="$$s/release";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/release"; \ - libsrcdir="$$s/release";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-release maybe-all-release -maybe-all-release: -all-release: configure-release - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-target-libf2c dvi-target-libf2c +maybe-dvi-target-libf2c: + +dvi-target-libf2c: \ + configure-target-libf2c + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd release && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing dvi in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-release maybe-check-release -maybe-check-release: -check-release: +.PHONY: maybe-TAGS-target-libf2c TAGS-target-libf2c +maybe-TAGS-target-libf2c: + +TAGS-target-libf2c: \ + configure-target-libf2c + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-release maybe-install-release -maybe-install-release: +.PHONY: maybe-install-info-target-libf2c install-info-target-libf2c +maybe-install-info-target-libf2c: -install-release: +install-info-target-libf2c: \ + configure-target-libf2c \ + info-target-libf2c + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: configure-recode maybe-configure-recode -maybe-configure-recode: -configure-recode: - @test ! -f recode/Makefile || exit 0; \ - [ -d recode ] || mkdir recode; \ +.PHONY: maybe-installcheck-target-libf2c installcheck-target-libf2c +maybe-installcheck-target-libf2c: + +installcheck-target-libf2c: \ + configure-target-libf2c + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in recode; \ - cd recode || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/recode"; \ - libsrcdir="$$s/recode";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/recode"; \ - libsrcdir="$$s/recode";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ || exit 1 -.PHONY: all-recode maybe-all-recode -maybe-all-recode: -all-recode: configure-recode - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-mostlyclean-target-libf2c mostlyclean-target-libf2c +maybe-mostlyclean-target-libf2c: + +mostlyclean-target-libf2c: + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-libf2c clean-target-libf2c +maybe-clean-target-libf2c: + +clean-target-libf2c: + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd recode && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing clean in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: check-recode maybe-check-recode -maybe-check-recode: -check-recode: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-distclean-target-libf2c distclean-target-libf2c +maybe-distclean-target-libf2c: + +distclean-target-libf2c: + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd recode && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing distclean in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: install-recode maybe-install-recode -maybe-install-recode: +.PHONY: maybe-maintainer-clean-target-libf2c maintainer-clean-target-libf2c +maybe-maintainer-clean-target-libf2c: -install-recode: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-libf2c: + @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd recode && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libf2c" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libf2c && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-sed maybe-configure-sed -maybe-configure-sed: -configure-sed: - @test ! -f sed/Makefile || exit 0; \ - [ -d sed ] || mkdir sed; \ + +.PHONY: configure-target-libobjc maybe-configure-target-libobjc +maybe-configure-target-libobjc: + +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/libobjc/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \ + rm -f $(TARGET_SUBDIR)/libobjc/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libobjc/multilib.out + +configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out + @test ! -f $(TARGET_SUBDIR)/libobjc/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in sed; \ - cd sed || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/libobjc; \ + cd "$(TARGET_SUBDIR)/libobjc" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/sed"; \ - libsrcdir="$$s/sed";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/sed"; \ - libsrcdir="$$s/sed";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + srcdiroption="--srcdir=$${topdir}/libobjc"; \ + libsrcdir="$$s/libobjc"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-sed maybe-all-sed -maybe-all-sed: -all-sed: configure-sed +.PHONY: all-target-libobjc maybe-all-target-libobjc +maybe-all-target-libobjc: +all-target-libobjc: configure-target-libobjc @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sed && $(MAKE) $(FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-sed maybe-check-sed -maybe-check-sed: +.PHONY: check-target-libobjc maybe-check-target-libobjc +maybe-check-target-libobjc: -check-sed: +check-target-libobjc: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sed && $(MAKE) $(FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-sed maybe-install-sed -maybe-install-sed: +.PHONY: install-target-libobjc maybe-install-target-libobjc +maybe-install-target-libobjc: -install-sed: installdirs +install-target-libobjc: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sed && $(MAKE) $(FLAGS_TO_PASS) install) + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-send-pr maybe-configure-send-pr -maybe-configure-send-pr: -configure-send-pr: - @test ! -f send-pr/Makefile || exit 0; \ - [ -d send-pr ] || mkdir send-pr; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-libobjc info-target-libobjc +maybe-info-target-libobjc: + +info-target-libobjc: \ + configure-target-libobjc + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in send-pr; \ - cd send-pr || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/send-pr"; \ - libsrcdir="$$s/send-pr";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/send-pr"; \ - libsrcdir="$$s/send-pr";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-send-pr maybe-all-send-pr -maybe-all-send-pr: -all-send-pr: configure-send-pr - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-target-libobjc dvi-target-libobjc +maybe-dvi-target-libobjc: + +dvi-target-libobjc: \ + configure-target-libobjc + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing dvi in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-target-libobjc TAGS-target-libobjc +maybe-TAGS-target-libobjc: + +TAGS-target-libobjc: \ + configure-target-libobjc + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: check-send-pr maybe-check-send-pr -maybe-check-send-pr: -check-send-pr: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-install-info-target-libobjc install-info-target-libobjc +maybe-install-info-target-libobjc: + +install-info-target-libobjc: \ + configure-target-libobjc \ + info-target-libobjc + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing install-info in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: install-send-pr maybe-install-send-pr -maybe-install-send-pr: +.PHONY: maybe-installcheck-target-libobjc installcheck-target-libobjc +maybe-installcheck-target-libobjc: -install-send-pr: installdirs - @r=`${PWD_COMMAND}`; export r; \ +installcheck-target-libobjc: \ + configure-target-libobjc + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing installcheck in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 -.PHONY: configure-shellutils maybe-configure-shellutils -maybe-configure-shellutils: -configure-shellutils: - @test ! -f shellutils/Makefile || exit 0; \ - [ -d shellutils ] || mkdir shellutils; \ +.PHONY: maybe-mostlyclean-target-libobjc mostlyclean-target-libobjc +maybe-mostlyclean-target-libobjc: + +mostlyclean-target-libobjc: + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in shellutils; \ - cd shellutils || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/shellutils"; \ - libsrcdir="$$s/shellutils";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/shellutils"; \ - libsrcdir="$$s/shellutils";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ || exit 1 -.PHONY: all-shellutils maybe-all-shellutils -maybe-all-shellutils: -all-shellutils: configure-shellutils - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-clean-target-libobjc clean-target-libobjc +maybe-clean-target-libobjc: + +clean-target-libobjc: + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing clean in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: check-shellutils maybe-check-shellutils -maybe-check-shellutils: -check-shellutils: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-distclean-target-libobjc distclean-target-libobjc +maybe-distclean-target-libobjc: + +distclean-target-libobjc: + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing distclean in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: install-shellutils maybe-install-shellutils -maybe-install-shellutils: +.PHONY: maybe-maintainer-clean-target-libobjc maintainer-clean-target-libobjc +maybe-maintainer-clean-target-libobjc: -install-shellutils: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-libobjc: + @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libobjc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libobjc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-sid maybe-configure-sid -maybe-configure-sid: -configure-sid: - @test ! -f sid/Makefile || exit 0; \ - [ -d sid ] || mkdir sid; \ + +.PHONY: configure-target-libtermcap maybe-configure-target-libtermcap +maybe-configure-target-libtermcap: + +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/libtermcap/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \ + rm -f $(TARGET_SUBDIR)/libtermcap/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libtermcap/multilib.out + +configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out + @test ! -f $(TARGET_SUBDIR)/libtermcap/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in sid; \ - cd sid || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/libtermcap; \ + cd "$(TARGET_SUBDIR)/libtermcap" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/sid"; \ - libsrcdir="$$s/sid";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/sid"; \ - libsrcdir="$$s/sid";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + if [ "$(srcdir)" = "." ] ; then \ + if [ "$(TARGET_SUBDIR)" != "." ] ; then \ + if $(SHELL) $$s/symlink-tree $${topdir}/libtermcap "no-such-file" ; then \ + if [ -f Makefile ]; then \ + if $(MAKE) distclean; then \ + true; \ + else \ + exit 1; \ + fi; \ + else \ + true; \ + fi; \ + else \ + exit 1; \ + fi; \ + else \ + true; \ + fi; \ + srcdiroption="--srcdir=."; \ + libsrcdir="."; \ + else \ + srcdiroption="--srcdir=$${topdir}/libtermcap"; \ + libsrcdir="$$s/libtermcap"; \ + fi; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-sid maybe-all-sid -maybe-all-sid: -all-sid: configure-sid +.PHONY: all-target-libtermcap maybe-all-target-libtermcap +maybe-all-target-libtermcap: +all-target-libtermcap: configure-target-libtermcap @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sid && $(MAKE) $(FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/libtermcap && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-sid maybe-check-sid -maybe-check-sid: +.PHONY: check-target-libtermcap maybe-check-target-libtermcap +maybe-check-target-libtermcap: -check-sid: +# Dummy target for uncheckable module. +check-target-libtermcap: + + +.PHONY: install-target-libtermcap maybe-install-target-libtermcap +maybe-install-target-libtermcap: + +install-target-libtermcap: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sid && $(MAKE) $(FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/libtermcap && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: install-sid maybe-install-sid -maybe-install-sid: +# Other targets (info, dvi, etc.) -install-sid: installdirs - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-info-target-libtermcap info-target-libtermcap +maybe-info-target-libtermcap: + +info-target-libtermcap: \ + configure-target-libtermcap + @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sid && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing info in $(TARGET_SUBDIR)/libtermcap" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 -.PHONY: configure-sim maybe-configure-sim -maybe-configure-sim: -configure-sim: - @test ! -f sim/Makefile || exit 0; \ - [ -d sim ] || mkdir sim; \ +.PHONY: maybe-dvi-target-libtermcap dvi-target-libtermcap +maybe-dvi-target-libtermcap: + +dvi-target-libtermcap: \ + configure-target-libtermcap + @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in sim; \ - cd sim || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/sim"; \ - libsrcdir="$$s/sim";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/sim"; \ - libsrcdir="$$s/sim";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing dvi in $(TARGET_SUBDIR)/libtermcap" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ || exit 1 -.PHONY: all-sim maybe-all-sim -maybe-all-sim: -all-sim: configure-sim - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-TAGS-target-libtermcap TAGS-target-libtermcap +maybe-TAGS-target-libtermcap: + +TAGS-target-libtermcap: \ + configure-target-libtermcap + @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sim && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing TAGS in $(TARGET_SUBDIR)/libtermcap" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: check-sim maybe-check-sim -maybe-check-sim: -check-sim: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-install-info-target-libtermcap install-info-target-libtermcap +maybe-install-info-target-libtermcap: + +install-info-target-libtermcap: \ + configure-target-libtermcap \ + info-target-libtermcap + @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sim && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing install-info in $(TARGET_SUBDIR)/libtermcap" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: install-sim maybe-install-sim -maybe-install-sim: +.PHONY: maybe-installcheck-target-libtermcap installcheck-target-libtermcap +maybe-installcheck-target-libtermcap: -install-sim: installdirs - @r=`${PWD_COMMAND}`; export r; \ +installcheck-target-libtermcap: \ + configure-target-libtermcap + @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd sim && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing installcheck in $(TARGET_SUBDIR)/libtermcap" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libtermcap && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 -.PHONY: configure-tar maybe-configure-tar -maybe-configure-tar: -configure-tar: - @test ! -f tar/Makefile || exit 0; \ - [ -d tar ] || mkdir tar; \ +.PHONY: maybe-mostlyclean-target-libtermcap mostlyclean-target-libtermcap +maybe-mostlyclean-target-libtermcap: + +# libtermcap doesn't support mostlyclean. +mostlyclean-target-libtermcap: + + +.PHONY: maybe-clean-target-libtermcap clean-target-libtermcap +maybe-clean-target-libtermcap: + +# libtermcap doesn't support clean. +clean-target-libtermcap: + + +.PHONY: maybe-distclean-target-libtermcap distclean-target-libtermcap +maybe-distclean-target-libtermcap: + +# libtermcap doesn't support distclean. +distclean-target-libtermcap: + + +.PHONY: maybe-maintainer-clean-target-libtermcap maintainer-clean-target-libtermcap +maybe-maintainer-clean-target-libtermcap: + +# libtermcap doesn't support maintainer-clean. +maintainer-clean-target-libtermcap: + + + +.PHONY: configure-target-winsup maybe-configure-target-winsup +maybe-configure-target-winsup: + +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/winsup/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \ + rm -f $(TARGET_SUBDIR)/winsup/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/winsup/multilib.out + +configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out + @test ! -f $(TARGET_SUBDIR)/winsup/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in tar; \ - cd tar || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/winsup; \ + cd "$(TARGET_SUBDIR)/winsup" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/tar"; \ - libsrcdir="$$s/tar";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/tar"; \ - libsrcdir="$$s/tar";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + srcdiroption="--srcdir=$${topdir}/winsup"; \ + libsrcdir="$$s/winsup"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-tar maybe-all-tar -maybe-all-tar: -all-tar: configure-tar +.PHONY: all-target-winsup maybe-all-target-winsup +maybe-all-target-winsup: +all-target-winsup: configure-target-winsup @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tar && $(MAKE) $(FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-tar maybe-check-tar -maybe-check-tar: +.PHONY: check-target-winsup maybe-check-target-winsup +maybe-check-target-winsup: -check-tar: +check-target-winsup: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tar && $(MAKE) $(FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-tar maybe-install-tar -maybe-install-tar: +.PHONY: install-target-winsup maybe-install-target-winsup +maybe-install-target-winsup: -install-tar: installdirs +install-target-winsup: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tar && $(MAKE) $(FLAGS_TO_PASS) install) + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-texinfo maybe-configure-texinfo -maybe-configure-texinfo: -configure-texinfo: - @test ! -f texinfo/Makefile || exit 0; \ - [ -d texinfo ] || mkdir texinfo; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-winsup info-target-winsup +maybe-info-target-winsup: + +info-target-winsup: \ + configure-target-winsup + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in texinfo; \ - cd texinfo || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/texinfo"; \ - libsrcdir="$$s/texinfo";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/texinfo"; \ - libsrcdir="$$s/texinfo";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-texinfo maybe-all-texinfo -maybe-all-texinfo: -all-texinfo: configure-texinfo - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-target-winsup dvi-target-winsup +maybe-dvi-target-winsup: + +dvi-target-winsup: \ + configure-target-winsup + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing dvi in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-texinfo maybe-check-texinfo -maybe-check-texinfo: -check-texinfo: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-target-winsup TAGS-target-winsup +maybe-TAGS-target-winsup: + +TAGS-target-winsup: \ + configure-target-winsup + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing TAGS in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-texinfo maybe-install-texinfo -maybe-install-texinfo: +.PHONY: maybe-install-info-target-winsup install-info-target-winsup +maybe-install-info-target-winsup: -install-texinfo: +install-info-target-winsup: \ + configure-target-winsup \ + info-target-winsup + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: configure-textutils maybe-configure-textutils -maybe-configure-textutils: -configure-textutils: - @test ! -f textutils/Makefile || exit 0; \ - [ -d textutils ] || mkdir textutils; \ +.PHONY: maybe-installcheck-target-winsup installcheck-target-winsup +maybe-installcheck-target-winsup: + +installcheck-target-winsup: \ + configure-target-winsup + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in textutils; \ - cd textutils || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/textutils"; \ - libsrcdir="$$s/textutils";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/textutils"; \ - libsrcdir="$$s/textutils";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-winsup mostlyclean-target-winsup +maybe-mostlyclean-target-winsup: + +mostlyclean-target-winsup: + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-winsup clean-target-winsup +maybe-clean-target-winsup: + +clean-target-winsup: + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ || exit 1 -.PHONY: all-textutils maybe-all-textutils -maybe-all-textutils: -all-textutils: configure-textutils - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd textutils && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-textutils maybe-check-textutils -maybe-check-textutils: +.PHONY: maybe-distclean-target-winsup distclean-target-winsup +maybe-distclean-target-winsup: -check-textutils: - @r=`${PWD_COMMAND}`; export r; \ +distclean-target-winsup: + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd textutils && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing distclean in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: install-textutils maybe-install-textutils -maybe-install-textutils: +.PHONY: maybe-maintainer-clean-target-winsup maintainer-clean-target-winsup +maybe-maintainer-clean-target-winsup: -install-textutils: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-winsup: + @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd textutils && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/winsup" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/winsup && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-time maybe-configure-time -maybe-configure-time: -configure-time: - @test ! -f time/Makefile || exit 0; \ - [ -d time ] || mkdir time; \ + +.PHONY: configure-target-libgloss maybe-configure-target-libgloss +maybe-configure-target-libgloss: + +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/libgloss/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \ + rm -f $(TARGET_SUBDIR)/libgloss/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libgloss/multilib.out + +configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out + @test ! -f $(TARGET_SUBDIR)/libgloss/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in time; \ - cd time || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/libgloss; \ + cd "$(TARGET_SUBDIR)/libgloss" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/time"; \ - libsrcdir="$$s/time";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/time"; \ - libsrcdir="$$s/time";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + srcdiroption="--srcdir=$${topdir}/libgloss"; \ + libsrcdir="$$s/libgloss"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-time maybe-all-time -maybe-all-time: -all-time: configure-time +.PHONY: all-target-libgloss maybe-all-target-libgloss +maybe-all-target-libgloss: +all-target-libgloss: configure-target-libgloss @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd time && $(MAKE) $(FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-time maybe-check-time -maybe-check-time: +.PHONY: check-target-libgloss maybe-check-target-libgloss +maybe-check-target-libgloss: -check-time: +# Dummy target for uncheckable module. +check-target-libgloss: + + +.PHONY: install-target-libgloss maybe-install-target-libgloss +maybe-install-target-libgloss: + +install-target-libgloss: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd time && $(MAKE) $(FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: install-time maybe-install-time -maybe-install-time: +# Other targets (info, dvi, etc.) -install-time: installdirs - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-info-target-libgloss info-target-libgloss +maybe-info-target-libgloss: + +info-target-libgloss: \ + configure-target-libgloss + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd time && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing info in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 -.PHONY: configure-uudecode maybe-configure-uudecode -maybe-configure-uudecode: -configure-uudecode: - @test ! -f uudecode/Makefile || exit 0; \ - [ -d uudecode ] || mkdir uudecode; \ +.PHONY: maybe-dvi-target-libgloss dvi-target-libgloss +maybe-dvi-target-libgloss: + +dvi-target-libgloss: \ + configure-target-libgloss + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in uudecode; \ - cd uudecode || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/uudecode"; \ - libsrcdir="$$s/uudecode";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/uudecode"; \ - libsrcdir="$$s/uudecode";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing dvi in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ || exit 1 -.PHONY: all-uudecode maybe-all-uudecode -maybe-all-uudecode: -all-uudecode: configure-uudecode - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-TAGS-target-libgloss TAGS-target-libgloss +maybe-TAGS-target-libgloss: + +TAGS-target-libgloss: \ + configure-target-libgloss + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) all) + echo "Doing TAGS in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: check-uudecode maybe-check-uudecode -maybe-check-uudecode: -check-uudecode: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-install-info-target-libgloss install-info-target-libgloss +maybe-install-info-target-libgloss: + +install-info-target-libgloss: \ + configure-target-libgloss \ + info-target-libgloss + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing install-info in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: install-uudecode maybe-install-uudecode -maybe-install-uudecode: +.PHONY: maybe-installcheck-target-libgloss installcheck-target-libgloss +maybe-installcheck-target-libgloss: -install-uudecode: installdirs - @r=`${PWD_COMMAND}`; export r; \ +installcheck-target-libgloss: \ + configure-target-libgloss + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing installcheck in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 -.PHONY: configure-wdiff maybe-configure-wdiff -maybe-configure-wdiff: -configure-wdiff: - @test ! -f wdiff/Makefile || exit 0; \ - [ -d wdiff ] || mkdir wdiff; \ +.PHONY: maybe-mostlyclean-target-libgloss mostlyclean-target-libgloss +maybe-mostlyclean-target-libgloss: + +mostlyclean-target-libgloss: + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in wdiff; \ - cd wdiff || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/wdiff"; \ - libsrcdir="$$s/wdiff";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/wdiff"; \ - libsrcdir="$$s/wdiff";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ || exit 1 -.PHONY: all-wdiff maybe-all-wdiff -maybe-all-wdiff: -all-wdiff: configure-wdiff - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-wdiff maybe-check-wdiff -maybe-check-wdiff: +.PHONY: maybe-clean-target-libgloss clean-target-libgloss +maybe-clean-target-libgloss: -check-wdiff: - @r=`${PWD_COMMAND}`; export r; \ +clean-target-libgloss: + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) check) + echo "Doing clean in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: install-wdiff maybe-install-wdiff -maybe-install-wdiff: +.PHONY: maybe-distclean-target-libgloss distclean-target-libgloss +maybe-distclean-target-libgloss: -install-wdiff: installdirs - @r=`${PWD_COMMAND}`; export r; \ +distclean-target-libgloss: + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing distclean in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: configure-zip maybe-configure-zip -maybe-configure-zip: -configure-zip: - @test ! -f zip/Makefile || exit 0; \ - [ -d zip ] || mkdir zip; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in zip; \ - cd zip || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/zip"; \ - libsrcdir="$$s/zip";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/zip"; \ - libsrcdir="$$s/zip";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ - || exit 1 +.PHONY: maybe-maintainer-clean-target-libgloss maintainer-clean-target-libgloss +maybe-maintainer-clean-target-libgloss: -.PHONY: all-zip maybe-all-zip -maybe-all-zip: -all-zip: configure-zip - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-libgloss: + @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd zip && $(MAKE) $(FLAGS_TO_PASS) all) - -.PHONY: check-zip maybe-check-zip -maybe-check-zip: - -# This module is only tested in a native toolchain. -check-zip: - @if [ '$(host)' = '$(target)' ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd zip && $(MAKE) $(FLAGS_TO_PASS) check); \ - fi + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgloss" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgloss && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: install-zip maybe-install-zip -maybe-install-zip: -install-zip: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd zip && $(MAKE) $(FLAGS_TO_PASS) install) +.PHONY: configure-target-libiberty maybe-configure-target-libiberty +maybe-configure-target-libiberty: +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/libiberty/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \ + rm -f $(TARGET_SUBDIR)/libiberty/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libiberty/multilib.out -.PHONY: configure-zlib maybe-configure-zlib -maybe-configure-zlib: -configure-zlib: - @test ! -f zlib/Makefile || exit 0; \ - [ -d zlib ] || mkdir zlib; \ +configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out + @test ! -f $(TARGET_SUBDIR)/libiberty/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in zlib; \ - cd zlib || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/libiberty; \ + cd "$(TARGET_SUBDIR)/libiberty" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/zlib"; \ - libsrcdir="$$s/zlib";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/zlib"; \ - libsrcdir="$$s/zlib";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + srcdiroption="--srcdir=$${topdir}/libiberty"; \ + libsrcdir="$$s/libiberty"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-zlib maybe-all-zlib -maybe-all-zlib: -all-zlib: configure-zlib +.PHONY: all-target-libiberty maybe-all-target-libiberty +maybe-all-target-libiberty: +all-target-libiberty: configure-target-libiberty @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd zlib && $(MAKE) $(FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-zlib maybe-check-zlib -maybe-check-zlib: +.PHONY: check-target-libiberty maybe-check-target-libiberty +maybe-check-target-libiberty: -check-zlib: +check-target-libiberty: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-zlib maybe-install-zlib -maybe-install-zlib: +.PHONY: install-target-libiberty maybe-install-target-libiberty +maybe-install-target-libiberty: -install-zlib: +install-target-libiberty: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-gdb maybe-configure-gdb -maybe-configure-gdb: -configure-gdb: - @test ! -f gdb/Makefile || exit 0; \ - [ -d gdb ] || mkdir gdb; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-libiberty info-target-libiberty +maybe-info-target-libiberty: + +info-target-libiberty: \ + configure-target-libiberty + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in gdb; \ - cd gdb || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gdb"; \ - libsrcdir="$$s/gdb";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/gdb"; \ - libsrcdir="$$s/gdb";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-gdb maybe-all-gdb -maybe-all-gdb: -all-gdb: configure-gdb - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -.PHONY: check-gdb maybe-check-gdb -maybe-check-gdb: +.PHONY: maybe-dvi-target-libiberty dvi-target-libiberty +maybe-dvi-target-libiberty: -check-gdb: - @r=`${PWD_COMMAND}`; export r; \ +dvi-target-libiberty: \ + configure-target-libiberty + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + echo "Doing dvi in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: install-gdb maybe-install-gdb -maybe-install-gdb: +.PHONY: maybe-TAGS-target-libiberty TAGS-target-libiberty +maybe-TAGS-target-libiberty: -install-gdb: installdirs - @r=`${PWD_COMMAND}`; export r; \ +TAGS-target-libiberty: \ + configure-target-libiberty + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + echo "Doing TAGS in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: configure-expect maybe-configure-expect -maybe-configure-expect: -configure-expect: - @test ! -f expect/Makefile || exit 0; \ - [ -d expect ] || mkdir expect; \ +.PHONY: maybe-install-info-target-libiberty install-info-target-libiberty +maybe-install-info-target-libiberty: + +install-info-target-libiberty: \ + configure-target-libiberty \ + info-target-libiberty + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in expect; \ - cd expect || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/expect"; \ - libsrcdir="$$s/expect";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/expect"; \ - libsrcdir="$$s/expect";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ || exit 1 -.PHONY: all-expect maybe-all-expect -maybe-all-expect: -all-expect: configure-expect - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-installcheck-target-libiberty installcheck-target-libiberty +maybe-installcheck-target-libiberty: + +installcheck-target-libiberty: \ + configure-target-libiberty + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) + echo "Doing installcheck in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 -.PHONY: check-expect maybe-check-expect -maybe-check-expect: -check-expect: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-mostlyclean-target-libiberty mostlyclean-target-libiberty +maybe-mostlyclean-target-libiberty: + +mostlyclean-target-libiberty: + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 -.PHONY: install-expect maybe-install-expect -maybe-install-expect: +.PHONY: maybe-clean-target-libiberty clean-target-libiberty +maybe-clean-target-libiberty: -install-expect: installdirs - @r=`${PWD_COMMAND}`; export r; \ +clean-target-libiberty: + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + echo "Doing clean in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: configure-guile maybe-configure-guile -maybe-configure-guile: -configure-guile: - @test ! -f guile/Makefile || exit 0; \ - [ -d guile ] || mkdir guile; \ +.PHONY: maybe-distclean-target-libiberty distclean-target-libiberty +maybe-distclean-target-libiberty: + +distclean-target-libiberty: + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in guile; \ - cd guile || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/guile"; \ - libsrcdir="$$s/guile";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/guile"; \ - libsrcdir="$$s/guile";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ || exit 1 -.PHONY: all-guile maybe-all-guile -maybe-all-guile: -all-guile: configure-guile - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -.PHONY: check-guile maybe-check-guile -maybe-check-guile: +.PHONY: maybe-maintainer-clean-target-libiberty maintainer-clean-target-libiberty +maybe-maintainer-clean-target-libiberty: -check-guile: - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-libiberty: + @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libiberty" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libiberty && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: install-guile maybe-install-guile -maybe-install-guile: -install-guile: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) +.PHONY: configure-target-gperf maybe-configure-target-gperf +maybe-configure-target-gperf: +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/gperf/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \ + rm -f $(TARGET_SUBDIR)/gperf/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/gperf/multilib.out -.PHONY: configure-tk maybe-configure-tk -maybe-configure-tk: -configure-tk: - @test ! -f tk/Makefile || exit 0; \ - [ -d tk ] || mkdir tk; \ +configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out + @test ! -f $(TARGET_SUBDIR)/gperf/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ + $(SET_LIB_PATH) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in tk; \ - cd tk || exit 1; \ + CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + NM="$(NM_FOR_TARGET)"; export NM; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + echo Configuring in $(TARGET_SUBDIR)/gperf; \ + cd "$(TARGET_SUBDIR)/gperf" || exit 1; \ case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/tk"; \ - libsrcdir="$$s/tk";; \ + topdir=$(srcdir) ;; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/tk"; \ - libsrcdir="$$s/tk";; \ + case "$(TARGET_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + srcdiroption="--srcdir=$${topdir}/gperf"; \ + libsrcdir="$$s/gperf"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) $${srcdiroption} \ + --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-tk maybe-all-tk -maybe-all-tk: -all-tk: configure-tk +.PHONY: all-target-gperf maybe-all-target-gperf +maybe-all-target-gperf: +all-target-gperf: configure-target-gperf @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-tk maybe-check-tk -maybe-check-tk: +.PHONY: check-target-gperf maybe-check-target-gperf +maybe-check-target-gperf: -check-tk: +check-target-gperf: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-tk maybe-install-tk -maybe-install-tk: +.PHONY: install-target-gperf maybe-install-target-gperf +maybe-install-target-gperf: -install-tk: installdirs +install-target-gperf: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-tix maybe-configure-tix -maybe-configure-tix: -configure-tix: - @test ! -f tix/Makefile || exit 0; \ - [ -d tix ] || mkdir tix; \ +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-gperf info-target-gperf +maybe-info-target-gperf: + +info-target-gperf: \ + configure-target-gperf + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in tix; \ - cd tix || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/tix"; \ - libsrcdir="$$s/tix";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/tix"; \ - libsrcdir="$$s/tix";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-tix maybe-all-tix -maybe-all-tix: -all-tix: configure-tix - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -.PHONY: check-tix maybe-check-tix -maybe-check-tix: +.PHONY: maybe-dvi-target-gperf dvi-target-gperf +maybe-dvi-target-gperf: -check-tix: - @r=`${PWD_COMMAND}`; export r; \ +dvi-target-gperf: \ + configure-target-gperf + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + echo "Doing dvi in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: install-tix maybe-install-tix -maybe-install-tix: +.PHONY: maybe-TAGS-target-gperf TAGS-target-gperf +maybe-TAGS-target-gperf: -install-tix: installdirs - @r=`${PWD_COMMAND}`; export r; \ +TAGS-target-gperf: \ + configure-target-gperf + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + echo "Doing TAGS in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: configure-libtermcap maybe-configure-libtermcap -maybe-configure-libtermcap: -configure-libtermcap: - @test ! -f libtermcap/Makefile || exit 0; \ - [ -d libtermcap ] || mkdir libtermcap; \ +.PHONY: maybe-install-info-target-gperf install-info-target-gperf +maybe-install-info-target-gperf: + +install-info-target-gperf: \ + configure-target-gperf \ + info-target-gperf + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in libtermcap; \ - cd libtermcap || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/libtermcap"; \ - libsrcdir="$$s/libtermcap";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/libtermcap"; \ - libsrcdir="$$s/libtermcap";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ || exit 1 -.PHONY: all-libtermcap maybe-all-libtermcap -maybe-all-libtermcap: -all-libtermcap: configure-libtermcap - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-libtermcap maybe-check-libtermcap -maybe-check-libtermcap: +.PHONY: maybe-installcheck-target-gperf installcheck-target-gperf +maybe-installcheck-target-gperf: -check-libtermcap: +installcheck-target-gperf: \ + configure-target-gperf + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 -.PHONY: install-libtermcap maybe-install-libtermcap -maybe-install-libtermcap: +.PHONY: maybe-mostlyclean-target-gperf mostlyclean-target-gperf +maybe-mostlyclean-target-gperf: -install-libtermcap: installdirs - @r=`${PWD_COMMAND}`; export r; \ +mostlyclean-target-gperf: + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) install) + echo "Doing mostlyclean in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 -.PHONY: configure-utils maybe-configure-utils -maybe-configure-utils: -configure-utils: - @test ! -f utils/Makefile || exit 0; \ - [ -d utils ] || mkdir utils; \ +.PHONY: maybe-clean-target-gperf clean-target-gperf +maybe-clean-target-gperf: + +clean-target-gperf: + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - CC="$(CC)"; export CC; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in utils; \ - cd utils || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/utils"; \ - libsrcdir="$$s/utils";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/utils"; \ - libsrcdir="$$s/utils";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ || exit 1 -.PHONY: all-utils maybe-all-utils -maybe-all-utils: -all-utils: configure-utils - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd utils && $(MAKE) $(FLAGS_TO_PASS) all) -.PHONY: check-utils maybe-check-utils -maybe-check-utils: +.PHONY: maybe-distclean-target-gperf distclean-target-gperf +maybe-distclean-target-gperf: -check-utils: +distclean-target-gperf: + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: install-utils maybe-install-utils -maybe-install-utils: +.PHONY: maybe-maintainer-clean-target-gperf maintainer-clean-target-gperf +maybe-maintainer-clean-target-gperf: -install-utils: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-gperf: + @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd utils && $(MAKE) $(FLAGS_TO_PASS) install) - + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/gperf" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/gperf && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -# --------------------------------------- -# Modules which run on the target machine -# --------------------------------------- -.PHONY: configure-target-libstdc++-v3 maybe-configure-target-libstdc++-v3 -maybe-configure-target-libstdc++-v3: +.PHONY: configure-target-examples maybe-configure-target-examples +maybe-configure-target-examples: # There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libstdc++-v3/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \ - rm -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libstdc++-v3/multilib.out +$(TARGET_SUBDIR)/examples/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \ + rm -f $(TARGET_SUBDIR)/examples/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/examples/multilib.out -configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out - @test ! -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \ +configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out + @test ! -f $(TARGET_SUBDIR)/examples/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -22173,8 +21333,7 @@ configure-target-libstdc++-v3: $(TARGET_ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ - CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \ + CXX="$(CXX_FOR_TARGET)"; export CXX; \ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ @@ -22183,8 +21342,8 @@ configure-target-libstdc++-v3: $(TARGET_ NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libstdc++-v3; \ - cd "$(TARGET_SUBDIR)/libstdc++-v3" || exit 1; \ + echo Configuring in $(TARGET_SUBDIR)/examples; \ + cd "$(TARGET_SUBDIR)/examples" || exit 1; \ case $(srcdir) in \ /* | [A-Za-z]:[\\/]*) \ topdir=$(srcdir) ;; \ @@ -22194,57 +21353,247 @@ configure-target-libstdc++-v3: $(TARGET_ *) topdir="../../$(srcdir)" ;; \ esac ;; \ esac; \ - srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \ - libsrcdir="$$s/libstdc++-v3"; \ + srcdiroption="--srcdir=$${topdir}/examples"; \ + libsrcdir="$$s/examples"; \ rm -f no-such-file || : ; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-target-libstdc++-v3 maybe-all-target-libstdc++-v3 -maybe-all-target-libstdc++-v3: -all-target-libstdc++-v3: configure-target-libstdc++-v3 +.PHONY: all-target-examples maybe-all-target-examples +maybe-all-target-examples: +all-target-examples: configure-target-examples @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all) + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3 -maybe-check-target-libstdc++-v3: +.PHONY: check-target-examples maybe-check-target-examples +maybe-check-target-examples: -check-target-libstdc++-v3: - @r=`${PWD_COMMAND}`; export r; \ +# Dummy target for uncheckable module. +check-target-examples: + + +.PHONY: install-target-examples maybe-install-target-examples +maybe-install-target-examples: + +# Dummy target for uninstallable. +install-target-examples: + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-examples info-target-examples +maybe-info-target-examples: + +info-target-examples: \ + configure-target-examples + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' check) + echo "Doing info in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 -.PHONY: install-target-libstdc++-v3 maybe-install-target-libstdc++-v3 -maybe-install-target-libstdc++-v3: +.PHONY: maybe-dvi-target-examples dvi-target-examples +maybe-dvi-target-examples: -install-target-libstdc++-v3: installdirs - @r=`${PWD_COMMAND}`; export r; \ +dvi-target-examples: \ + configure-target-examples + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + echo "Doing dvi in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-target-examples TAGS-target-examples +maybe-TAGS-target-examples: + +TAGS-target-examples: \ + configure-target-examples + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-target-examples install-info-target-examples +maybe-install-info-target-examples: + +install-info-target-examples: \ + configure-target-examples \ + info-target-examples + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-target-examples installcheck-target-examples +maybe-installcheck-target-examples: + +installcheck-target-examples: \ + configure-target-examples + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-examples mostlyclean-target-examples +maybe-mostlyclean-target-examples: + +mostlyclean-target-examples: + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-examples clean-target-examples +maybe-clean-target-examples: + +clean-target-examples: + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-target-examples distclean-target-examples +maybe-distclean-target-examples: + +distclean-target-examples: + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-target-examples maintainer-clean-target-examples +maybe-maintainer-clean-target-examples: + +maintainer-clean-target-examples: + @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/examples" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/examples && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-target-newlib maybe-configure-target-newlib -maybe-configure-target-newlib: + +.PHONY: configure-target-libffi maybe-configure-target-libffi +maybe-configure-target-libffi: # There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/newlib/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \ - rm -f $(TARGET_SUBDIR)/newlib/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/newlib/multilib.out +$(TARGET_SUBDIR)/libffi/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \ + rm -f $(TARGET_SUBDIR)/libffi/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libffi/multilib.out -configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out - @test ! -f $(TARGET_SUBDIR)/newlib/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \ +configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out + @test ! -f $(TARGET_SUBDIR)/libffi/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -22263,8 +21612,8 @@ configure-target-newlib: $(TARGET_SUBDIR NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/newlib; \ - cd "$(TARGET_SUBDIR)/newlib" || exit 1; \ + echo Configuring in $(TARGET_SUBDIR)/libffi; \ + cd "$(TARGET_SUBDIR)/libffi" || exit 1; \ case $(srcdir) in \ /* | [A-Za-z]:[\\/]*) \ topdir=$(srcdir) ;; \ @@ -22274,57 +21623,255 @@ configure-target-newlib: $(TARGET_SUBDIR *) topdir="../../$(srcdir)" ;; \ esac ;; \ esac; \ - srcdiroption="--srcdir=$${topdir}/newlib"; \ - libsrcdir="$$s/newlib"; \ + srcdiroption="--srcdir=$${topdir}/libffi"; \ + libsrcdir="$$s/libffi"; \ rm -f no-such-file || : ; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-target-newlib maybe-all-target-newlib -maybe-all-target-newlib: -all-target-newlib: configure-target-newlib +.PHONY: all-target-libffi maybe-all-target-libffi +maybe-all-target-libffi: +all-target-libffi: configure-target-libffi @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/newlib && \ + (cd $(TARGET_SUBDIR)/libffi && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-target-newlib maybe-check-target-newlib -maybe-check-target-newlib: +.PHONY: check-target-libffi maybe-check-target-libffi +maybe-check-target-libffi: -check-target-newlib: +check-target-libffi: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/newlib && \ + (cd $(TARGET_SUBDIR)/libffi && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-target-newlib maybe-install-target-newlib -maybe-install-target-newlib: +.PHONY: install-target-libffi maybe-install-target-libffi +maybe-install-target-libffi: -install-target-newlib: installdirs +install-target-libffi: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/newlib && \ + (cd $(TARGET_SUBDIR)/libffi && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-target-libf2c maybe-configure-target-libf2c -maybe-configure-target-libf2c: +# Other targets (info, dvi, etc.) -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libf2c/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libf2c ; \ - rm -f $(TARGET_SUBDIR)/libf2c/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libf2c/multilib.out +.PHONY: maybe-info-target-libffi info-target-libffi +maybe-info-target-libffi: + +info-target-libffi: \ + configure-target-libffi + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-target-libffi dvi-target-libffi +maybe-dvi-target-libffi: + +dvi-target-libffi: \ + configure-target-libffi + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing dvi in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-target-libffi TAGS-target-libffi +maybe-TAGS-target-libffi: + +TAGS-target-libffi: \ + configure-target-libffi + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-target-libffi install-info-target-libffi +maybe-install-info-target-libffi: + +install-info-target-libffi: \ + configure-target-libffi \ + info-target-libffi + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-target-libffi installcheck-target-libffi +maybe-installcheck-target-libffi: + +installcheck-target-libffi: \ + configure-target-libffi + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-libffi mostlyclean-target-libffi +maybe-mostlyclean-target-libffi: + +mostlyclean-target-libffi: + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-libffi clean-target-libffi +maybe-clean-target-libffi: + +clean-target-libffi: + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-target-libffi distclean-target-libffi +maybe-distclean-target-libffi: + +distclean-target-libffi: + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-target-libffi maintainer-clean-target-libffi +maybe-maintainer-clean-target-libffi: + +maintainer-clean-target-libffi: + @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libffi" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libffi && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-target-libjava maybe-configure-target-libjava +maybe-configure-target-libjava: -configure-target-libf2c: $(TARGET_SUBDIR)/libf2c/multilib.out - @test ! -f $(TARGET_SUBDIR)/libf2c/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libf2c ; \ +# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. +$(TARGET_SUBDIR)/libjava/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \ + rm -f $(TARGET_SUBDIR)/libjava/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libjava/multilib.out + +configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out + @test ! -f $(TARGET_SUBDIR)/libjava/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -22334,7 +21881,8 @@ configure-target-libf2c: $(TARGET_SUBDIR CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ + CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ + CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ @@ -22343,8 +21891,8 @@ configure-target-libf2c: $(TARGET_SUBDIR NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libf2c; \ - cd "$(TARGET_SUBDIR)/libf2c" || exit 1; \ + echo Configuring in $(TARGET_SUBDIR)/libjava; \ + cd "$(TARGET_SUBDIR)/libjava" || exit 1; \ case $(srcdir) in \ /* | [A-Za-z]:[\\/]*) \ topdir=$(srcdir) ;; \ @@ -22354,137 +21902,255 @@ configure-target-libf2c: $(TARGET_SUBDIR *) topdir="../../$(srcdir)" ;; \ esac ;; \ esac; \ - srcdiroption="--srcdir=$${topdir}/libf2c"; \ - libsrcdir="$$s/libf2c"; \ + srcdiroption="--srcdir=$${topdir}/libjava"; \ + libsrcdir="$$s/libjava"; \ rm -f no-such-file || : ; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-target-libf2c maybe-all-target-libf2c -maybe-all-target-libf2c: -all-target-libf2c: configure-target-libf2c +.PHONY: all-target-libjava maybe-all-target-libjava +maybe-all-target-libjava: +all-target-libjava: configure-target-libjava @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libf2c && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all) -.PHONY: check-target-libf2c maybe-check-target-libf2c -maybe-check-target-libf2c: +.PHONY: check-target-libjava maybe-check-target-libjava +maybe-check-target-libjava: -check-target-libf2c: +check-target-libjava: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libf2c && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' check) -.PHONY: install-target-libf2c maybe-install-target-libf2c -maybe-install-target-libf2c: +.PHONY: install-target-libjava maybe-install-target-libjava +maybe-install-target-libjava: -install-target-libf2c: installdirs +install-target-libjava: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libf2c && \ + (cd $(TARGET_SUBDIR)/libjava && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-target-libobjc maybe-configure-target-libobjc -maybe-configure-target-libobjc: +# Other targets (info, dvi, etc.) -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libobjc/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \ - rm -f $(TARGET_SUBDIR)/libobjc/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libobjc/multilib.out +.PHONY: maybe-info-target-libjava info-target-libjava +maybe-info-target-libjava: -configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out - @test ! -f $(TARGET_SUBDIR)/libobjc/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \ +info-target-libjava: \ + configure-target-libjava + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libobjc; \ - cd "$(TARGET_SUBDIR)/libobjc" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - srcdiroption="--srcdir=$${topdir}/libobjc"; \ - libsrcdir="$$s/libobjc"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ + echo "Doing info in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-target-libobjc maybe-all-target-libobjc -maybe-all-target-libobjc: -all-target-libobjc: configure-target-libobjc - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-target-libjava dvi-target-libjava +maybe-dvi-target-libjava: + +dvi-target-libjava: \ + configure-target-libjava + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libobjc && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + echo "Doing dvi in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-target-libobjc maybe-check-target-libobjc -maybe-check-target-libobjc: -check-target-libobjc: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-target-libjava TAGS-target-libjava +maybe-TAGS-target-libjava: + +TAGS-target-libjava: \ + configure-target-libjava + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libobjc && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + echo "Doing TAGS in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-target-libjava install-info-target-libjava +maybe-install-info-target-libjava: + +install-info-target-libjava: \ + configure-target-libjava \ + info-target-libjava + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-target-libjava installcheck-target-libjava +maybe-installcheck-target-libjava: + +installcheck-target-libjava: \ + configure-target-libjava + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-libjava mostlyclean-target-libjava +maybe-mostlyclean-target-libjava: + +mostlyclean-target-libjava: + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-libjava clean-target-libjava +maybe-clean-target-libjava: + +clean-target-libjava: + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-target-libjava distclean-target-libjava +maybe-distclean-target-libjava: + +distclean-target-libjava: + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: install-target-libobjc maybe-install-target-libobjc -maybe-install-target-libobjc: +.PHONY: maybe-maintainer-clean-target-libjava maintainer-clean-target-libjava +maybe-maintainer-clean-target-libjava: -install-target-libobjc: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-libjava: + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libobjc && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libjava" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-target-libtermcap maybe-configure-target-libtermcap -maybe-configure-target-libtermcap: + +.PHONY: configure-target-zlib maybe-configure-target-zlib +maybe-configure-target-zlib: # There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libtermcap/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \ - rm -f $(TARGET_SUBDIR)/libtermcap/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libtermcap/multilib.out +$(TARGET_SUBDIR)/zlib/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \ + rm -f $(TARGET_SUBDIR)/zlib/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/zlib/multilib.out -configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out - @test ! -f $(TARGET_SUBDIR)/libtermcap/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \ +configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out + @test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -22503,8 +22169,8 @@ configure-target-libtermcap: $(TARGET_SU NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libtermcap; \ - cd "$(TARGET_SUBDIR)/libtermcap" || exit 1; \ + echo Configuring in $(TARGET_SUBDIR)/zlib; \ + cd "$(TARGET_SUBDIR)/zlib" || exit 1; \ case $(srcdir) in \ /* | [A-Za-z]:[\\/]*) \ topdir=$(srcdir) ;; \ @@ -22516,7 +22182,7 @@ configure-target-libtermcap: $(TARGET_SU esac; \ if [ "$(srcdir)" = "." ] ; then \ if [ "$(TARGET_SUBDIR)" != "." ] ; then \ - if $(SHELL) $$s/symlink-tree $${topdir}/libtermcap "no-such-file" ; then \ + if $(SHELL) $$s/symlink-tree $${topdir}/zlib "no-such-file" ; then \ if [ -f Makefile ]; then \ if $(MAKE) distclean; then \ true; \ @@ -22535,8 +22201,8 @@ configure-target-libtermcap: $(TARGET_SU srcdiroption="--srcdir=."; \ libsrcdir="."; \ else \ - srcdiroption="--srcdir=$${topdir}/libtermcap"; \ - libsrcdir="$$s/libtermcap"; \ + srcdiroption="--srcdir=$${topdir}/zlib"; \ + libsrcdir="$$s/zlib"; \ fi; \ rm -f no-such-file || : ; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ @@ -22544,361 +22210,247 @@ configure-target-libtermcap: $(TARGET_SU --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-target-libtermcap maybe-all-target-libtermcap -maybe-all-target-libtermcap: -all-target-libtermcap: configure-target-libtermcap - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libtermcap && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) - -.PHONY: check-target-libtermcap maybe-check-target-libtermcap -maybe-check-target-libtermcap: - -# Dummy target for uncheckable module. -check-target-libtermcap: - - -.PHONY: install-target-libtermcap maybe-install-target-libtermcap -maybe-install-target-libtermcap: - -install-target-libtermcap: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libtermcap && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) - - -.PHONY: configure-target-winsup maybe-configure-target-winsup -maybe-configure-target-winsup: - -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/winsup/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \ - rm -f $(TARGET_SUBDIR)/winsup/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/winsup/multilib.out - -configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out - @test ! -f $(TARGET_SUBDIR)/winsup/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/winsup; \ - cd "$(TARGET_SUBDIR)/winsup" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - srcdiroption="--srcdir=$${topdir}/winsup"; \ - libsrcdir="$$s/winsup"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ - || exit 1 - -.PHONY: all-target-winsup maybe-all-target-winsup -maybe-all-target-winsup: -all-target-winsup: configure-target-winsup +.PHONY: all-target-zlib maybe-all-target-zlib +maybe-all-target-zlib: +all-target-zlib: configure-target-zlib @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/winsup && \ + (cd $(TARGET_SUBDIR)/zlib && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-target-winsup maybe-check-target-winsup -maybe-check-target-winsup: +.PHONY: check-target-zlib maybe-check-target-zlib +maybe-check-target-zlib: -check-target-winsup: +check-target-zlib: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/winsup && \ + (cd $(TARGET_SUBDIR)/zlib && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-target-winsup maybe-install-target-winsup -maybe-install-target-winsup: +.PHONY: install-target-zlib maybe-install-target-zlib +maybe-install-target-zlib: -install-target-winsup: installdirs +install-target-zlib: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/winsup && \ + (cd $(TARGET_SUBDIR)/zlib && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-target-libgloss maybe-configure-target-libgloss -maybe-configure-target-libgloss: +# Other targets (info, dvi, etc.) -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libgloss/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \ - rm -f $(TARGET_SUBDIR)/libgloss/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libgloss/multilib.out +.PHONY: maybe-info-target-zlib info-target-zlib +maybe-info-target-zlib: -configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out - @test ! -f $(TARGET_SUBDIR)/libgloss/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \ +info-target-zlib: \ + configure-target-zlib + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libgloss; \ - cd "$(TARGET_SUBDIR)/libgloss" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - srcdiroption="--srcdir=$${topdir}/libgloss"; \ - libsrcdir="$$s/libgloss"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ + echo "Doing info in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-target-libgloss maybe-all-target-libgloss -maybe-all-target-libgloss: -all-target-libgloss: configure-target-libgloss - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libgloss && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) - -.PHONY: check-target-libgloss maybe-check-target-libgloss -maybe-check-target-libgloss: - -# Dummy target for uncheckable module. -check-target-libgloss: - -.PHONY: install-target-libgloss maybe-install-target-libgloss -maybe-install-target-libgloss: +.PHONY: maybe-dvi-target-zlib dvi-target-zlib +maybe-dvi-target-zlib: -install-target-libgloss: installdirs - @r=`${PWD_COMMAND}`; export r; \ +dvi-target-zlib: \ + configure-target-zlib + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libgloss && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) - + echo "Doing dvi in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: configure-target-libiberty maybe-configure-target-libiberty -maybe-configure-target-libiberty: -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libiberty/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \ - rm -f $(TARGET_SUBDIR)/libiberty/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libiberty/multilib.out +.PHONY: maybe-TAGS-target-zlib TAGS-target-zlib +maybe-TAGS-target-zlib: -configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out - @test ! -f $(TARGET_SUBDIR)/libiberty/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \ +TAGS-target-zlib: \ + configure-target-zlib + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libiberty; \ - cd "$(TARGET_SUBDIR)/libiberty" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - srcdiroption="--srcdir=$${topdir}/libiberty"; \ - libsrcdir="$$s/libiberty"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ + echo "Doing TAGS in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ || exit 1 -.PHONY: all-target-libiberty maybe-all-target-libiberty -maybe-all-target-libiberty: -all-target-libiberty: configure-target-libiberty - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libiberty && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-target-libiberty maybe-check-target-libiberty -maybe-check-target-libiberty: +.PHONY: maybe-install-info-target-zlib install-info-target-zlib +maybe-install-info-target-zlib: -check-target-libiberty: - @r=`${PWD_COMMAND}`; export r; \ +install-info-target-zlib: \ + configure-target-zlib \ + info-target-zlib + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libiberty && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + echo "Doing install-info in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -.PHONY: install-target-libiberty maybe-install-target-libiberty -maybe-install-target-libiberty: +.PHONY: maybe-installcheck-target-zlib installcheck-target-zlib +maybe-installcheck-target-zlib: -install-target-libiberty: installdirs - @r=`${PWD_COMMAND}`; export r; \ +installcheck-target-zlib: \ + configure-target-zlib + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libiberty && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) - + echo "Doing installcheck in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 -.PHONY: configure-target-gperf maybe-configure-target-gperf -maybe-configure-target-gperf: -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/gperf/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \ - rm -f $(TARGET_SUBDIR)/gperf/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/gperf/multilib.out +.PHONY: maybe-mostlyclean-target-zlib mostlyclean-target-zlib +maybe-mostlyclean-target-zlib: -configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out - @test ! -f $(TARGET_SUBDIR)/gperf/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \ +mostlyclean-target-zlib: + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/gperf; \ - cd "$(TARGET_SUBDIR)/gperf" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - srcdiroption="--srcdir=$${topdir}/gperf"; \ - libsrcdir="$$s/gperf"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ || exit 1 -.PHONY: all-target-gperf maybe-all-target-gperf -maybe-all-target-gperf: -all-target-gperf: configure-target-gperf - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-clean-target-zlib clean-target-zlib +maybe-clean-target-zlib: + +clean-target-zlib: + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/gperf && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + echo "Doing clean in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: check-target-gperf maybe-check-target-gperf -maybe-check-target-gperf: -check-target-gperf: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-distclean-target-zlib distclean-target-zlib +maybe-distclean-target-zlib: + +distclean-target-zlib: + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/gperf && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + echo "Doing distclean in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 -.PHONY: install-target-gperf maybe-install-target-gperf -maybe-install-target-gperf: +.PHONY: maybe-maintainer-clean-target-zlib maintainer-clean-target-zlib +maybe-maintainer-clean-target-zlib: -install-target-gperf: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-zlib: + @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/gperf && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/zlib" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/zlib && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-target-examples maybe-configure-target-examples -maybe-configure-target-examples: + +.PHONY: configure-target-boehm-gc maybe-configure-target-boehm-gc +maybe-configure-target-boehm-gc: # There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/examples/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \ - rm -f $(TARGET_SUBDIR)/examples/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/examples/multilib.out +$(TARGET_SUBDIR)/boehm-gc/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \ + rm -f $(TARGET_SUBDIR)/boehm-gc/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/boehm-gc/multilib.out -configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out - @test ! -f $(TARGET_SUBDIR)/examples/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \ +configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out + @test ! -f $(TARGET_SUBDIR)/boehm-gc/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -22917,8 +22469,8 @@ configure-target-examples: $(TARGET_SUBD NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/examples; \ - cd "$(TARGET_SUBDIR)/examples" || exit 1; \ + echo Configuring in $(TARGET_SUBDIR)/boehm-gc; \ + cd "$(TARGET_SUBDIR)/boehm-gc" || exit 1; \ case $(srcdir) in \ /* | [A-Za-z]:[\\/]*) \ topdir=$(srcdir) ;; \ @@ -22928,49 +22480,255 @@ configure-target-examples: $(TARGET_SUBD *) topdir="../../$(srcdir)" ;; \ esac ;; \ esac; \ - srcdiroption="--srcdir=$${topdir}/examples"; \ - libsrcdir="$$s/examples"; \ + srcdiroption="--srcdir=$${topdir}/boehm-gc"; \ + libsrcdir="$$s/boehm-gc"; \ rm -f no-such-file || : ; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-target-examples maybe-all-target-examples -maybe-all-target-examples: -all-target-examples: configure-target-examples +.PHONY: all-target-boehm-gc maybe-all-target-boehm-gc +maybe-all-target-boehm-gc: +all-target-boehm-gc: configure-target-boehm-gc @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/examples && \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-target-examples maybe-check-target-examples -maybe-check-target-examples: +.PHONY: check-target-boehm-gc maybe-check-target-boehm-gc +maybe-check-target-boehm-gc: -# Dummy target for uncheckable module. -check-target-examples: +check-target-boehm-gc: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-target-examples maybe-install-target-examples -maybe-install-target-examples: +.PHONY: install-target-boehm-gc maybe-install-target-boehm-gc +maybe-install-target-boehm-gc: -# Dummy target for uninstallable. -install-target-examples: +install-target-boehm-gc: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-target-libffi maybe-configure-target-libffi -maybe-configure-target-libffi: +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-boehm-gc info-target-boehm-gc +maybe-info-target-boehm-gc: + +info-target-boehm-gc: \ + configure-target-boehm-gc + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-target-boehm-gc dvi-target-boehm-gc +maybe-dvi-target-boehm-gc: + +dvi-target-boehm-gc: \ + configure-target-boehm-gc + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing dvi in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-target-boehm-gc TAGS-target-boehm-gc +maybe-TAGS-target-boehm-gc: + +TAGS-target-boehm-gc: \ + configure-target-boehm-gc + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-target-boehm-gc install-info-target-boehm-gc +maybe-install-info-target-boehm-gc: + +install-info-target-boehm-gc: \ + configure-target-boehm-gc \ + info-target-boehm-gc + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-target-boehm-gc installcheck-target-boehm-gc +maybe-installcheck-target-boehm-gc: + +installcheck-target-boehm-gc: \ + configure-target-boehm-gc + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-boehm-gc mostlyclean-target-boehm-gc +maybe-mostlyclean-target-boehm-gc: + +mostlyclean-target-boehm-gc: + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-boehm-gc clean-target-boehm-gc +maybe-clean-target-boehm-gc: + +clean-target-boehm-gc: + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-target-boehm-gc distclean-target-boehm-gc +maybe-distclean-target-boehm-gc: + +distclean-target-boehm-gc: + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-target-boehm-gc maintainer-clean-target-boehm-gc +maybe-maintainer-clean-target-boehm-gc: + +maintainer-clean-target-boehm-gc: + @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/boehm-gc" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/boehm-gc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 + + + +.PHONY: configure-target-qthreads maybe-configure-target-qthreads +maybe-configure-target-qthreads: # There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libffi/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \ - rm -f $(TARGET_SUBDIR)/libffi/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libffi/multilib.out +$(TARGET_SUBDIR)/qthreads/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \ + rm -f $(TARGET_SUBDIR)/qthreads/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/qthreads/multilib.out -configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out - @test ! -f $(TARGET_SUBDIR)/libffi/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \ +configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out + @test ! -f $(TARGET_SUBDIR)/qthreads/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -22989,8 +22747,8 @@ configure-target-libffi: $(TARGET_SUBDIR NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libffi; \ - cd "$(TARGET_SUBDIR)/libffi" || exit 1; \ + echo Configuring in $(TARGET_SUBDIR)/qthreads; \ + cd "$(TARGET_SUBDIR)/qthreads" || exit 1; \ case $(srcdir) in \ /* | [A-Za-z]:[\\/]*) \ topdir=$(srcdir) ;; \ @@ -23000,138 +22758,255 @@ configure-target-libffi: $(TARGET_SUBDIR *) topdir="../../$(srcdir)" ;; \ esac ;; \ esac; \ - srcdiroption="--srcdir=$${topdir}/libffi"; \ - libsrcdir="$$s/libffi"; \ + srcdiroption="--srcdir=$${topdir}/qthreads"; \ + libsrcdir="$$s/qthreads"; \ rm -f no-such-file || : ; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-target-libffi maybe-all-target-libffi -maybe-all-target-libffi: -all-target-libffi: configure-target-libffi +.PHONY: all-target-qthreads maybe-all-target-qthreads +maybe-all-target-qthreads: +all-target-qthreads: configure-target-qthreads @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libffi && \ + (cd $(TARGET_SUBDIR)/qthreads && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-target-libffi maybe-check-target-libffi -maybe-check-target-libffi: +.PHONY: check-target-qthreads maybe-check-target-qthreads +maybe-check-target-qthreads: -check-target-libffi: +check-target-qthreads: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libffi && \ + (cd $(TARGET_SUBDIR)/qthreads && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-target-libffi maybe-install-target-libffi -maybe-install-target-libffi: +.PHONY: install-target-qthreads maybe-install-target-qthreads +maybe-install-target-qthreads: -install-target-libffi: installdirs +install-target-qthreads: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libffi && \ + (cd $(TARGET_SUBDIR)/qthreads && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) -.PHONY: configure-target-libjava maybe-configure-target-libjava -maybe-configure-target-libjava: +# Other targets (info, dvi, etc.) -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libjava/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \ - rm -f $(TARGET_SUBDIR)/libjava/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libjava/multilib.out +.PHONY: maybe-info-target-qthreads info-target-qthreads +maybe-info-target-qthreads: -configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out - @test ! -f $(TARGET_SUBDIR)/libjava/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \ +info-target-qthreads: \ + configure-target-qthreads + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ - CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libjava; \ - cd "$(TARGET_SUBDIR)/libjava" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - srcdiroption="--srcdir=$${topdir}/libjava"; \ - libsrcdir="$$s/libjava"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ + echo "Doing info in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ || exit 1 -.PHONY: all-target-libjava maybe-all-target-libjava -maybe-all-target-libjava: -all-target-libjava: configure-target-libjava - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-dvi-target-qthreads dvi-target-qthreads +maybe-dvi-target-qthreads: + +dvi-target-qthreads: \ + configure-target-qthreads + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all) + echo "Doing dvi in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 -.PHONY: check-target-libjava maybe-check-target-libjava -maybe-check-target-libjava: -check-target-libjava: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-target-qthreads TAGS-target-qthreads +maybe-TAGS-target-qthreads: + +TAGS-target-qthreads: \ + configure-target-qthreads + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' check) + echo "Doing TAGS in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-target-libjava maybe-install-target-libjava -maybe-install-target-libjava: +.PHONY: maybe-install-info-target-qthreads install-info-target-qthreads +maybe-install-info-target-qthreads: -install-target-libjava: installdirs - @r=`${PWD_COMMAND}`; export r; \ +install-info-target-qthreads: \ + configure-target-qthreads \ + info-target-qthreads + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-target-qthreads installcheck-target-qthreads +maybe-installcheck-target-qthreads: + +installcheck-target-qthreads: \ + configure-target-qthreads + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-qthreads mostlyclean-target-qthreads +maybe-mostlyclean-target-qthreads: + +mostlyclean-target-qthreads: + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-qthreads clean-target-qthreads +maybe-clean-target-qthreads: + +clean-target-qthreads: + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-target-qthreads distclean-target-qthreads +maybe-distclean-target-qthreads: + +distclean-target-qthreads: + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-target-qthreads maintainer-clean-target-qthreads +maybe-maintainer-clean-target-qthreads: + +maintainer-clean-target-qthreads: + @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/qthreads" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/qthreads && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-target-zlib maybe-configure-target-zlib -maybe-configure-target-zlib: + +.PHONY: configure-target-rda maybe-configure-target-rda +maybe-configure-target-rda: # There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/zlib/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \ - rm -f $(TARGET_SUBDIR)/zlib/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/zlib/multilib.out +$(TARGET_SUBDIR)/rda/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/rda ; \ + rm -f $(TARGET_SUBDIR)/rda/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/rda/multilib.out -configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out - @test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \ +configure-target-rda: $(TARGET_SUBDIR)/rda/multilib.out + @test ! -f $(TARGET_SUBDIR)/rda/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/rda ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -23150,8 +23025,8 @@ configure-target-zlib: $(TARGET_SUBDIR)/ NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/zlib; \ - cd "$(TARGET_SUBDIR)/zlib" || exit 1; \ + echo Configuring in $(TARGET_SUBDIR)/rda; \ + cd "$(TARGET_SUBDIR)/rda" || exit 1; \ case $(srcdir) in \ /* | [A-Za-z]:[\\/]*) \ topdir=$(srcdir) ;; \ @@ -23161,79 +23036,255 @@ configure-target-zlib: $(TARGET_SUBDIR)/ *) topdir="../../$(srcdir)" ;; \ esac ;; \ esac; \ - if [ "$(srcdir)" = "." ] ; then \ - if [ "$(TARGET_SUBDIR)" != "." ] ; then \ - if $(SHELL) $$s/symlink-tree $${topdir}/zlib "no-such-file" ; then \ - if [ -f Makefile ]; then \ - if $(MAKE) distclean; then \ - true; \ - else \ - exit 1; \ - fi; \ - else \ - true; \ - fi; \ - else \ - exit 1; \ - fi; \ - else \ - true; \ - fi; \ - srcdiroption="--srcdir=."; \ - libsrcdir="."; \ - else \ - srcdiroption="--srcdir=$${topdir}/zlib"; \ - libsrcdir="$$s/zlib"; \ - fi; \ + srcdiroption="--srcdir=$${topdir}/rda"; \ + libsrcdir="$$s/rda"; \ rm -f no-such-file || : ; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-target-zlib maybe-all-target-zlib -maybe-all-target-zlib: -all-target-zlib: configure-target-zlib +.PHONY: all-target-rda maybe-all-target-rda +maybe-all-target-rda: +all-target-rda: configure-target-rda @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/zlib && \ + (cd $(TARGET_SUBDIR)/rda && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-target-zlib maybe-check-target-zlib -maybe-check-target-zlib: +.PHONY: check-target-rda maybe-check-target-rda +maybe-check-target-rda: -check-target-zlib: +check-target-rda: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/zlib && \ + (cd $(TARGET_SUBDIR)/rda && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) check) -.PHONY: install-target-zlib maybe-install-target-zlib -maybe-install-target-zlib: +.PHONY: install-target-rda maybe-install-target-rda +maybe-install-target-rda: + +install-target-rda: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-rda info-target-rda +maybe-info-target-rda: + +info-target-rda: \ + configure-target-rda + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-target-rda dvi-target-rda +maybe-dvi-target-rda: + +dvi-target-rda: \ + configure-target-rda + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing dvi in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-target-rda TAGS-target-rda +maybe-TAGS-target-rda: + +TAGS-target-rda: \ + configure-target-rda + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-target-rda install-info-target-rda +maybe-install-info-target-rda: + +install-info-target-rda: \ + configure-target-rda \ + info-target-rda + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-target-rda installcheck-target-rda +maybe-installcheck-target-rda: + +installcheck-target-rda: \ + configure-target-rda + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-rda mostlyclean-target-rda +maybe-mostlyclean-target-rda: + +mostlyclean-target-rda: + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-rda clean-target-rda +maybe-clean-target-rda: + +clean-target-rda: + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-target-rda distclean-target-rda +maybe-distclean-target-rda: + +distclean-target-rda: + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + + +.PHONY: maybe-maintainer-clean-target-rda maintainer-clean-target-rda +maybe-maintainer-clean-target-rda: -install-target-zlib: installdirs - @r=`${PWD_COMMAND}`; export r; \ +maintainer-clean-target-rda: + @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/zlib && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/rda" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/rda && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: configure-target-boehm-gc maybe-configure-target-boehm-gc -maybe-configure-target-boehm-gc: + +.PHONY: configure-target-libada maybe-configure-target-libada +maybe-configure-target-libada: # There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/boehm-gc/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \ - rm -f $(TARGET_SUBDIR)/boehm-gc/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/boehm-gc/multilib.out +$(TARGET_SUBDIR)/libada/multilib.out: multilib.out + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada ; \ + rm -f $(TARGET_SUBDIR)/libada/Makefile || : ; \ + cp multilib.out $(TARGET_SUBDIR)/libada/multilib.out -configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out - @test ! -f $(TARGET_SUBDIR)/boehm-gc/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \ +configure-target-libada: $(TARGET_SUBDIR)/libada/multilib.out + @test ! -f $(TARGET_SUBDIR)/libada/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -23252,8 +23303,8 @@ configure-target-boehm-gc: $(TARGET_SUBD NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/boehm-gc; \ - cd "$(TARGET_SUBDIR)/boehm-gc" || exit 1; \ + echo Configuring in $(TARGET_SUBDIR)/libada; \ + cd "$(TARGET_SUBDIR)/libada" || exit 1; \ case $(srcdir) in \ /* | [A-Za-z]:[\\/]*) \ topdir=$(srcdir) ;; \ @@ -23263,311 +23314,694 @@ configure-target-boehm-gc: $(TARGET_SUBD *) topdir="../../$(srcdir)" ;; \ esac ;; \ esac; \ - srcdiroption="--srcdir=$${topdir}/boehm-gc"; \ - libsrcdir="$$s/boehm-gc"; \ + srcdiroption="--srcdir=$${topdir}/libada"; \ + libsrcdir="$$s/libada"; \ rm -f no-such-file || : ; \ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ $(TARGET_CONFIGARGS) $${srcdiroption} \ --with-target-subdir="$(TARGET_SUBDIR)" \ || exit 1 -.PHONY: all-target-boehm-gc maybe-all-target-boehm-gc -maybe-all-target-boehm-gc: -all-target-boehm-gc: configure-target-boehm-gc +.PHONY: all-target-libada maybe-all-target-libada +maybe-all-target-libada: +all-target-libada: configure-target-libada @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ + (cd $(TARGET_SUBDIR)/libada && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all) -.PHONY: check-target-boehm-gc maybe-check-target-boehm-gc -maybe-check-target-boehm-gc: +.PHONY: check-target-libada maybe-check-target-libada +maybe-check-target-libada: + +check-target-libada: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + + +.PHONY: install-target-libada maybe-install-target-libada +maybe-install-target-libada: + +install-target-libada: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + + +# Other targets (info, dvi, etc.) + +.PHONY: maybe-info-target-libada info-target-libada +maybe-info-target-libada: + +info-target-libada: \ + configure-target-libada + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing info in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 + + +.PHONY: maybe-dvi-target-libada dvi-target-libada +maybe-dvi-target-libada: + +dvi-target-libada: \ + configure-target-libada + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing dvi in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ + || exit 1 + + +.PHONY: maybe-TAGS-target-libada TAGS-target-libada +maybe-TAGS-target-libada: + +TAGS-target-libada: \ + configure-target-libada + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 + + +.PHONY: maybe-install-info-target-libada install-info-target-libada +maybe-install-info-target-libada: + +install-info-target-libada: \ + configure-target-libada \ + info-target-libada + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing install-info in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 + + +.PHONY: maybe-installcheck-target-libada installcheck-target-libada +maybe-installcheck-target-libada: + +installcheck-target-libada: \ + configure-target-libada + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ + || exit 1 + + +.PHONY: maybe-mostlyclean-target-libada mostlyclean-target-libada +maybe-mostlyclean-target-libada: + +mostlyclean-target-libada: + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 + + +.PHONY: maybe-clean-target-libada clean-target-libada +maybe-clean-target-libada: + +clean-target-libada: + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing clean in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 + + +.PHONY: maybe-distclean-target-libada distclean-target-libada +maybe-distclean-target-libada: + +distclean-target-libada: + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 + -check-target-boehm-gc: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-maintainer-clean-target-libada maintainer-clean-target-libada +maybe-maintainer-clean-target-libada: + +maintainer-clean-target-libada: + @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libada && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -.PHONY: install-target-boehm-gc maybe-install-target-boehm-gc -maybe-install-target-boehm-gc: -install-target-boehm-gc: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/boehm-gc && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) +# ---------- +# GCC module +# ---------- -.PHONY: configure-target-qthreads maybe-configure-target-qthreads -maybe-configure-target-qthreads: +# Unfortunately, while gcc _should_ be a host module, +# libgcc is a target module, and gen* programs are +# build modules. So GCC is a sort of hybrid. -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/qthreads/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \ - rm -f $(TARGET_SUBDIR)/qthreads/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/qthreads/multilib.out +# gcc is the only module which uses GCC_FLAGS_TO_PASS. +# Don't use shared host config.cache, as it will confuse later +# directories; GCC wants slightly different values for some +# precious variables. *sigh* -configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out - @test ! -f $(TARGET_SUBDIR)/qthreads/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \ +# We must skip configuring if toplevel bootstrap is going. +.PHONY: configure-gcc maybe-configure-gcc +maybe-configure-gcc: +configure-gcc: + @test ! -f gcc/Makefile || exit 0; \ + [ -f stage_last ] && exit 0; \ + [ -d gcc ] || mkdir gcc; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/qthreads; \ - cd "$(TARGET_SUBDIR)/qthreads" || exit 1; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring in gcc; \ + cd gcc || exit 1; \ case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ esac; \ - srcdiroption="--srcdir=$${topdir}/qthreads"; \ - libsrcdir="$$s/qthreads"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -.PHONY: all-target-qthreads maybe-all-target-qthreads -maybe-all-target-qthreads: -all-target-qthreads: configure-target-qthreads +# Don't 'make all' in gcc if it's already been made by 'bootstrap'; that +# causes trouble. This wart will be fixed eventually by moving +# the bootstrap behavior to this file. +.PHONY: all-gcc maybe-all-gcc +maybe-all-gcc: +all-gcc: configure-gcc + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + if [ -f stage_last ] ; then \ + true ; \ + elif [ -f gcc/stage_last ] ; then \ + $(SET_LIB_PATH) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) quickstrap); \ + else \ + $(SET_LIB_PATH) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) all); \ + fi + +# Building GCC uses some tools for rebuilding "source" files +# like texinfo, bison/byacc, etc. So we must depend on those. +# +# While building GCC, it may be necessary to run various target +# programs like the assembler, linker, etc. So we depend on +# those too. +# +# In theory, on an SMP all those dependencies can be resolved +# in parallel. +# +GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap +.PHONY: $(GCC_STRAP_TARGETS) +$(GCC_STRAP_TARGETS): all-bootstrap configure-gcc @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/qthreads && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + echo "Bootstrapping the compiler"; \ + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@ + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + case "$@" in \ + *bootstrap4-lean ) \ + msg="Comparing stage3 and stage4 of the compiler"; \ + compare=compare3-lean ;; \ + *bootstrap4 ) \ + msg="Comparing stage3 and stage4 of the compiler"; \ + compare=compare3 ;; \ + *-lean ) \ + msg="Comparing stage2 and stage3 of the compiler"; \ + compare=compare-lean ;; \ + * ) \ + msg="Comparing stage2 and stage3 of the compiler"; \ + compare=compare ;; \ + esac; \ + $(SET_LIB_PATH) \ + echo "$$msg"; \ + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ + $(SET_LIB_PATH) \ + echo "Building runtime libraries"; \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all -.PHONY: check-target-qthreads maybe-check-target-qthreads -maybe-check-target-qthreads: +profiledbootstrap: all-bootstrap configure-gcc + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Bootstrapping the compiler"; \ + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ + $(SET_LIB_PATH) \ + echo "Building runtime libraries and training compiler"; \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Building feedback based compiler"; \ + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build -check-target-qthreads: +.PHONY: cross +cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/qthreads && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + echo "Building the C and C++ compiler"; \ + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ + $(SET_LIB_PATH) \ + echo "Building runtime libraries"; \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) \ + LANGUAGES="c c++" all + +.PHONY: check-gcc maybe-check-gcc +maybe-check-gcc: +check-gcc: + @if [ -f ./gcc/Makefile ] ; then \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check); \ + else \ + true; \ + fi + +.PHONY: check-gcc-c++ +check-gcc-c++: + @if [ -f ./gcc/Makefile ] ; then \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \ + else \ + true; \ + fi + +.PHONY: check-c++ +check-c++: check-target-libstdc++-v3 check-gcc-c++ + +.PHONY: install-gcc maybe-install-gcc +maybe-install-gcc: +install-gcc: + @if [ -f ./gcc/Makefile ] ; then \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ + else \ + true; \ + fi +# Install the gcc headers files, but not the fixed include files, +# which Cygnus is not allowed to distribute. This rule is very +# dependent on the workings of the gcc Makefile.in. +.PHONY: gcc-no-fixedincludes +gcc-no-fixedincludes: + @if [ -f ./gcc/Makefile ]; then \ + rm -rf gcc/tmp-include; \ + mv gcc/include gcc/tmp-include 2>/dev/null; \ + mkdir gcc/include; \ + cp $(srcdir)/gcc/gsyslimits.h gcc/include/syslimits.h; \ + touch gcc/stmp-fixinc gcc/include/fixed; \ + rm -f gcc/stmp-headers gcc/stmp-int-hdrs; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ + $(SET_LIB_PATH) \ + (cd ./gcc && \ + $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ + rm -rf gcc/include; \ + mv gcc/tmp-include gcc/include 2>/dev/null; \ + else true; fi -.PHONY: install-target-qthreads maybe-install-target-qthreads -maybe-install-target-qthreads: +# Other targets (dvi, info, etc.) -install-target-qthreads: installdirs - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-info-gcc info-gcc +maybe-info-gcc: +info-gcc: \ + configure-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/qthreads && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) - - -.PHONY: configure-target-rda maybe-configure-target-rda -maybe-configure-target-rda: + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + info) \ + || exit 1 -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/rda/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/rda ; \ - rm -f $(TARGET_SUBDIR)/rda/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/rda/multilib.out -configure-target-rda: $(TARGET_SUBDIR)/rda/multilib.out - @test ! -f $(TARGET_SUBDIR)/rda/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/rda ; \ +.PHONY: maybe-dvi-gcc dvi-gcc +maybe-dvi-gcc: +dvi-gcc: \ + configure-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/rda; \ - cd "$(TARGET_SUBDIR)/rda" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - srcdiroption="--srcdir=$${topdir}/rda"; \ - libsrcdir="$$s/rda"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + dvi) \ || exit 1 -.PHONY: all-target-rda maybe-all-target-rda -maybe-all-target-rda: -all-target-rda: configure-target-rda - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/rda && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) - -.PHONY: check-target-rda maybe-check-target-rda -maybe-check-target-rda: -check-target-rda: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-TAGS-gcc TAGS-gcc +maybe-TAGS-gcc: +TAGS-gcc: \ + configure-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/rda && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check) - + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + TAGS) \ + || exit 1 -.PHONY: install-target-rda maybe-install-target-rda -maybe-install-target-rda: -install-target-rda: installdirs - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-install-info-gcc install-info-gcc +maybe-install-info-gcc: +install-info-gcc: \ + configure-gcc \ + info-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/rda && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) - - -.PHONY: configure-target-libada maybe-configure-target-libada -maybe-configure-target-libada: + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + install-info) \ + || exit 1 -# There's only one multilib.out. Cleverer subdirs shouldn't need it copied. -$(TARGET_SUBDIR)/libada/multilib.out: multilib.out - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada ; \ - rm -f $(TARGET_SUBDIR)/libada/Makefile || : ; \ - cp multilib.out $(TARGET_SUBDIR)/libada/multilib.out -configure-target-libada: $(TARGET_SUBDIR)/libada/multilib.out - @test ! -f $(TARGET_SUBDIR)/libada/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada ; \ +.PHONY: maybe-installcheck-gcc installcheck-gcc +maybe-installcheck-gcc: +installcheck-gcc: \ + configure-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ - CC="$(CC_FOR_TARGET)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_TARGET)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ - GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ - DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ - LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ - RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - echo Configuring in $(TARGET_SUBDIR)/libada; \ - cd "$(TARGET_SUBDIR)/libada" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(TARGET_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - srcdiroption="--srcdir=$${topdir}/libada"; \ - libsrcdir="$$s/libada"; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(TARGET_CONFIGARGS) $${srcdiroption} \ - --with-target-subdir="$(TARGET_SUBDIR)" \ + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + installcheck) \ || exit 1 -.PHONY: all-target-libada maybe-all-target-libada -maybe-all-target-libada: -all-target-libada: configure-target-libada - @r=`${PWD_COMMAND}`; export r; \ + +.PHONY: maybe-mostlyclean-gcc mostlyclean-gcc +maybe-mostlyclean-gcc: +mostlyclean-gcc: + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libada && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 -.PHONY: check-target-libada maybe-check-target-libada -maybe-check-target-libada: -check-target-libada: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-clean-gcc clean-gcc +maybe-clean-gcc: +clean-gcc: + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libada && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) check) - + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + clean) \ + || exit 1 -.PHONY: install-target-libada maybe-install-target-libada -maybe-install-target-libada: -install-target-libada: installdirs - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: maybe-distclean-gcc distclean-gcc +maybe-distclean-gcc: +distclean-gcc: + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/libada && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + distclean) \ + || exit 1 +.PHONY: maybe-maintainer-clean-gcc maintainer-clean-gcc +maybe-maintainer-clean-gcc: +maintainer-clean-gcc: + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + maintainer-clean) \ + || exit 1 -# ---------- -# GCC module -# ---------- -# Unfortunately, while gcc _should_ be a host module, -# libgcc is a target module, and gen* programs are -# build modules. So GCC is a sort of hybrid. -# gcc is the only module which uses GCC_FLAGS_TO_PASS. -# Don't use shared host config.cache, as it will confuse later -# directories; GCC wants slightly different values for some -# precious variables. *sigh* -.PHONY: configure-gcc maybe-configure-gcc -maybe-configure-gcc: -configure-gcc: - @test ! -f gcc/Makefile || exit 0; \ - [ -d gcc ] || mkdir gcc; \ +# --------------------- +# GCC bootstrap support +# --------------------- + +# We name the directories for the various stages "stage1-gcc", +# "stage2-gcc","stage3-gcc", etc. +# Unfortunately, the 'compare' process will fail (on debugging information) +# if any directory names are different! +# So in the building rule for each stage, we relocate them before and after. +# The current one is 'gcc', while the previous one is 'prev-gcc'. (The +# current one must be 'gcc' for now because the scripts in that directory +# assume it.) +# At the end of the bootstrap, 'stage3-gcc' must be moved to 'gcc' so that +# libraries can find it. Ick! + +# Bugs: This is almost certainly not parallel-make safe. + +# 'touch' doesn't work right on some platforms. +STAMP = echo timestamp > + +# Only build the C compiler for stage1, because that is the only one that +# we can guarantee will build with the native compiler, and also it is the +# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS), +# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them +# overrideable (for a bootstrap build stage1 also builds gcc.info). + +STAGE1_CFLAGS=@stage1_cflags@ +STAGE1_LANGUAGES=@stage1_languages@ + +# For stage 1: +# * We force-disable intermodule optimizations, even if +# --enable-intermodule was passed, since the installed compiler probably +# can't handle them. Luckily, autoconf always respects +# the last argument when conflicting --enable arguments are passed. +# * Likewise, we force-disable coverage flags, since the installed compiler +# probably has never heard of them. +# * We build only C (and possibly Ada). +configure-stage1-gcc: + echo configure-stage1-gcc > stage_last ; \ + if [ -f stage1-gcc/Makefile ] ; then \ + $(STAMP) configure-stage1-gcc ; \ + exit 0; \ + else \ + true ; \ + fi ; \ + [ -d stage1-gcc ] || mkdir stage1-gcc; \ + mv stage1-gcc gcc ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ CC="$(CC)"; export CC; \ CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ CXX="$(CXX)"; export CXX; \ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ AR="$(AR)"; export AR; \ AS="$(AS)"; export AS; \ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ @@ -23578,7 +24012,7 @@ configure-gcc: WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - echo Configuring in gcc; \ + echo Configuring stage 1 in gcc; \ cd gcc || exit 1; \ case $(srcdir) in \ \.) \ @@ -23593,158 +24027,204 @@ configure-gcc: esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ - || exit 1 - -# Don't 'make all' in gcc if it's already been made by 'bootstrap'; that -# causes trouble. This wart will be fixed eventually by moving -# the bootstrap behavior to this file. -.PHONY: all-gcc maybe-all-gcc -maybe-all-gcc: -all-gcc: configure-gcc - @if [ -f gcc/stage_last ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) quickstrap); \ + --disable-intermodule --disable-coverage \ + --enable-languages="$(STAGE1_LANGUAGES)"; \ + cd .. ; \ + mv gcc stage1-gcc ; \ + $(STAMP) configure-stage1-gcc + +# Real targets act phony if they depend on phony targets; this hack +# prevents gratuitous rebuilding of stage 1. +prebootstrap: + $(MAKE) all-bootstrap + $(STAMP) prebootstrap + +all-stage1-gcc: configure-stage1-gcc prebootstrap + echo all-stage1-gcc > stage_last ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + mv stage1-gcc gcc ; \ + cd gcc && \ + $(MAKE) $(GCC_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" \ + || exit 1 ; \ + cd .. ; \ + mv gcc stage1-gcc ; \ + $(STAMP) all-stage1-gcc + +# TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally) +# Possibly pass --enable-werror-always (depending on --enable-werror); +# that's what @stage2_werror_flag@ is for +configure-stage2-gcc: all-stage1-gcc + echo configure-stage2-gcc > stage_last ; \ + if [ -f stage2-gcc/Makefile ] ; then \ + $(STAMP) configure-stage2-gcc ; \ + exit 0; \ else \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) all); \ - fi - -# Building GCC uses some tools for rebuilding "source" files -# like texinfo, bison/byacc, etc. So we must depend on those. -# -# While building GCC, it may be necessary to run various target -# programs like the assembler, linker, etc. So we depend on -# those too. -# -# In theory, on an SMP all those dependencies can be resolved -# in parallel. -# -GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap -.PHONY: $(GCC_STRAP_TARGETS) -$(GCC_STRAP_TARGETS): all-bootstrap configure-gcc - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Bootstrapping the compiler"; \ - cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@ - @r=`${PWD_COMMAND}`; export r; \ + true ; \ + fi ; \ + [ -d stage2-gcc ] || mkdir stage2-gcc; \ + mv stage2-gcc gcc ; \ + mv stage1-gcc prev-gcc ; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - case "$@" in \ - *bootstrap4-lean ) \ - msg="Comparing stage3 and stage4 of the compiler"; \ - compare=compare3-lean ;; \ - *bootstrap4 ) \ - msg="Comparing stage3 and stage4 of the compiler"; \ - compare=compare3 ;; \ - *-lean ) \ - msg="Comparing stage2 and stage3 of the compiler"; \ - compare=compare-lean ;; \ - * ) \ - msg="Comparing stage2 and stage3 of the compiler"; \ - compare=compare ;; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \ + echo Configuring stage 2 in gcc; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ esac; \ - $(SET_LIB_PATH) \ - echo "$$msg"; \ - cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ - $(SET_LIB_PATH) \ - echo "Building runtime libraries"; \ - $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all - -profiledbootstrap: all-bootstrap configure-gcc - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Bootstrapping the compiler"; \ - cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ - $(SET_LIB_PATH) \ - echo "Building runtime libraries and training compiler"; \ - $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Building feedback based compiler"; \ - cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build - -.PHONY: cross -cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Building the C and C++ compiler"; \ - cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ - $(SET_LIB_PATH) \ - echo "Building runtime libraries"; \ - $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) \ - LANGUAGES="c c++" all - -.PHONY: check-gcc maybe-check-gcc -maybe-check-gcc: -check-gcc: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check); \ - else \ - true; \ - fi - -.PHONY: check-gcc-c++ -check-gcc-c++: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} @stage2_werror_flag@ ; \ + cd .. ; \ + mv gcc stage2-gcc ; \ + mv prev-gcc stage1-gcc ; \ + $(STAMP) configure-stage2-gcc + +# Flags to pass to stage2 and later makes. +BOOT_CFLAGS= -g -O2 +POSTSTAGE1_FLAGS_TO_PASS = \ + CFLAGS="$(BOOT_CFLAGS)" \ + ADAC="\$$(CC)" + +all-stage2-gcc: all-stage1-gcc configure-stage2-gcc + echo all-stage2-gcc > stage_last ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + mv stage2-gcc gcc ; \ + mv stage1-gcc prev-gcc ; \ + cd gcc && \ + $(MAKE) $(GCC_FLAGS_TO_PASS) \ + CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \ + STAGE_PREFIX=$$r/prev-gcc/ \ + $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \ + cd .. ; \ + mv prev-gcc stage1-gcc ; \ + mv gcc stage2-gcc ; \ + $(STAMP) all-stage2-gcc + +configure-stage3-gcc: all-stage2-gcc + echo configure-stage3-gcc > stage_last ; \ + if [ -f stage3-gcc/Makefile ] ; then \ + $(STAMP) configure-stage3-gcc ; \ + exit 0; \ else \ - true; \ - fi - -.PHONY: check-c++ -check-c++: check-target-libstdc++-v3 check-gcc-c++ - -.PHONY: install-gcc maybe-install-gcc -maybe-install-gcc: -install-gcc: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ + true ; \ + fi ; \ + [ -d stage3-gcc ] || mkdir stage3-gcc; \ + mv stage3-gcc gcc ; \ + mv stage2-gcc prev-gcc ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \ + echo Configuring stage 3 in gcc; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} @stage2_werror_flag@ ; \ + cd .. ; \ + mv gcc stage3-gcc ; \ + mv prev-gcc stage2-gcc ; \ + $(STAMP) configure-stage3-gcc + +all-stage3-gcc: all-stage2-gcc configure-stage3-gcc + echo all-stage3-gcc > stage_last ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + mv stage2-gcc prev-gcc ; \ + mv stage3-gcc gcc ; \ + cd gcc && \ + $(MAKE) $(GCC_FLAGS_TO_PASS) \ + CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \ + STAGE_PREFIX=$$r/prev-gcc/ \ + $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \ + cd .. ; \ + mv prev-gcc stage2-gcc ; \ + mv gcc stage3-gcc ; \ + $(STAMP) all-stage3-gcc + +# We only want to compare .o files, so set this! +objext = .o + +compare: all-stage3-gcc + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + rm -f .bad_compare ; \ + cd stage3-gcc; \ + files=`find . -name "*$(objext)" -print` ; \ + cd .. ; \ + for file in $${files} ; do \ + cmp --ignore-initial=16 $$r/stage2-gcc/$$file $$r/stage3-gcc/$$file \ + > /dev/null 2>&1; \ + test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \ + done ; \ + if [ -f .bad_compare ]; then \ + echo "Bootstrap comparison failure!"; \ + cat .bad_compare; \ + exit 1; \ else \ true; \ - fi + fi ; \ + $(STAMP) compare -# Install the gcc headers files, but not the fixed include files, -# which Cygnus is not allowed to distribute. This rule is very -# dependent on the workings of the gcc Makefile.in. -.PHONY: gcc-no-fixedincludes -gcc-no-fixedincludes: - @if [ -f ./gcc/Makefile ]; then \ - rm -rf gcc/tmp-include; \ - mv gcc/include gcc/tmp-include 2>/dev/null; \ - mkdir gcc/include; \ - cp $(srcdir)/gcc/gsyslimits.h gcc/include/syslimits.h; \ - touch gcc/stmp-fixinc gcc/include/fixed; \ - rm -f gcc/stmp-headers gcc/stmp-int-hdrs; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ - $(SET_LIB_PATH) \ - (cd ./gcc && \ - $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ - rm -rf gcc/include; \ - mv gcc/tmp-include gcc/include 2>/dev/null; \ - else true; fi +.PHONY: new-bootstrap +# This target exists so that everything can be made in one pass. +# 'all-gcc' has to avoid stomping on the bootstrap-generated gcc for +# this to work. +new-bootstrap: compare + mv stage3-gcc gcc ; \ + $(MAKE) all ; \ + mv gcc stage3-gcc # -------------------------------------- # Dependencies between different modules diff -uprN binutils-2.15.90.0.1.1/Makefile.tpl binutils-2.15.90.0.2/Makefile.tpl --- binutils-2.15.90.0.1.1/Makefile.tpl 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/Makefile.tpl 2004-04-12 12:56:33.000000000 -0700 @@ -73,7 +73,6 @@ INSTALL_DATA = @INSTALL_DATA@ # Miscellaneous non-standard autoconf-set variables # ------------------------------------------------- -links=@configlinks@ # The file containing GCC's version number. gcc_version_trigger = @gcc_version_trigger@ gcc_version = @gcc_version@ @@ -250,6 +249,7 @@ TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/l FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ AR_FOR_TARGET=@AR_FOR_TARGET@ +CONFIGURED_AR_FOR_TARGET=@CONFIGURED_AR_FOR_TARGET@ USUAL_AR_FOR_TARGET = ` \ if [ -f $$r/binutils/ar ] ; then \ echo $$r/binutils/ar ; \ @@ -257,11 +257,12 @@ USUAL_AR_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(AR); \ else \ - echo ar | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_AR_FOR_TARGET) ; \ fi; \ fi` AS_FOR_TARGET=@AS_FOR_TARGET@ +CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@ USUAL_AS_FOR_TARGET = ` \ if [ -f $$r/gas/as-new ] ; then \ echo $$r/gas/as-new ; \ @@ -271,7 +272,7 @@ USUAL_AS_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(AS); \ else \ - echo as | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_AS_FOR_TARGET) ; \ fi; \ fi` @@ -297,6 +298,7 @@ CXXFLAGS_FOR_TARGET = $(CXXFLAGS) LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ +CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@ USUAL_DLLTOOL_FOR_TARGET = ` \ if [ -f $$r/binutils/dlltool ] ; then \ echo $$r/binutils/dlltool ; \ @@ -304,13 +306,14 @@ USUAL_DLLTOOL_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(DLLTOOL); \ else \ - echo dlltool | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_DLLTOOL_FOR_TARGET) ; \ fi; \ fi` GCJ_FOR_TARGET = @GCJ_FOR_TARGET@ LD_FOR_TARGET=@LD_FOR_TARGET@ +CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@ USUAL_LD_FOR_TARGET = ` \ if [ -f $$r/ld/ld-new ] ; then \ echo $$r/ld/ld-new ; \ @@ -320,13 +323,14 @@ USUAL_LD_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(LD); \ else \ - echo ld | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_LD_FOR_TARGET) ; \ fi; \ fi` LDFLAGS_FOR_TARGET = NM_FOR_TARGET=@NM_FOR_TARGET@ +CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@ USUAL_NM_FOR_TARGET = ` \ if [ -f $$r/binutils/nm-new ] ; then \ echo $$r/binutils/nm-new ; \ @@ -336,11 +340,12 @@ USUAL_NM_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(NM); \ else \ - echo nm | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_NM_FOR_TARGET) ; \ fi; \ fi` RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@ +CONFIGURED_RANLIB_FOR_TARGET=@CONFIGURED_RANLIB_FOR_TARGET@ USUAL_RANLIB_FOR_TARGET = ` \ if [ -f $$r/binutils/ranlib ] ; then \ echo $$r/binutils/ranlib ; \ @@ -352,11 +357,12 @@ USUAL_RANLIB_FOR_TARGET = ` \ echo ranlib; \ fi; \ else \ - echo ranlib | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_RANLIB_FOR_TARGET) ; \ fi; \ fi` WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ +CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@ USUAL_WINDRES_FOR_TARGET = ` \ if [ -f $$r/binutils/windres ] ; then \ echo $$r/binutils/windres ; \ @@ -364,7 +370,7 @@ USUAL_WINDRES_FOR_TARGET = ` \ if [ '$(host)' = '$(target)' ] ; then \ echo $(WINDRES); \ else \ - echo windres | sed '$(program_transform_name)' ; \ + echo $(CONFIGURED_WINDRES_FOR_TARGET) ; \ fi; \ fi` @@ -516,89 +522,6 @@ do-[+make_target+]: [+make_target+]-host FOR target_modules +] \ maybe-[+make_target+]-target-[+module+][+ ENDFOR target_modules +] - -# GCC, the eternal special case -.PHONY: maybe-[+make_target+]-gcc [+make_target+]-gcc -maybe-[+make_target+]-gcc: -[+make_target+]-gcc: [+ - FOR depend +]\ - [+depend+]-gcc [+ - ENDFOR depend +] - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing [+make_target+] in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - [+make_target+]) \ - || exit 1 - -# Host modules. -[+ FOR host_modules +] -.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+] -maybe-[+make_target+]-[+module+]: -[+ IF (match-value? = "missing" (get "make_target") ) +] -# [+module+] doesn't support [+make_target+]. -[+make_target+]-[+module+]: -[+ ELSE +] -[+make_target+]-[+module+]: [+ - FOR depend +]\ - [+depend+]-[+module+] [+ - ENDFOR depend +] - @[ -f ./[+module+]/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing [+make_target+] in [+module+]" ; \ - (cd [+module+] && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - [+make_target+]) \ - || exit 1 -[+ ENDIF +] -[+ ENDFOR host_modules +] - -# Target modules. -[+ FOR target_modules +] -.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+] -maybe-[+make_target+]-target-[+module+]: -[+ IF (match-value? = "missing" (get "make_target") ) +] -# [+module+] doesn't support [+make_target+]. -[+make_target+]-target-[+module+]: -[+ ELSE +] -[+make_target+]-target-[+module+]: [+ - FOR depend +]\ - [+depend+]-target-[+module+] [+ - ENDFOR depend +] - @[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0 ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]" ; \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/[+module+] && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - [+make_target+]) \ - || exit 1 -[+ ENDIF +] -[+ ENDFOR target_modules +] [+ ENDFOR recursive_targets +] # Here are the targets which correspond to the do-X targets. @@ -932,6 +855,36 @@ install-[+module+]: installdirs +] $(X11_FLAGS_TO_PASS)[+ ENDIF with_x +] install) [+ ENDIF no_install +] + +# Other targets (info, dvi, etc.) +[+ FOR recursive_targets +] +.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+] +maybe-[+make_target+]-[+module+]: +[+ IF (match-value? = "missing" (get "make_target") ) +] +# [+module+] doesn't support [+make_target+]. +[+make_target+]-[+module+]: +[+ ELSE +] +[+make_target+]-[+module+]: [+ + FOR depend +]\ + [+depend+]-[+module+] [+ + ENDFOR depend +] + @[ -f ./[+module+]/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing [+make_target+] in [+module+]" ; \ + (cd [+module+] && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + [+make_target+]) \ + || exit 1 +[+ ENDIF +] +[+ ENDFOR recursive_targets +] [+ ENDFOR host_modules +] # --------------------------------------- @@ -1058,6 +1011,36 @@ install-target-[+module+]: installdirs (cd $(TARGET_SUBDIR)/[+module+] && \ $(MAKE) $(TARGET_FLAGS_TO_PASS) install) [+ ENDIF no_install +] + +# Other targets (info, dvi, etc.) +[+ FOR recursive_targets +] +.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+] +maybe-[+make_target+]-target-[+module+]: +[+ IF (match-value? = "missing" (get "make_target") ) +] +# [+module+] doesn't support [+make_target+]. +[+make_target+]-target-[+module+]: +[+ ELSE +] +[+make_target+]-target-[+module+]: [+ + FOR depend +]\ + [+depend+]-target-[+module+] [+ + ENDFOR depend +] + @[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/[+module+] && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + [+make_target+]) \ + || exit 1 +[+ ENDIF +] +[+ ENDFOR recursive_targets +] [+ ENDFOR target_modules +] # ---------- @@ -1072,10 +1055,13 @@ install-target-[+module+]: installdirs # Don't use shared host config.cache, as it will confuse later # directories; GCC wants slightly different values for some # precious variables. *sigh* + +# We must skip configuring if toplevel bootstrap is going. .PHONY: configure-gcc maybe-configure-gcc maybe-configure-gcc: configure-gcc: @test ! -f gcc/Makefile || exit 0; \ + [ -f stage_last ] && exit 0; \ [ -d gcc ] || mkdir gcc; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -1118,14 +1104,14 @@ configure-gcc: .PHONY: all-gcc maybe-all-gcc maybe-all-gcc: all-gcc: configure-gcc - @if [ -f gcc/stage_last ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + if [ -f stage_last ] ; then \ + true ; \ + elif [ -f gcc/stage_last ] ; then \ $(SET_LIB_PATH) \ (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) quickstrap); \ else \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) all); \ fi @@ -1263,6 +1249,311 @@ gcc-no-fixedincludes: mv gcc/tmp-include gcc/include 2>/dev/null; \ else true; fi +# Other targets (dvi, info, etc.) +[+ FOR recursive_targets +] +.PHONY: maybe-[+make_target+]-gcc [+make_target+]-gcc +maybe-[+make_target+]-gcc: +[+make_target+]-gcc: [+ + FOR depend +]\ + [+depend+]-gcc [+ + ENDFOR depend +] + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing [+make_target+] in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + [+make_target+]) \ + || exit 1 + +[+ ENDFOR recursive_targets +] + +# --------------------- +# GCC bootstrap support +# --------------------- + +# We name the directories for the various stages "stage1-gcc", +# "stage2-gcc","stage3-gcc", etc. +# Unfortunately, the 'compare' process will fail (on debugging information) +# if any directory names are different! +# So in the building rule for each stage, we relocate them before and after. +# The current one is 'gcc', while the previous one is 'prev-gcc'. (The +# current one must be 'gcc' for now because the scripts in that directory +# assume it.) +# At the end of the bootstrap, 'stage3-gcc' must be moved to 'gcc' so that +# libraries can find it. Ick! + +# Bugs: This is almost certainly not parallel-make safe. + +# 'touch' doesn't work right on some platforms. +STAMP = echo timestamp > + +# Only build the C compiler for stage1, because that is the only one that +# we can guarantee will build with the native compiler, and also it is the +# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS), +# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them +# overrideable (for a bootstrap build stage1 also builds gcc.info). + +STAGE1_CFLAGS=@stage1_cflags@ +STAGE1_LANGUAGES=@stage1_languages@ + +# For stage 1: +# * We force-disable intermodule optimizations, even if +# --enable-intermodule was passed, since the installed compiler probably +# can't handle them. Luckily, autoconf always respects +# the last argument when conflicting --enable arguments are passed. +# * Likewise, we force-disable coverage flags, since the installed compiler +# probably has never heard of them. +# * We build only C (and possibly Ada). +configure-stage1-gcc: + echo configure-stage1-gcc > stage_last ; \ + if [ -f stage1-gcc/Makefile ] ; then \ + $(STAMP) configure-stage1-gcc ; \ + exit 0; \ + else \ + true ; \ + fi ; \ + [ -d stage1-gcc ] || mkdir stage1-gcc; \ + mv stage1-gcc gcc ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + echo Configuring stage 1 in gcc; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage \ + --enable-languages="$(STAGE1_LANGUAGES)"; \ + cd .. ; \ + mv gcc stage1-gcc ; \ + $(STAMP) configure-stage1-gcc + +# Real targets act phony if they depend on phony targets; this hack +# prevents gratuitous rebuilding of stage 1. +prebootstrap: + $(MAKE) all-bootstrap + $(STAMP) prebootstrap + +all-stage1-gcc: configure-stage1-gcc prebootstrap + echo all-stage1-gcc > stage_last ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + mv stage1-gcc gcc ; \ + cd gcc && \ + $(MAKE) $(GCC_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" \ + || exit 1 ; \ + cd .. ; \ + mv gcc stage1-gcc ; \ + $(STAMP) all-stage1-gcc + +# TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally) +# Possibly pass --enable-werror-always (depending on --enable-werror); +# that's what @stage2_werror_flag@ is for +configure-stage2-gcc: all-stage1-gcc + echo configure-stage2-gcc > stage_last ; \ + if [ -f stage2-gcc/Makefile ] ; then \ + $(STAMP) configure-stage2-gcc ; \ + exit 0; \ + else \ + true ; \ + fi ; \ + [ -d stage2-gcc ] || mkdir stage2-gcc; \ + mv stage2-gcc gcc ; \ + mv stage1-gcc prev-gcc ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \ + echo Configuring stage 2 in gcc; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} @stage2_werror_flag@ ; \ + cd .. ; \ + mv gcc stage2-gcc ; \ + mv prev-gcc stage1-gcc ; \ + $(STAMP) configure-stage2-gcc + +# Flags to pass to stage2 and later makes. +BOOT_CFLAGS= -g -O2 +POSTSTAGE1_FLAGS_TO_PASS = \ + CFLAGS="$(BOOT_CFLAGS)" \ + ADAC="\$$(CC)" + +all-stage2-gcc: all-stage1-gcc configure-stage2-gcc + echo all-stage2-gcc > stage_last ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + mv stage2-gcc gcc ; \ + mv stage1-gcc prev-gcc ; \ + cd gcc && \ + $(MAKE) $(GCC_FLAGS_TO_PASS) \ + CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \ + STAGE_PREFIX=$$r/prev-gcc/ \ + $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \ + cd .. ; \ + mv prev-gcc stage1-gcc ; \ + mv gcc stage2-gcc ; \ + $(STAMP) all-stage2-gcc + +configure-stage3-gcc: all-stage2-gcc + echo configure-stage3-gcc > stage_last ; \ + if [ -f stage3-gcc/Makefile ] ; then \ + $(STAMP) configure-stage3-gcc ; \ + exit 0; \ + else \ + true ; \ + fi ; \ + [ -d stage3-gcc ] || mkdir stage3-gcc; \ + mv stage3-gcc gcc ; \ + mv stage2-gcc prev-gcc ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \ + echo Configuring stage 3 in gcc; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} @stage2_werror_flag@ ; \ + cd .. ; \ + mv gcc stage3-gcc ; \ + mv prev-gcc stage2-gcc ; \ + $(STAMP) configure-stage3-gcc + +all-stage3-gcc: all-stage2-gcc configure-stage3-gcc + echo all-stage3-gcc > stage_last ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + mv stage2-gcc prev-gcc ; \ + mv stage3-gcc gcc ; \ + cd gcc && \ + $(MAKE) $(GCC_FLAGS_TO_PASS) \ + CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \ + STAGE_PREFIX=$$r/prev-gcc/ \ + $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \ + cd .. ; \ + mv prev-gcc stage2-gcc ; \ + mv gcc stage3-gcc ; \ + $(STAMP) all-stage3-gcc + +# We only want to compare .o files, so set this! +objext = .o + +compare: all-stage3-gcc + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + rm -f .bad_compare ; \ + cd stage3-gcc; \ + files=`find . -name "*$(objext)" -print` ; \ + cd .. ; \ + for file in $${files} ; do \ + cmp --ignore-initial=16 $$r/stage2-gcc/$$file $$r/stage3-gcc/$$file \ + > /dev/null 2>&1; \ + test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \ + done ; \ + if [ -f .bad_compare ]; then \ + echo "Bootstrap comparison failure!"; \ + cat .bad_compare; \ + exit 1; \ + else \ + true; \ + fi ; \ + $(STAMP) compare + +.PHONY: new-bootstrap +# This target exists so that everything can be made in one pass. +# 'all-gcc' has to avoid stomping on the bootstrap-generated gcc for +# this to work. +new-bootstrap: compare + mv stage3-gcc gcc ; \ + $(MAKE) all ; \ + mv gcc stage3-gcc + # -------------------------------------- # Dependencies between different modules # -------------------------------------- diff -uprN binutils-2.15.90.0.1.1/bfd/ChangeLog binutils-2.15.90.0.2/bfd/ChangeLog --- binutils-2.15.90.0.1.1/bfd/ChangeLog 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/ChangeLog 2004-04-12 12:56:33.000000000 -0700 @@ -1,3 +1,646 @@ +2004-04-11 Thiemo Seufer + + * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets. + * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3* + targets amd aout_mips_big_vec, aout_mips_little_vec target vectors. + * configure: Regenerate. + +2004-04-08 Richard Sandiford + + * elflink.c: Include libiberty.h. + * Makefile.am (elflink.lo): Depend on libiberty.h. + * Makefile.in: Regenerate. + +2004-04-06 Daniel Jacobowitz + + * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use + ".MIPS.stubs". + +2004-04-05 H.J. Lu + + * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always + reserve the memory for dynamic linker + +2004-04-05 Mark Kettenis + + * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define. + (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc. + +2004-04-02 H.J. Lu + + * elf32-cr16c.c (elf32_cr16c_relocate_section): Use + RELOC_FOR_GLOBAL_SYMBOL. + (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym. + +2004-04-02 H.J. Lu + + * elf32-arm.h (elf32_arm_final_link_relocate): Handle + R_ARM_ALU* only if OLD_ARM_ABI is not defined. + +2004-04-01 Paul Brook + + * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update. + * elf32-arm.h (struct elf32_elf_section_map): New. + (struct _arm_elf_section_data): New. + (elf32_arm_section_data): Define. + (struct elf32_arm_link_hash_table): Add byteswap_code. + (elf32_arm_link_hash_table_create): Initialize byteswap_code. + (bfd_elf32_arm_process_before_allocation): Add byteswap_code. + (elf32_arm_post_process_headers): Set EF_ARM_BE8. + (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook, + elf32_arm_compare_mapping, elf32_arm_write_section): New functions. + (bfd_elf32_new_section_hook, elf_backend_write_section, + elf_backend_link_output_symbol_hook): Define. + +2004-04-01 Andy Chittenden + + * stabs.c (struct stab_link_includes_totals): Add field 'symb' + that keeps the characters in a B_INCL..B_EINCL range. + (_bfd_link_section_stabs): When computing the sum of the + characters in a B_INCL..B_EINCL range also keep a copy of those + characters. Use this information to distinguish between + include sections that have the same sum and the same length + but which are nevertheless unique. + +2004-03-31 Paul Brook + + * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*. + * elfarm-nabi.c (elf32_arm_howto_table): Ditto. + +2004-03-31 Andy Chittenden + + * stabs.c (struct stab_link_includes_totals): Rename field 'total' + to 'sum_chars' and add field 'num_chars'. + (_bfd_link_section_stabs): When computing the sum of the + characters in a B_INCL..B_EINCL range also keep a count of the + number of characters. Use this information to help distinguish + between include sections when have the same sum but which + nevertheless are still unique. + +2004-03-31 Mattias Engdegård + + * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs. + +2004-03-30 Galit Heller + Tomer Levi + + * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo. + (ALL_MACHINES_CFILES): Add cpu-cr16c.c. + (BFD32_BACKENDS): Add elf32-cr16c.lo. + (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c. + (cpu-cr16c.lo): New target. + (elf32-cr16c.lo): Likewise. + * Makefile.in: Regenerate. + * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c. + (bfd_archures_list): Add bfd_cr16c_arch. + * config.bfd: Handle cr16c-*-elf*. + * configure.in: Handle bfd_elf32_cr16c_vec. + * configure: Regenerate. + * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C, + BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C, + BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C, + BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C, + BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C, + BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C, + BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C, + BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C, + BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C, + BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C, + BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C, + BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C, + BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C, + BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C, + BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C, + BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C, + BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C, + BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C, + BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C, + BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C. + * targets.c (bfd_elf32_cr16c_vec): Declare. + (bfd_target_vector): Add bfd_elf32_cr16c_vec. + * cpu-cr16c.c: New file. + * elf32-cr16c.c: Likewise. + * libbfd.h: Regenerate. + * bfd-in2.h: Likewise. + +2004-03-30 Jakub Jelinek + + * elf.c (map_sections_to_segments): Fix handling of .tbss. + +2004-03-27 Alan Modra + + * Makefile.am: Remove all mention of elflink.h. + * Makefile.in: Regenerate. + * bfd-in.h (bfd_elf_discard_info): Declare. + (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete. + * bfd-in2.h: Regenerate. + * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol, + bfd_elf32_link_record_dynamic_symbol, + bfd_elf64_link_record_dynamic_symbol, + _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link, + bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol, + _bfd_elf32_link_record_local_dynamic_symbol, + _bfd_elf64_link_record_local_dynamic_symbol, + _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets, + _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link, + _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry, + _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets, + _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry, + _bfd_elf32_reloc_symbol_deleted_p, + _bfd_elf64_reloc_symbol_deleted_p): Delete. + (bfd_elf_link_record_dynamic_symbol, + bfd_elf_link_record_local_dynamic_symbol, + bfd_elf_final_link, bfd_elf_gc_sections, + bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry, + bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link, + bfd_elf_reloc_symbol_deleted_p): Declare. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + * elf32-arm.h: Update for changed function names. Remove local + WILL_CALL_FINISH_DYNAMIC_SECTION define. + * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c, + * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c, + * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c, + * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c, + * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c, + * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c, + * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c, + * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise. + * elfxx-target.h (bfd_elfNN_bfd_final_link): Define. + (bfd_elfNN_print_symbol): Define. + * elfcode.h: Don't include elflink.h. + (elf_bfd_discard_info, elf_reloc_symbol_deleted_p, + elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections, + elf_gc_common_finalize_got_offsets, elf_gc_common_final_link, + elf_gc_record_vtinherit, elf_gc_record_vtentry, + elf_link_record_local_dynamic_symbol): Don't define. + * elflink.c: Update for changed function names. Move elflink.h + code here. + * elflink.h: Delete file. + * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + +2004-03-27 Alan Modra + + * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting + "name" for global syms accidentally removed in 2004-03-20 change. + +2004-03-27 Alan Modra + + * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field. + * elflink.h: Replace all occurrences of sizeof (Elf_External_*) + where Elf_External_* is different for 64 and 32 bit, with + corresponding elf_size_info field. + (struct elf_final_link_info): Use "bfd_byte *" instead + of "Elf_External_Sym *" for external_syms and symbuf. + (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local + vars and use instead of ELF_R_INFO and ELF_R_TYPE macros. + (struct elf_link_sort_rela): Add "sym_mask" alias for "offset". + (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM. + (elf_link_sort_cmp2): Adjust. + (elf_link_sort_relocs): Set up r_sym_mask local var instead of + using ELF_R_SYM macro. Set u.sym_mask. + (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro + version, elf_stringtab_init. Ditto for bfd_section_from_elf_index + vs. section_from_elf_index. Adjust Elf_External_Sym pointer + arithmetic. Pass bed to elf_link_flush_output_syms. Adjust + Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and + swap_syn_out functions. Rearrange dyn swap in/out switch. + (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic. + Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out. + (elf_link_flush_output_syms): Add elf_backend_data arg. + (elf_link_check_versioned_symbol): Likewise. + (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol. + Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out. + (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up + r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM, + ELF_R_TYPE and ELF_R_INFO macros. + (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation + based on size rather than using ELF_R_INFO. + (elf_gc_mark): Set up r_sym_shift local var and use instead of + ELF_R_SYM macro. + (struct alloc_got_off_arg): New. + (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of + ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets. + (elf_gc_allocate_got_offsets): Adjust. + (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of + ELF_R_SYM. Use bfd_section_from_elf_index. + (elf_bfd_discard_info): Set cookie.r_sym_shift. + * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete. + (elf_slurp_symbol_table): Use bfd_section_from_elf_index. + +2004-03-26 Stan Shebs + + Remove MPW support, no longer used. + * config.bfd (powerpc-*-mpw*): Remove configuration. + * mpw-config.in, mpw-make.sed: Remove files. + * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code. + +2004-03-26 Alan Modra + + * elf64-ppc.c (elf_backend_add_symbol_hook): Define. + (ppc64_elf_add_symbol_hook): New function. + * elf-bfd.h (struct elf_backend_data ): Remove + const from Elf_Internal_Sym param. + * elflink.c (elf_link_add_object_symbols): Adjust. + * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust. + * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust. + * elf32-i370.c (elf_backend_add_symbol_hook): Adjust. + * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust. + * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust. + * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust. + * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust. + * elf32-v850.c (v850_elf_add_symbol_hook): Adjust. + * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust. + * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust. + * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust. + * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust. + * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust. + * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust. + * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust. + +2004-03-26 Alan Modra + + * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define. + * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete. + (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete. + (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete. + (bfd_elf64_bfd_link_add_symbols): Delete. + (bfd_elf_link_add_symbols): Declare. + * elfcode.h (elf_bfd_link_add_symbols): Delete. + * elflink.c: Include safe-ctype.h. + (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag, + make static. + (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static. + (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make + static. + (elf_link_add_archive_symbols): Rename from + _bfd_elf_link_add_archive_symbols, make static. + (elf_link_add_object_symbols): New function. Corresponding + elflink.h function converted to use elf_size_info. + (bfd_elf_link_add_symbols): Likewise. + (bfd_elf_size_dynamic_sections): Adjust. + * elflink.h (elf_bfd_link_add_symbols): Delete. + (elf_link_add_object_symbols): Delete. + * elf32-gen.c (elf32_generic_link_add_symbols): Call + bfd_elf_link_add_symbols. + * elf64-gen.c (elf64_generic_link_add_symbols): Likewise. + +2004-03-25 Alan Modra + + * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed + and chained shared libs only if dynsym. Clear dynsym on forced-local. + + * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare. + (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete. + (_bfd_elf_add_dt_needed_tag): Declare. + (_bfd_elf_sort_symbol): Declare. + (_bfd_elf_finalize_dynstr): Declare. + (RELOC_FOR_GLOBAL_SYM): Formatting. + * elfcode.h (elf_add_dynamic_entry): Delete. + * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding + elflink.h function converted to use elf_size_info. + (_bfd_elf_add_dt_needed_tag): Likewise. + (_bfd_elf_sort_symbol): Likewise. + (_bfd_elf_finalize_dynstr): Likewise. + (compute_bucket_count): Likewise. + (bfd_elf_size_dynamic_sections): Likewise. Check result of + _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref. + (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from.. + * elflink.h: ..here. + (sort_symbol, add_dt_needed_tag): Delete. + (elf_add_dynamic_entry, elf_finalize_dynstr): Delete. + (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete. + Update all users. + * elf32-arm.h (add_dynamic_entry): Update. Remove casts. + * elf32-cris.c (add_dynamic_entry): Likewise. + * elf32-hppa.c (add_dynamic_entry): Likewise. + * elf32-i370.c (add_dynamic_entry): Likewise. + * elf32-i386.c (add_dynamic_entry): Likewise. + * elf32-m32r.c (add_dynamic_entry): Likewise. + * elf32-m68k.c (add_dynamic_entry): Likewise. + * elf32-ppc.c (add_dynamic_entry): Likewise. + * elf32-s390.c (add_dynamic_entry): Likewise. + * elf32-sh.c (add_dynamic_entry): Likewise. + * elf32-sparc.c (add_dynamic_entry): Likewise. + * elf32-vax.c (add_dynamic_entry): Likewise. + * elf32-xtensa.c (add_dynamic_entry): Likewise. + * elf64-alpha.c (add_dynamic_entry): Likewise. + * elf64-hppa.c (add_dynamic_entry): Likewise. + * elf64-ppc.c (add_dynamic_entry): Likewise. + * elf64-s390.c (add_dynamic_entry): Likewise. + * elf64-sparc.c (add_dynamic_entry): Likewise. + * elf64-x86-64.c (add_dynamic_entry): Likewise. + * elfxx-ia64.c (add_dynamic_entry): Likewise. + * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise. + * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise. + * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise. + * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise. + +2004-03-23 Paul Brook + + * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3. + +2004-03-22 Bob Wilson + + * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read + literal tables and check for relocs outside of literal pools. + (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag. + (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or + set DF_TEXTREL. + (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry. + (elf_xtensa_relocate_section): Read literal tables and check for + dynamic relocations in read-only sections and not in literal pools. + +2004-03-23 Alan Modra + + PR 51. + * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char. + +2004-03-22 Hans-Peter Nilsson + + * elf32-cris.c (cris_elf_relocate_section) : Also error if there's no PLT for a symbol + not defined by the executable, or defined in a DSO. + : Initialize GOT entry for a + function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an + executable. + (cris_elf_gc_sweep_hook): Improve fallthrough marking. + (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold + a PLT reloc to GOT for an executable. + (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with + .got for a DSO and explain why. + (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs + and unreferenced symbols for which a PLT is defined. Adjust + dynamic-symbol pruning correspondingly, to make sure we don't lose + a dynamic symbol also defined by a DSO. + +2004-03-22 Alan Modra + + * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section + and rel args. Group input and output args. Wrap to 80 columns. + * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c, + elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c, + elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c, + elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c, + elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c, + elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c, + elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c, + elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update + RELOC_FOR_GLOBAL_SYMBOL invocation. + +2004-03-20 H.J. Lu + + * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if + unresolved symbols in objects aren't allowed. + + * elf-hppa.h (elf_hppa_relocate_section): Properly handle + unresolved symbols. + (elf_hppa_remark_useless_dynamic_symbols): Likewise. + (elf_hppa_unmark_useless_dynamic_symbols): + * elf32-frv.c (elf32_frv_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_size_stubs): Likewise. + (elf32_hppa_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf64-sh64.c (sh_elf64_relocate_section): Likewise. + * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. + + * elf-m10200.c (mn10200_elf_relocate_section): Use + RELOC_FOR_GLOBAL_SYMBOL. + * elf32-avr.c (elf32_avr_relocate_section): Likewise. + * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. + * elf32-fr30.c (fr30_elf_relocate_section): Likewise. + * elf32-h8300.c (elf32_h8_relocate_section): Likewise. + * elf32-i860.c (elf32_i860_relocate_section): Likewise. + * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise. + * elf32-mcore.c (mcore_elf_relocate_section): Likewise. + * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. + * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. + * elf32-v850.c (v850_elf_relocate_section): Likewise. + * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. + * elf64-mmix.c (mmix_elf_relocate_section): Likewise. + +2004-03-19 John David Anglin + + * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32. + (final_link_relocate): Likewise. + * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for + R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations. + +2004-03-19 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * po/bfd.pot: Regenerate. + +2004-03-19 Alan Modra + H.J. Lu + + * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move + type and size change code to where it was previously. Remove + dt_needed param. Treat old weak syms as strong if new sym is + from a shared lib, even when old sym is from another shared + lib. Remove unnecessary tests of oldweak and newweak. Correct + comments. + (_bfd_elf_add_default_symbol): Remove dt_needed param. Update + _bfd_elf_merge_symbol calls. + * elflink.h (elf_link_add_object_symbols): Update calls. Remove + dt_needed local var. Update comments. + * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype. + (_bfd_elf_add_default_symbol): Likewise. + + * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle + strong syms in one shared object overriding weak syms in another. + +2004-03-18 Alan Modra + + * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add + dyn_lib_class field. Rearrange for better packing. + (elf_dt_soname): Delete. + (elf_dyn_lib_class): Define. + * elf.c (bfd_elf_set_dt_needed_name): Update comment. + (bfd_elf_set_dt_needed_soname): Delete. + (bfd_elf_set_dyn_lib_class): New function. + * elflink.h (add_dt_needed_tag): New function. Split out from.. + (elf_link_add_object_symbols): ..here. Rename "name" to "soname". + Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback + initialization of soname. + (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of + elf_dt_soname. + * bfd-in.h (enum dynamic_lib_link_class): New. + (bfd_elf_set_dt_needed_soname): Delete. + (bfd_elf_set_dyn_lib_class): Declare. + * bfd-in2.h: Regenerate. + + * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling. + (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs. + * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in + symbol loop. Instead use add_needed to flag tag as written. + +2004-03-17 Nathan Sidwell + + * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct + logic for null_input_bfd detection. + +2004-03-17 Ralf Corsepius + + * config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*. + +2004-03-16 Mark Kettenis + + * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove + code. + +2004-03-16 Alan Modra + + * elflink.c (elf_link_read_relocs_from_section): Don't use + NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check.. + (_bfd_elf_link_read_relocs): ..to here. + * elf32-ppc.c (ppc_elf_relax_section): Formatting. + +2004-03-16 Alan Modra + + * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override + values selected in configure.host. Require both to be defined + before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to + corresponding BFD_HOST vars with quotes. + <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc; + Always require BFD_HOST_64_BIT_DEFINED. + : Find off_t size before emitting message. Combine + off_t and ftello64 conditional. + * configure: Regenerate. + +2004-03-16 Alan Modra + + * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer + aliasing warning. Remove trailing whitespace throughout file. + +2004-03-15 John David Anglin + + * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of + input_section in calls to get_dyn_name. + * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for + local symbols. + (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name. + +2004-03-15 Alan Modra + + * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types. + (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here. + (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t. + (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t. + (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t. + * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8. + (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set + when using long. + * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t. + (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT. + (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise. + (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT. + (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise. + * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t. + (read_8_bytes, read_indirect_string, read_address): Likewise. + (read_abbrevs, parse_comp_unit): Likewise. + * targets.c (struct bfd_target): Likewise. + * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use. + * hppabsd-core.c: Likewise. Formatting. + * hpux-core.c: Likewise. + * irix-core.c: Likewise. + * netbsd-core.c: Likewise. + * osf-core.c: Likewise. + * ptrace-core.c: Likewise. + * sco5-core.c: Likewise. + * trad-core.c: Likewise. + * configure: Regenerate. + * bfd-in2.h: Regenerate. + +2004-03-15 Alan Modra + + * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*. + (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise. + (bfd_getb_signed_64, bfd_getl_signed_64): Likewise. + (bfd_getb_signed_32, bfd_getl_signed_32): Likewise. + (bfd_getb_signed_16, bfd_getl_signed_16): Likewise. + (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise. + (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise. + * libbfd.c: Likewise in function definitions. + (bfd_put_8): Mask with 0xff rather than casting to char. + (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise. + (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise. + (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify. + (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise. + (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise. + (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise. + * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify. + (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise. + (H_GET_64, H_GET_32, H_GET_16): Likewise. + (H_GET_S64, H_GET_S32, H_GET_S16): Likewise. + * archive.c (do_slurp_coff_armap): Update swap prototype. + * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*. + (tic54x_getl_signed_32): Likewise. + (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char. + * mach-o.c (bfd_mach_o_read_header): Update get32 prototype. + * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*. + (bfd_getp_signed_32, bfd_putp32): Likewise. + * targets.c (struct bfd_target): Use void* in place of bfd_byte* for + bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32, + bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16, + bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64, + bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16, + bfd_h_getx_signed_16, bfd_h_putx16. + * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes. + * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS. + * hpux-core.c: Likewise. + * irix-core.c: Likewise. + * netbsd-core.c: Likewise. + * osf-core.c: Likewise. + * ptrace-core.c: Likewise. + * sco5-core.c: Likewise. + * trad-core.c: Likewise. + * bfd-in2.h: Regenerate. + +2004-03-15 Matt Thomas + + * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is + selected. + +2004-03-13 Mark Kettenis + + * config.bfd: Add x86_64-*-openbsd*. + * configure.in (x86_64-*-openbsd*): Set COREFILE to + netbsd-core.lo. + * configure: Regenerate. + +2004-03-12 Nick Clifton + Dave Murphy + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks + if the input bfd does not contain any code. + +2004-03-09 Steve Ellcey + + * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq. + +2004-03-05 Fred Fish + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force + mips16 symbols to be even rather than testing first for even/odd. + (_bfd_mips_elf_link_output_symbol_hook): Ditto. + +2004-03-05 Nathan Sidwell + + * elf.c (map_sections_to_segments): Ignore .tbss sections for + layout purposes. + +2004-03-03 Alexandre Oliva + + * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and + undefined symbols as hash_new. + 2003-03-03 Andrew Stubbs * archures.c: Add bfd_mach_sh4_nommu_nofpu. @@ -156,7 +799,7 @@ * configure: Regenerate. 2004-02-17 Daniel Jacobowitz - Richard Sandiford + Richard Sandiford * elfxx-mips.c (mips_elf_calculate_relocation): Use _bfd_elf_symbol_refs_local_p to decide whether to decay @@ -206,7 +849,7 @@ fseeko and fseeko64. Determine bfd_file_ptr. * configure: Re-generate. * config.in: Re-generate. - + 2004-02-09 Anil Paranjpe * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w. diff -uprN binutils-2.15.90.0.1.1/bfd/Makefile.am binutils-2.15.90.0.2/bfd/Makefile.am --- binutils-2.15.90.0.1.1/bfd/Makefile.am 2004-01-14 13:07:42.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/Makefile.am 2004-04-12 12:56:33.000000000 -0700 @@ -55,6 +55,7 @@ ALL_MACHINES = \ cpu-arc.lo \ cpu-arm.lo \ cpu-avr.lo \ + cpu-cr16c.lo \ cpu-cris.lo \ cpu-d10v.lo \ cpu-d30v.lo \ @@ -111,6 +112,7 @@ ALL_MACHINES_CFILES = \ cpu-arm.c \ cpu-avr.c \ cpu-cris.c \ + cpu-cr16c.c \ cpu-d10v.c \ cpu-d30v.c \ cpu-dlx.c \ @@ -213,6 +215,7 @@ BFD32_BACKENDS = \ elfarm-oabi.lo \ elfarm-nabi.lo \ elf32-avr.lo \ + elf32-cr16c.lo \ elf32-cris.lo \ elf32-d10v.lo \ elf32-d30v.lo \ @@ -378,6 +381,7 @@ BFD32_BACKENDS_CFILES = \ elfarm-oabi.c \ elfarm-nabi.c \ elf32-avr.c \ + elf32-cr16c.c \ elf32-cris.c \ elf32-d10v.c \ elf32-d30v.c \ @@ -588,7 +592,7 @@ CFILES = $(SOURCE_CFILES) $(BUILD_CFILES SOURCE_HFILES = \ aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \ elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h \ - elf64-hppa.h elfcode.h elfcore.h elflink.h \ + elf64-hppa.h elfcode.h elfcore.h \ freebsd.h genlink.h go32stub.h \ libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \ libnlm.h liboasys.h libpei.h libxcoff.h mach-o.h \ @@ -915,6 +919,7 @@ cpu-alpha.lo: cpu-alpha.c $(INCDIR)/file cpu-arc.lo: cpu-arc.c $(INCDIR)/filenames.h cpu-arm.lo: cpu-arm.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h cpu-avr.lo: cpu-avr.c $(INCDIR)/filenames.h +cpu-cr16c.lo: cpu-cr16c.c $(INCDIR)/filenames.h cpu-cris.lo: cpu-cris.c $(INCDIR)/filenames.h cpu-d10v.lo: cpu-d10v.c $(INCDIR)/filenames.h cpu-d30v.lo: cpu-d30v.c $(INCDIR)/filenames.h @@ -1137,6 +1142,10 @@ elf32-avr.lo: elf32-avr.c $(INCDIR)/file $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h +elf32-cr16c.lo: elf32-cr16c.c $(INCDIR)/filenames.h elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(INCDIR)/elf/cr16c.h $(INCDIR)/elf/reloc-macros.h \ + elf32-target.h elf32-cris.lo: elf32-cris.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \ @@ -1160,7 +1169,7 @@ elf32-fr30.lo: elf32-fr30.c $(INCDIR)/fi elf32-frv.lo: elf32-frv.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/frv.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h + $(INCDIR)/elf/dwarf2.h $(INCDIR)/hashtab.h elf32-target.h elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h elf32-target.h @@ -1310,10 +1319,10 @@ elf32-xtensa.lo: elf32-xtensa.c $(INCDIR elf32.lo: elf32.c elfcode.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \ $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfcore.h \ - elflink.h $(INCDIR)/safe-ctype.h + $(INCDIR)/safe-ctype.h elflink.lo: elflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/elf/external.h + $(INCDIR)/elf/external.h $(INCDIR)/libiberty.h elf-strtab.lo: elf-strtab.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h @@ -1592,7 +1601,7 @@ elf64-sparc.lo: elf64-sparc.c $(INCDIR)/ elf64.lo: elf64.c elfcode.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \ $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfcore.h \ - elflink.h $(INCDIR)/safe-ctype.h + $(INCDIR)/safe-ctype.h mmo.lo: mmo.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \ $(INCDIR)/elf/mmix.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/mmix.h nlm32-alpha.lo: nlm32-alpha.c $(INCDIR)/filenames.h \ diff -uprN binutils-2.15.90.0.1.1/bfd/Makefile.in binutils-2.15.90.0.2/bfd/Makefile.in --- binutils-2.15.90.0.1.1/bfd/Makefile.in 2004-01-14 13:07:42.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/Makefile.in 2004-04-12 12:56:33.000000000 -0700 @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -116,8 +116,10 @@ WIN32LIBADD = @WIN32LIBADD@ all_backends = @all_backends@ bfd_backends = @bfd_backends@ bfd_default_target_size = @bfd_default_target_size@ +bfd_file_ptr = @bfd_file_ptr@ bfd_libs = @bfd_libs@ bfd_machines = @bfd_machines@ +bfd_ufile_ptr = @bfd_ufile_ptr@ bfd_version = @bfd_version@ bfd_version_string = @bfd_version_string@ l = @l@ @@ -181,6 +183,7 @@ ALL_MACHINES = \ cpu-arc.lo \ cpu-arm.lo \ cpu-avr.lo \ + cpu-cr16c.lo \ cpu-cris.lo \ cpu-d10v.lo \ cpu-d30v.lo \ @@ -238,6 +241,7 @@ ALL_MACHINES_CFILES = \ cpu-arm.c \ cpu-avr.c \ cpu-cris.c \ + cpu-cr16c.c \ cpu-d10v.c \ cpu-d30v.c \ cpu-dlx.c \ @@ -341,6 +345,7 @@ BFD32_BACKENDS = \ elfarm-oabi.lo \ elfarm-nabi.lo \ elf32-avr.lo \ + elf32-cr16c.lo \ elf32-cris.lo \ elf32-d10v.lo \ elf32-d30v.lo \ @@ -507,6 +512,7 @@ BFD32_BACKENDS_CFILES = \ elfarm-oabi.c \ elfarm-nabi.c \ elf32-avr.c \ + elf32-cr16c.c \ elf32-cris.c \ elf32-d10v.c \ elf32-d30v.c \ @@ -723,7 +729,7 @@ CFILES = $(SOURCE_CFILES) $(BUILD_CFILES SOURCE_HFILES = \ aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \ elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h \ - elf64-hppa.h elfcode.h elfcore.h elflink.h \ + elf64-hppa.h elfcode.h elfcore.h \ freebsd.h genlink.h go32stub.h \ libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \ libnlm.h liboasys.h libpei.h libxcoff.h mach-o.h \ @@ -812,7 +818,7 @@ configure.in version.h DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) OBJECTS = $(libbfd_a_OBJECTS) $(libbfd_la_OBJECTS) @@ -941,7 +947,7 @@ libbfd.la: $(libbfd_la_OBJECTS) $(libbfd all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive install-info-recursive \ check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -961,7 +967,7 @@ check-recursive installcheck-recursive i mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev="$$subdir $$rev"; \ @@ -1450,6 +1456,7 @@ cpu-alpha.lo: cpu-alpha.c $(INCDIR)/file cpu-arc.lo: cpu-arc.c $(INCDIR)/filenames.h cpu-arm.lo: cpu-arm.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h cpu-avr.lo: cpu-avr.c $(INCDIR)/filenames.h +cpu-cr16c.lo: cpu-cr16c.c $(INCDIR)/filenames.h cpu-cris.lo: cpu-cris.c $(INCDIR)/filenames.h cpu-d10v.lo: cpu-d10v.c $(INCDIR)/filenames.h cpu-d30v.lo: cpu-d30v.c $(INCDIR)/filenames.h @@ -1672,6 +1679,10 @@ elf32-avr.lo: elf32-avr.c $(INCDIR)/file $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h +elf32-cr16c.lo: elf32-cr16c.c $(INCDIR)/filenames.h elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(INCDIR)/elf/cr16c.h $(INCDIR)/elf/reloc-macros.h \ + elf32-target.h elf32-cris.lo: elf32-cris.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \ @@ -1695,7 +1706,7 @@ elf32-fr30.lo: elf32-fr30.c $(INCDIR)/fi elf32-frv.lo: elf32-frv.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/frv.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h + $(INCDIR)/elf/dwarf2.h $(INCDIR)/hashtab.h elf32-target.h elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h elf32-target.h @@ -1845,10 +1856,10 @@ elf32-xtensa.lo: elf32-xtensa.c $(INCDIR elf32.lo: elf32.c elfcode.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \ $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfcore.h \ - elflink.h $(INCDIR)/safe-ctype.h + $(INCDIR)/safe-ctype.h elflink.lo: elflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/elf/external.h + $(INCDIR)/elf/external.h $(INCDIR)/libiberty.h elf-strtab.lo: elf-strtab.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h @@ -2127,7 +2138,7 @@ elf64-sparc.lo: elf64-sparc.c $(INCDIR)/ elf64.lo: elf64.c elfcode.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \ $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfcore.h \ - elflink.h $(INCDIR)/safe-ctype.h + $(INCDIR)/safe-ctype.h mmo.lo: mmo.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \ $(INCDIR)/elf/mmix.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/mmix.h nlm32-alpha.lo: nlm32-alpha.c $(INCDIR)/filenames.h \ diff -uprN binutils-2.15.90.0.1.1/bfd/aclocal.m4 binutils-2.15.90.0.2/bfd/aclocal.m4 --- binutils-2.15.90.0.1.1/bfd/aclocal.m4 2004-01-14 13:07:42.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/aclocal.m4 2004-04-12 12:56:33.000000000 -0700 @@ -13,7 +13,7 @@ dnl PARTICULAR PURPOSE. sinclude(../config/accross.m4) dnl See whether we need to use fopen-bin.h rather than fopen-same.h. -AC_DEFUN(BFD_BINARY_FOPEN, +AC_DEFUN([BFD_BINARY_FOPEN], [AC_REQUIRE([AC_CANONICAL_SYSTEM]) case "${host}" in changequote(,)dnl @@ -23,7 +23,7 @@ changequote([,])dnl esac])dnl dnl Get a default for CC_FOR_BUILD to put into Makefile. -AC_DEFUN(BFD_CC_FOR_BUILD, +AC_DEFUN([BFD_CC_FOR_BUILD], [# Put a plausible default for CC_FOR_BUILD in Makefile. if test -z "$CC_FOR_BUILD"; then if test "x$cross_compiling" = "xno"; then @@ -56,7 +56,7 @@ fi AC_SUBST(EXEEXT_FOR_BUILD)])dnl dnl See whether we need a declaration for a function. -AC_DEFUN(BFD_NEED_DECLARATION, +AC_DEFUN([BFD_NEED_DECLARATION], [AC_MSG_CHECKING([whether $1 must be declared]) AC_CACHE_VAL(bfd_cv_decl_needed_$1, [AC_TRY_COMPILE([ @@ -85,7 +85,7 @@ fi dnl Check for existence of a type $1 in sys/procfs.h -AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE, +AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE], [AC_MSG_CHECKING([for $1 in sys/procfs.h]) AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_$1, [AC_TRY_COMPILE([ @@ -105,7 +105,7 @@ AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE, dnl Check for existence of member $2 in type $1 in sys/procfs.h -AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE_MEMBER, +AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE_MEMBER], [AC_MSG_CHECKING([for $1.$2 in sys/procfs.h]) AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_member_$1_$2, [AC_TRY_COMPILE([ diff -uprN binutils-2.15.90.0.1.1/bfd/aix386-core.c binutils-2.15.90.0.2/bfd/aix386-core.c --- binutils-2.15.90.0.1.1/bfd/aix386-core.c 2002-12-16 12:22:51.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/aix386-core.c 2004-04-12 12:56:33.000000000 -0700 @@ -2,7 +2,7 @@ This was based on trad-core.c, which was written by John Gilmore of Cygnus Support. Copyright 1988, 1989, 1991, 1992, 1993, 1994, 1996, 1998, 1999, 2000, - 2001, 2002 + 2001, 2002, 2004 Free Software Foundation, Inc. Written by Minh Tran-Le . Converted to back end form by Ian Lance Taylor . @@ -222,9 +222,12 @@ swap_abort () abort (); } -#define NO_GET ((bfd_vma (*) PARAMS ((const bfd_byte *))) swap_abort) -#define NO_GETS ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort) +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target aix386_core_vec = { "aix386-core", @@ -239,10 +242,10 @@ const bfd_target aix386_core_vec = { 0, /* leading underscore */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ - NO_GET, NO_GETS, NO_PUT, + NO_GET64, NO_GETS64, NO_PUT64, NO_GET, NO_GETS, NO_PUT, NO_GET, NO_GETS, NO_PUT, /* data */ - NO_GET, NO_GETS, NO_PUT, + NO_GET64, NO_GETS64, NO_PUT64, NO_GET, NO_GETS, NO_PUT, NO_GET, NO_GETS, NO_PUT, /* hdrs */ diff -uprN binutils-2.15.90.0.1.1/bfd/archive.c binutils-2.15.90.0.2/bfd/archive.c --- binutils-2.15.90.0.1.1/bfd/archive.c 2004-01-14 13:07:42.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/archive.c 2004-04-12 12:56:33.000000000 -0700 @@ -753,7 +753,7 @@ do_slurp_coff_armap (bfd *abfd) unsigned int parsed_size; carsym *carsyms; bfd_size_type nsymz; /* Number of symbols in armap. */ - bfd_vma (*swap) (const bfd_byte *); + bfd_vma (*swap) (const void *); char int_buf[sizeof (long)]; bfd_size_type carsym_size, ptrsize; unsigned int i; diff -uprN binutils-2.15.90.0.1.1/bfd/archures.c binutils-2.15.90.0.2/bfd/archures.c --- binutils-2.15.90.0.1.1/bfd/archures.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/archures.c 2004-04-12 12:56:33.000000000 -0700 @@ -307,6 +307,8 @@ DESCRIPTION .#define bfd_mach_avr3 3 .#define bfd_mach_avr4 4 .#define bfd_mach_avr5 5 +. bfd_arch_cr16c, {* National Semiconductor CompactRISC. *} +.#define bfd_mach_cr16c 1 . bfd_arch_cris, {* Axis CRIS *} . bfd_arch_s390, {* IBM s390 *} .#define bfd_mach_s390_31 31 @@ -375,6 +377,7 @@ extern const bfd_arch_info_type bfd_alph extern const bfd_arch_info_type bfd_arc_arch; extern const bfd_arch_info_type bfd_arm_arch; extern const bfd_arch_info_type bfd_avr_arch; +extern const bfd_arch_info_type bfd_cr16c_arch; extern const bfd_arch_info_type bfd_cris_arch; extern const bfd_arch_info_type bfd_d10v_arch; extern const bfd_arch_info_type bfd_d30v_arch; @@ -435,6 +438,7 @@ static const bfd_arch_info_type * const &bfd_arc_arch, &bfd_arm_arch, &bfd_avr_arch, + &bfd_cr16c_arch, &bfd_cris_arch, &bfd_d10v_arch, &bfd_d30v_arch, diff -uprN binutils-2.15.90.0.1.1/bfd/bfd-in.h binutils-2.15.90.0.2/bfd/bfd-in.h --- binutils-2.15.90.0.1.1/bfd/bfd-in.h 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/bfd-in.h 2004-04-12 12:56:33.000000000 -0700 @@ -55,6 +55,8 @@ extern "C" { #if @BFD_HOST_64_BIT_DEFINED@ #define BFD_HOST_64_BIT @BFD_HOST_64_BIT@ #define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@ +typedef BFD_HOST_64_BIT bfd_int64_t; +typedef BFD_HOST_U_64_BIT bfd_uint64_t; #endif #if BFD_ARCH_SIZE >= 64 @@ -95,24 +97,6 @@ typedef int bfd_boolean; #define true dont_use_true_in_bfd #endif -/* Support for different sizes of target format ints and addresses. - If the type `long' is at least 64 bits, BFD_HOST_64BIT_LONG will be - set to 1 above. Otherwise, if the host compiler used during - configuration supports long long, this code will use it. - Otherwise, BFD_HOST_64_BIT must be defined above. */ - -#ifndef BFD_HOST_64_BIT -# if BFD_HOST_64BIT_LONG -# define BFD_HOST_64_BIT long -# define BFD_HOST_U_64_BIT unsigned long -# else -# if BFD_HOST_LONG_LONG -# define BFD_HOST_64_BIT long long -# define BFD_HOST_U_64_BIT unsigned long long -# endif /* ! BFD_HOST_LONG_LONG */ -# endif /* ! BFD_HOST_64BIT_LONG */ -#endif /* ! defined (BFD_HOST_64_BIT) */ - #ifdef BFD64 #ifndef BFD_HOST_64_BIT @@ -160,6 +144,15 @@ typedef unsigned long bfd_size_type; #endif /* not BFD64 */ +#ifndef BFD_HOST_64_BIT +/* Fall back on a 32 bit type. The idea is to make these types always + available for function return types, but in the case that + BFD_HOST_64_BIT is undefined such a function should abort or + otherwise signal an error. */ +typedef bfd_signed_vma bfd_int64_t; +typedef bfd_vma bfd_uint64_t; +#endif + /* An offset into a file. BFD always uses the largest possible offset based on the build time availability of fseek, fseeko, or fseeko64. */ typedef @bfd_file_ptr@ file_ptr; @@ -518,29 +511,29 @@ extern bfd_boolean bfd_record_phdr /* Byte swapping routines. */ -bfd_vma bfd_getb64 (const unsigned char *); -bfd_vma bfd_getl64 (const unsigned char *); -bfd_signed_vma bfd_getb_signed_64 (const unsigned char *); -bfd_signed_vma bfd_getl_signed_64 (const unsigned char *); -bfd_vma bfd_getb32 (const unsigned char *); -bfd_vma bfd_getl32 (const unsigned char *); -bfd_signed_vma bfd_getb_signed_32 (const unsigned char *); -bfd_signed_vma bfd_getl_signed_32 (const unsigned char *); -bfd_vma bfd_getb16 (const unsigned char *); -bfd_vma bfd_getl16 (const unsigned char *); -bfd_signed_vma bfd_getb_signed_16 (const unsigned char *); -bfd_signed_vma bfd_getl_signed_16 (const unsigned char *); -void bfd_putb64 (bfd_vma, unsigned char *); -void bfd_putl64 (bfd_vma, unsigned char *); -void bfd_putb32 (bfd_vma, unsigned char *); -void bfd_putl32 (bfd_vma, unsigned char *); -void bfd_putb16 (bfd_vma, unsigned char *); -void bfd_putl16 (bfd_vma, unsigned char *); +bfd_uint64_t bfd_getb64 (const void *); +bfd_uint64_t bfd_getl64 (const void *); +bfd_int64_t bfd_getb_signed_64 (const void *); +bfd_int64_t bfd_getl_signed_64 (const void *); +bfd_vma bfd_getb32 (const void *); +bfd_vma bfd_getl32 (const void *); +bfd_signed_vma bfd_getb_signed_32 (const void *); +bfd_signed_vma bfd_getl_signed_32 (const void *); +bfd_vma bfd_getb16 (const void *); +bfd_vma bfd_getl16 (const void *); +bfd_signed_vma bfd_getb_signed_16 (const void *); +bfd_signed_vma bfd_getl_signed_16 (const void *); +void bfd_putb64 (bfd_uint64_t, void *); +void bfd_putl64 (bfd_uint64_t, void *); +void bfd_putb32 (bfd_vma, void *); +void bfd_putl32 (bfd_vma, void *); +void bfd_putb16 (bfd_vma, void *); +void bfd_putl16 (bfd_vma, void *); /* Byte swapping routines which take size and endiannes as arguments. */ -bfd_vma bfd_get_bits (bfd_byte *, int, bfd_boolean); -void bfd_put_bits (bfd_vma, bfd_byte *, int, bfd_boolean); +bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean); +void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean); /* Externally visible ECOFF routines. */ @@ -606,29 +599,30 @@ struct bfd_link_needed_list const char *name; }; +enum dynamic_lib_link_class { + DYN_NORMAL = 0, + DYN_AS_NEEDED = 1, + DYN_DT_NEEDED = 2 +}; + extern bfd_boolean bfd_elf_record_link_assignment (bfd *, struct bfd_link_info *, const char *, bfd_boolean); extern struct bfd_link_needed_list *bfd_elf_get_needed_list (bfd *, struct bfd_link_info *); extern bfd_boolean bfd_elf_get_bfd_needed_list (bfd *, struct bfd_link_needed_list **); -extern bfd_boolean bfd_elf32_size_dynamic_sections - (bfd *, const char *, const char *, const char *, const char * const *, - struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *); -extern bfd_boolean bfd_elf64_size_dynamic_sections +extern bfd_boolean bfd_elf_size_dynamic_sections (bfd *, const char *, const char *, const char *, const char * const *, struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *); extern void bfd_elf_set_dt_needed_name (bfd *, const char *); -extern void bfd_elf_set_dt_needed_soname - (bfd *, const char *); extern const char *bfd_elf_get_dt_soname (bfd *); +extern void bfd_elf_set_dyn_lib_class + (bfd *, int); extern struct bfd_link_needed_list *bfd_elf_get_runpath_list (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_elf32_discard_info - (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_elf64_discard_info +extern bfd_boolean bfd_elf_discard_info (bfd *, struct bfd_link_info *); /* Return an upper bound on the number of bytes required to store a @@ -792,7 +786,7 @@ extern bfd_boolean bfd_elf32_arm_allocat (struct bfd_link_info *); extern bfd_boolean bfd_elf32_arm_process_before_allocation - (bfd *, struct bfd_link_info *, int); + (bfd *, struct bfd_link_info *, int, int); extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking (bfd *, struct bfd_link_info *); diff -uprN binutils-2.15.90.0.1.1/bfd/bfd-in2.h binutils-2.15.90.0.2/bfd/bfd-in2.h --- binutils-2.15.90.0.1.1/bfd/bfd-in2.h 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/bfd-in2.h 2004-04-12 12:56:33.000000000 -0700 @@ -62,6 +62,8 @@ extern "C" { #if @BFD_HOST_64_BIT_DEFINED@ #define BFD_HOST_64_BIT @BFD_HOST_64_BIT@ #define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@ +typedef BFD_HOST_64_BIT bfd_int64_t; +typedef BFD_HOST_U_64_BIT bfd_uint64_t; #endif #if BFD_ARCH_SIZE >= 64 @@ -102,24 +104,6 @@ typedef int bfd_boolean; #define true dont_use_true_in_bfd #endif -/* Support for different sizes of target format ints and addresses. - If the type `long' is at least 64 bits, BFD_HOST_64BIT_LONG will be - set to 1 above. Otherwise, if the host compiler used during - configuration supports long long, this code will use it. - Otherwise, BFD_HOST_64_BIT must be defined above. */ - -#ifndef BFD_HOST_64_BIT -# if BFD_HOST_64BIT_LONG -# define BFD_HOST_64_BIT long -# define BFD_HOST_U_64_BIT unsigned long -# else -# if BFD_HOST_LONG_LONG -# define BFD_HOST_64_BIT long long -# define BFD_HOST_U_64_BIT unsigned long long -# endif /* ! BFD_HOST_LONG_LONG */ -# endif /* ! BFD_HOST_64BIT_LONG */ -#endif /* ! defined (BFD_HOST_64_BIT) */ - #ifdef BFD64 #ifndef BFD_HOST_64_BIT @@ -167,6 +151,15 @@ typedef unsigned long bfd_size_type; #endif /* not BFD64 */ +#ifndef BFD_HOST_64_BIT +/* Fall back on a 32 bit type. The idea is to make these types always + available for function return types, but in the case that + BFD_HOST_64_BIT is undefined such a function should abort or + otherwise signal an error. */ +typedef bfd_signed_vma bfd_int64_t; +typedef bfd_vma bfd_uint64_t; +#endif + /* An offset into a file. BFD always uses the largest possible offset based on the build time availability of fseek, fseeko, or fseeko64. */ typedef @bfd_file_ptr@ file_ptr; @@ -525,29 +518,29 @@ extern bfd_boolean bfd_record_phdr /* Byte swapping routines. */ -bfd_vma bfd_getb64 (const unsigned char *); -bfd_vma bfd_getl64 (const unsigned char *); -bfd_signed_vma bfd_getb_signed_64 (const unsigned char *); -bfd_signed_vma bfd_getl_signed_64 (const unsigned char *); -bfd_vma bfd_getb32 (const unsigned char *); -bfd_vma bfd_getl32 (const unsigned char *); -bfd_signed_vma bfd_getb_signed_32 (const unsigned char *); -bfd_signed_vma bfd_getl_signed_32 (const unsigned char *); -bfd_vma bfd_getb16 (const unsigned char *); -bfd_vma bfd_getl16 (const unsigned char *); -bfd_signed_vma bfd_getb_signed_16 (const unsigned char *); -bfd_signed_vma bfd_getl_signed_16 (const unsigned char *); -void bfd_putb64 (bfd_vma, unsigned char *); -void bfd_putl64 (bfd_vma, unsigned char *); -void bfd_putb32 (bfd_vma, unsigned char *); -void bfd_putl32 (bfd_vma, unsigned char *); -void bfd_putb16 (bfd_vma, unsigned char *); -void bfd_putl16 (bfd_vma, unsigned char *); +bfd_uint64_t bfd_getb64 (const void *); +bfd_uint64_t bfd_getl64 (const void *); +bfd_int64_t bfd_getb_signed_64 (const void *); +bfd_int64_t bfd_getl_signed_64 (const void *); +bfd_vma bfd_getb32 (const void *); +bfd_vma bfd_getl32 (const void *); +bfd_signed_vma bfd_getb_signed_32 (const void *); +bfd_signed_vma bfd_getl_signed_32 (const void *); +bfd_vma bfd_getb16 (const void *); +bfd_vma bfd_getl16 (const void *); +bfd_signed_vma bfd_getb_signed_16 (const void *); +bfd_signed_vma bfd_getl_signed_16 (const void *); +void bfd_putb64 (bfd_uint64_t, void *); +void bfd_putl64 (bfd_uint64_t, void *); +void bfd_putb32 (bfd_vma, void *); +void bfd_putl32 (bfd_vma, void *); +void bfd_putb16 (bfd_vma, void *); +void bfd_putl16 (bfd_vma, void *); /* Byte swapping routines which take size and endiannes as arguments. */ -bfd_vma bfd_get_bits (bfd_byte *, int, bfd_boolean); -void bfd_put_bits (bfd_vma, bfd_byte *, int, bfd_boolean); +bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean); +void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean); /* Externally visible ECOFF routines. */ @@ -613,29 +606,30 @@ struct bfd_link_needed_list const char *name; }; +enum dynamic_lib_link_class { + DYN_NORMAL = 0, + DYN_AS_NEEDED = 1, + DYN_DT_NEEDED = 2 +}; + extern bfd_boolean bfd_elf_record_link_assignment (bfd *, struct bfd_link_info *, const char *, bfd_boolean); extern struct bfd_link_needed_list *bfd_elf_get_needed_list (bfd *, struct bfd_link_info *); extern bfd_boolean bfd_elf_get_bfd_needed_list (bfd *, struct bfd_link_needed_list **); -extern bfd_boolean bfd_elf32_size_dynamic_sections - (bfd *, const char *, const char *, const char *, const char * const *, - struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *); -extern bfd_boolean bfd_elf64_size_dynamic_sections +extern bfd_boolean bfd_elf_size_dynamic_sections (bfd *, const char *, const char *, const char *, const char * const *, struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *); extern void bfd_elf_set_dt_needed_name (bfd *, const char *); -extern void bfd_elf_set_dt_needed_soname - (bfd *, const char *); extern const char *bfd_elf_get_dt_soname (bfd *); +extern void bfd_elf_set_dyn_lib_class + (bfd *, int); extern struct bfd_link_needed_list *bfd_elf_get_runpath_list (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_elf32_discard_info - (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_elf64_discard_info +extern bfd_boolean bfd_elf_discard_info (bfd *, struct bfd_link_info *); /* Return an upper bound on the number of bytes required to store a @@ -799,7 +793,7 @@ extern bfd_boolean bfd_elf32_arm_allocat (struct bfd_link_info *); extern bfd_boolean bfd_elf32_arm_process_before_allocation - (bfd *, struct bfd_link_info *, int); + (bfd *, struct bfd_link_info *, int, int); extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking (bfd *, struct bfd_link_info *); @@ -873,7 +867,7 @@ bfd_boolean bfd_fill_in_gnu_debuglink_se /* Byte swapping macros for user section data. */ #define bfd_put_8(abfd, val, ptr) \ - ((void) (*((unsigned char *) (ptr)) = (unsigned char) (val))) + ((void) (*((unsigned char *) (ptr)) = (val) & 0xff)) #define bfd_put_signed_8 \ bfd_put_8 #define bfd_get_8(abfd, ptr) \ @@ -961,52 +955,24 @@ bfd_boolean bfd_fill_in_gnu_debuglink_se #define bfd_h_get_signed_64(abfd, ptr) \ BFD_SEND (abfd, bfd_h_getx_signed_64, (ptr)) -/* Refinements on the above, which should eventually go away. Save - cluttering the source with (bfd_vma) and (bfd_byte *) casts. */ - -#define H_PUT_64(abfd, val, where) \ - bfd_h_put_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) +/* Aliases for the above, which should eventually go away. */ -#define H_PUT_32(abfd, val, where) \ - bfd_h_put_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_16(abfd, val, where) \ - bfd_h_put_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_8 bfd_h_put_8 - -#define H_PUT_S64(abfd, val, where) \ - bfd_h_put_signed_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_S32(abfd, val, where) \ - bfd_h_put_signed_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_S16(abfd, val, where) \ - bfd_h_put_signed_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_S8 bfd_h_put_signed_8 - -#define H_GET_64(abfd, where) \ - bfd_h_get_64 ((abfd), (bfd_byte *) (where)) - -#define H_GET_32(abfd, where) \ - bfd_h_get_32 ((abfd), (bfd_byte *) (where)) - -#define H_GET_16(abfd, where) \ - bfd_h_get_16 ((abfd), (bfd_byte *) (where)) - -#define H_GET_8 bfd_h_get_8 - -#define H_GET_S64(abfd, where) \ - bfd_h_get_signed_64 ((abfd), (bfd_byte *) (where)) - -#define H_GET_S32(abfd, where) \ - bfd_h_get_signed_32 ((abfd), (bfd_byte *) (where)) - -#define H_GET_S16(abfd, where) \ - bfd_h_get_signed_16 ((abfd), (bfd_byte *) (where)) - -#define H_GET_S8 bfd_h_get_signed_8 +#define H_PUT_64 bfd_h_put_64 +#define H_PUT_32 bfd_h_put_32 +#define H_PUT_16 bfd_h_put_16 +#define H_PUT_8 bfd_h_put_8 +#define H_PUT_S64 bfd_h_put_signed_64 +#define H_PUT_S32 bfd_h_put_signed_32 +#define H_PUT_S16 bfd_h_put_signed_16 +#define H_PUT_S8 bfd_h_put_signed_8 +#define H_GET_64 bfd_h_get_64 +#define H_GET_32 bfd_h_get_32 +#define H_GET_16 bfd_h_get_16 +#define H_GET_8 bfd_h_get_8 +#define H_GET_S64 bfd_h_get_signed_64 +#define H_GET_S32 bfd_h_get_signed_32 +#define H_GET_S16 bfd_h_get_signed_16 +#define H_GET_S8 bfd_h_get_signed_8 /* Extracted from bfdio.c. */ @@ -1739,6 +1705,8 @@ enum bfd_architecture #define bfd_mach_avr3 3 #define bfd_mach_avr4 4 #define bfd_mach_avr5 5 + bfd_arch_cr16c, /* National Semiconductor CompactRISC. */ +#define bfd_mach_cr16c 1 bfd_arch_cris, /* Axis CRIS */ bfd_arch_s390, /* IBM s390 */ #define bfd_mach_s390_31 31 @@ -3377,6 +3345,48 @@ to follow the 16K memory bank of 68HC12 This is the 5 bits of a value. */ BFD_RELOC_M68HC12_5B, +/* NS CR16C Relocations. */ + BFD_RELOC_16C_NUM08, + BFD_RELOC_16C_NUM08_C, + BFD_RELOC_16C_NUM16, + BFD_RELOC_16C_NUM16_C, + BFD_RELOC_16C_NUM32, + BFD_RELOC_16C_NUM32_C, + BFD_RELOC_16C_DISP04, + BFD_RELOC_16C_DISP04_C, + BFD_RELOC_16C_DISP08, + BFD_RELOC_16C_DISP08_C, + BFD_RELOC_16C_DISP16, + BFD_RELOC_16C_DISP16_C, + BFD_RELOC_16C_DISP24, + BFD_RELOC_16C_DISP24_C, + BFD_RELOC_16C_DISP24a, + BFD_RELOC_16C_DISP24a_C, + BFD_RELOC_16C_REG04, + BFD_RELOC_16C_REG04_C, + BFD_RELOC_16C_REG04a, + BFD_RELOC_16C_REG04a_C, + BFD_RELOC_16C_REG14, + BFD_RELOC_16C_REG14_C, + BFD_RELOC_16C_REG16, + BFD_RELOC_16C_REG16_C, + BFD_RELOC_16C_REG20, + BFD_RELOC_16C_REG20_C, + BFD_RELOC_16C_ABS20, + BFD_RELOC_16C_ABS20_C, + BFD_RELOC_16C_ABS24, + BFD_RELOC_16C_ABS24_C, + BFD_RELOC_16C_IMM04, + BFD_RELOC_16C_IMM04_C, + BFD_RELOC_16C_IMM16, + BFD_RELOC_16C_IMM16_C, + BFD_RELOC_16C_IMM20, + BFD_RELOC_16C_IMM20_C, + BFD_RELOC_16C_IMM24, + BFD_RELOC_16C_IMM24_C, + BFD_RELOC_16C_IMM32, + BFD_RELOC_16C_IMM32_C, + /* These relocs are only used within the CRIS assembler. They are not (at present) written to any object files. */ BFD_RELOC_CRIS_BDISP8, @@ -4130,26 +4140,26 @@ typedef struct bfd_target /* Entries for byte swapping for data. These are different from the other entry points, since they don't take a BFD asthe first argument. Certain other handlers could do the same. */ - bfd_vma (*bfd_getx64) (const bfd_byte *); - bfd_signed_vma (*bfd_getx_signed_64) (const bfd_byte *); - void (*bfd_putx64) (bfd_vma, bfd_byte *); - bfd_vma (*bfd_getx32) (const bfd_byte *); - bfd_signed_vma (*bfd_getx_signed_32) (const bfd_byte *); - void (*bfd_putx32) (bfd_vma, bfd_byte *); - bfd_vma (*bfd_getx16) (const bfd_byte *); - bfd_signed_vma (*bfd_getx_signed_16) (const bfd_byte *); - void (*bfd_putx16) (bfd_vma, bfd_byte *); + bfd_uint64_t (*bfd_getx64) (const void *); + bfd_int64_t (*bfd_getx_signed_64) (const void *); + void (*bfd_putx64) (bfd_uint64_t, void *); + bfd_vma (*bfd_getx32) (const void *); + bfd_signed_vma (*bfd_getx_signed_32) (const void *); + void (*bfd_putx32) (bfd_vma, void *); + bfd_vma (*bfd_getx16) (const void *); + bfd_signed_vma (*bfd_getx_signed_16) (const void *); + void (*bfd_putx16) (bfd_vma, void *); /* Byte swapping for the headers. */ - bfd_vma (*bfd_h_getx64) (const bfd_byte *); - bfd_signed_vma (*bfd_h_getx_signed_64) (const bfd_byte *); - void (*bfd_h_putx64) (bfd_vma, bfd_byte *); - bfd_vma (*bfd_h_getx32) (const bfd_byte *); - bfd_signed_vma (*bfd_h_getx_signed_32) (const bfd_byte *); - void (*bfd_h_putx32) (bfd_vma, bfd_byte *); - bfd_vma (*bfd_h_getx16) (const bfd_byte *); - bfd_signed_vma (*bfd_h_getx_signed_16) (const bfd_byte *); - void (*bfd_h_putx16) (bfd_vma, bfd_byte *); + bfd_uint64_t (*bfd_h_getx64) (const void *); + bfd_int64_t (*bfd_h_getx_signed_64) (const void *); + void (*bfd_h_putx64) (bfd_uint64_t, void *); + bfd_vma (*bfd_h_getx32) (const void *); + bfd_signed_vma (*bfd_h_getx_signed_32) (const void *); + void (*bfd_h_putx32) (bfd_vma, void *); + bfd_vma (*bfd_h_getx16) (const void *); + bfd_signed_vma (*bfd_h_getx_signed_16) (const void *); + void (*bfd_h_putx16) (bfd_vma, void *); /* Format dependent routines: these are vectors of entry points within the target vector structure, one for each format to check. */ diff -uprN binutils-2.15.90.0.1.1/bfd/coff-tic54x.c binutils-2.15.90.0.2/bfd/coff-tic54x.c --- binutils-2.15.90.0.1.1/bfd/coff-tic54x.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/coff-tic54x.c 2004-04-12 12:56:33.000000000 -0700 @@ -38,12 +38,6 @@ static bfd_boolean tic54x_set_section_co PARAMS ((bfd *, sec_ptr, const PTR, file_ptr, bfd_size_type)); static reloc_howto_type *coff_tic54x_rtype_to_howto PARAMS ((bfd *, asection *, struct internal_reloc *, struct coff_link_hash_entry *, struct internal_syment *, bfd_vma *)); -static bfd_vma tic54x_getl32 - PARAMS ((const bfd_byte *)); -static void tic54x_putl32 - PARAMS ((bfd_vma, bfd_byte *)); -static bfd_signed_vma tic54x_getl_signed_32 - PARAMS ((const bfd_byte *)); static bfd_boolean tic54x_set_arch_mach PARAMS ((bfd *, enum bfd_architecture, unsigned long)); static reloc_howto_type * tic54x_coff_reloc_type_lookup @@ -61,33 +55,32 @@ static bfd_boolean ticoff_bfd_is_local_l Don't bother with 64-bits, as there aren't any. */ static bfd_vma -tic54x_getl32 (addr) - const bfd_byte *addr; +tic54x_getl32 (const void *p) { + const bfd_byte *addr = p; unsigned long v; v = (unsigned long) addr[2]; v |= (unsigned long) addr[3] << 8; v |= (unsigned long) addr[0] << 16; v |= (unsigned long) addr[1] << 24; - return (bfd_vma) v; + return v; } static void -tic54x_putl32 (data, addr) - bfd_vma data; - bfd_byte *addr; -{ - addr[2] = (bfd_byte)data; - addr[3] = (bfd_byte) (data >> 8); - addr[0] = (bfd_byte) (data >> 16); - addr[1] = (bfd_byte) (data >> 24); +tic54x_putl32 (bfd_vma data, void *p) +{ + bfd_byte *addr = p; + addr[2] = data & 0xff; + addr[3] = (data >> 8) & 0xff; + addr[0] = (data >> 16) & 0xff; + addr[1] = (data >> 24) & 0xff; } -bfd_signed_vma -tic54x_getl_signed_32 (addr) - register const bfd_byte *addr; +static bfd_signed_vma +tic54x_getl_signed_32 (const void *p) { + const bfd_byte *addr = p; unsigned long v; v = (unsigned long) addr[2]; diff -uprN binutils-2.15.90.0.1.1/bfd/config.bfd binutils-2.15.90.0.2/bfd/config.bfd --- binutils-2.15.90.0.1.1/bfd/config.bfd 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/config.bfd 2004-04-12 12:56:33.000000000 -0700 @@ -89,12 +89,17 @@ esac case "${targ}" in mips*-dec-bsd*) - echo "This target is obsolete and has been removed." + echo "This target is obsolete and has been removed." + exit 1 + ;; + + mips*-*-mach3*) + echo "This target is obsolete and has been removed." exit 1 ;; mips*-*-pe*) - echo "This target is obsolete and has been removed." + echo "This target is obsolete and has been removed." exit 1 ;; @@ -306,6 +311,11 @@ case "${targ}" in targ_underscore=yes ;; + cr16c-*-elf*) + targ_defvec=bfd_elf32_cr16c_vec + targ_underscore=yes + ;; + cris-*-*) targ_defvec=cris_aout_vec targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec" @@ -459,6 +469,7 @@ case "${targ}" in i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu) targ_defvec=bfd_elf32_i386_vec targ_selvecs=i386netbsd_vec + targ64_selvecs=bfd_elf64_x86_64_vec ;; i[3-7]86-*-netbsdpe*) targ_defvec=i386pe_vec @@ -493,7 +504,7 @@ case "${targ}" in targ_defvec=bfd_elf64_x86_64_vec targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec" ;; - x86_64-*-netbsd*) + x86_64-*-netbsd* | x86_64-*-openbsd*) targ_defvec=bfd_elf64_x86_64_vec targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" ;; @@ -761,10 +772,6 @@ case "${targ}" in targ_defvec=bfd_elf32_bigmips_vec targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec" ;; - mips*-dec-mach3*) - targ_defvec=aout_mips_little_vec - targ_cflags=-DSTAT_FOR_EXEC - ;; mips*-dec-* | mips*el-*-ecoff*) targ_defvec=ecoff_little_vec targ_selvecs=ecoff_big_vec @@ -791,10 +798,6 @@ case "${targ}" in targ_defvec=ecoff_biglittle_vec targ_selvecs="ecoff_little_vec ecoff_big_vec" ;; - mips*-*-mach3*) - targ_defvec=aout_mips_little_vec - targ_cflags=-DSTAT_FOR_EXEC - ;; mips*-*-sysv4*) targ_defvec=bfd_elf32_tradbigmips_vec targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec" @@ -968,7 +971,7 @@ case "${targ}" in targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" targ_archs="bfd_powerpc_arch bfd_rs6000_arch bfd_i386_arch" ;; - powerpc-*-macos* | powerpc-*-mpw*) + powerpc-*-macos*) targ_defvec=pmac_xcoff_vec ;; powerpc-*-netware*) @@ -1089,7 +1092,12 @@ case "${targ}" in #endif targ_underscore=yes ;; - sh-*-elf* | sh[1234]*-elf* | sh-*-rtemself* | sh-*-kaos*) + sh-*-rtemscoff*) + targ_defvec=shcoff_vec + targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" + targ_underscore=yes + ;; + sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*) targ_defvec=bfd_elf32_sh_vec targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" #ifdef BFD64 @@ -1115,7 +1123,7 @@ case "${targ}" in # compiled correctly. targ_selvecs="$targ_selvecs shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" ;; - sh-*-* | sh-*-rtems*) + sh-*-*) targ_defvec=shcoff_vec targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" targ_underscore=yes diff -uprN binutils-2.15.90.0.1.1/bfd/config.in binutils-2.15.90.0.2/bfd/config.in --- binutils-2.15.90.0.1.1/bfd/config.in 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/config.in 2004-04-12 12:56:33.000000000 -0700 @@ -172,9 +172,15 @@ /* Define if you have the header file. */ #undef HAVE_SYS_PROCFS_H +/* Define if you have the header file. */ +#undef HAVE_SYS_STAT_H + /* Define if you have the header file. */ #undef HAVE_SYS_TIME_H +/* Define if you have the header file. */ +#undef HAVE_SYS_TYPES_H + /* Define if you have the header file. */ #undef HAVE_TIME_H diff -uprN binutils-2.15.90.0.1.1/bfd/configure binutils-2.15.90.0.2/bfd/configure --- binutils-2.15.90.0.1.1/bfd/configure 2004-03-05 17:18:21.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/configure 2004-04-12 12:56:33.000000000 -0700 @@ -919,7 +919,7 @@ fi PACKAGE=bfd -VERSION=2.15.90.0.1.1 +VERSION=2.15.90.0.2 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } @@ -4615,18 +4615,18 @@ EOF if test "x${ac_cv_sizeof_long}" = "x8"; then host64=true - HOST_64BIT_TYPE="long" + BFD_HOST_64BIT_LONG=1 + test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long" + test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long" elif test "x${ac_cv_sizeof_long_long}" = "x8"; then - HOST_64BIT_TYPE="long long" - HOST_U_64BIT_TYPE="unsigned long long" + test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long" + test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long" fi -if test "x${HOST_64BIT_TYPE}" = "xlong"; then - BFD_HOST_64BIT_LONG=1 -elif test "x${HOST_64BIT_TYPE}" != "x"; then +if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then BFD_HOST_64_BIT_DEFINED=1 - BFD_HOST_64_BIT=${HOST_64BIT_TYPE} - BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE} + BFD_HOST_64_BIT="${HOST_64BIT_TYPE}" + BFD_HOST_U_64_BIT="${HOST_U_64BIT_TYPE}" fi @@ -5348,14 +5348,6 @@ if test "${target}" = "${host}"; then COREFILE=trad-core.lo TRAD_HEADER='"hosts/i860mach3.h"' ;; - mips-dec-bsd*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/mipsbsd.h"' - ;; - mips-dec-mach3*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/mipsmach3.h"' - ;; mips-*-netbsd* | mips*-*-openbsd*) COREFILE=netbsd-core.lo ;; @@ -5366,10 +5358,6 @@ if test "${target}" = "${host}"; then mips-sgi-irix4*) COREFILE=irix-core.lo ;; mips-sgi-irix5*) COREFILE=irix-core.lo ;; mips-sgi-irix6*) COREFILE=irix-core.lo ;; - mips-*-mach3*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/mipsmach3.h"' - ;; mips-*-sysv4*) ;; mips-*-sysv* | mips-*-riscos*) COREFILE=trad-core.lo @@ -5436,16 +5424,16 @@ if test "${target}" = "${host}"; then # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE # have c_impl as a member of struct core_dumpx echo $ac_n "checking for c_impl in struct core_dumpx""... $ac_c" 1>&6 -echo "configure:5440: checking for c_impl in struct core_dumpx" >&5 +echo "configure:5428: checking for c_impl in struct core_dumpx" >&5 cat > conftest.$ac_ext < int main() { struct core_dumpx c; c.c_impl = 0; ; return 0; } EOF -if { (eval echo configure:5449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_ST_C_IMPL 1 @@ -5497,7 +5485,9 @@ rm -f conftest* COREFILE=trad-core.lo TRAD_HEADER='"hosts/vaxbsd.h"' ;; - x86_64-*-netbsd*) COREFILE=netbsd-core.lo ;; + x86_64-*-netbsd* | x86_64-*-openbsd*) + COREFILE=netbsd-core.lo + ;; esac case "$COREFILE" in @@ -5520,17 +5510,17 @@ rm -f conftest* do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5524: checking for $ac_hdr" >&5 +echo "configure:5514: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5534: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5558,12 +5548,12 @@ done if test "$ac_cv_header_sys_procfs_h" = yes; then echo $ac_n "checking for prstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5562: checking for prstatus_t in sys/procfs.h" >&5 +echo "configure:5552: checking for prstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prstatus_t=yes else @@ -5594,12 +5584,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus_t" 1>&6 echo $ac_n "checking for prstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5598: checking for prstatus32_t in sys/procfs.h" >&5 +echo "configure:5588: checking for prstatus32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prstatus32_t=yes else @@ -5630,12 +5620,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus32_t" 1>&6 echo $ac_n "checking for prstatus_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5634: checking for prstatus_t.pr_who in sys/procfs.h" >&5 +echo "configure:5624: checking for prstatus_t.pr_who in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5638: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who=yes else @@ -5666,12 +5656,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" 1>&6 echo $ac_n "checking for prstatus32_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5670: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 +echo "configure:5660: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who=yes else @@ -5702,12 +5692,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" 1>&6 echo $ac_n "checking for pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5706: checking for pstatus_t in sys/procfs.h" >&5 +echo "configure:5696: checking for pstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5710: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pstatus_t=yes else @@ -5738,12 +5728,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus_t" 1>&6 echo $ac_n "checking for pxstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5742: checking for pxstatus_t in sys/procfs.h" >&5 +echo "configure:5732: checking for pxstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pxstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pxstatus_t=yes else @@ -5774,12 +5764,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pxstatus_t" 1>&6 echo $ac_n "checking for pstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5778: checking for pstatus32_t in sys/procfs.h" >&5 +echo "configure:5768: checking for pstatus32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5782: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pstatus32_t=yes else @@ -5810,12 +5800,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus32_t" 1>&6 echo $ac_n "checking for prpsinfo_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5814: checking for prpsinfo_t in sys/procfs.h" >&5 +echo "configure:5804: checking for prpsinfo_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5818: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prpsinfo_t=yes else @@ -5846,12 +5836,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo_t" 1>&6 echo $ac_n "checking for prpsinfo32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5850: checking for prpsinfo32_t in sys/procfs.h" >&5 +echo "configure:5840: checking for prpsinfo32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5854: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prpsinfo32_t=yes else @@ -5882,12 +5872,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo32_t" 1>&6 echo $ac_n "checking for psinfo_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5886: checking for psinfo_t in sys/procfs.h" >&5 +echo "configure:5876: checking for psinfo_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5890: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_psinfo_t=yes else @@ -5918,12 +5908,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo_t" 1>&6 echo $ac_n "checking for psinfo32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5922: checking for psinfo32_t in sys/procfs.h" >&5 +echo "configure:5912: checking for psinfo32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5926: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_psinfo32_t=yes else @@ -5954,12 +5944,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo32_t" 1>&6 echo $ac_n "checking for lwpstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5958: checking for lwpstatus_t in sys/procfs.h" >&5 +echo "configure:5948: checking for lwpstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5962: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_lwpstatus_t=yes else @@ -5990,12 +5980,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpstatus_t" 1>&6 echo $ac_n "checking for lwpxstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5994: checking for lwpxstatus_t in sys/procfs.h" >&5 +echo "configure:5984: checking for lwpxstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpxstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5998: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_lwpxstatus_t=yes else @@ -6026,12 +6016,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpxstatus_t" 1>&6 echo $ac_n "checking for lwpstatus_t.pr_context in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:6030: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5 +echo "configure:6020: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context=yes else @@ -6062,12 +6052,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" 1>&6 echo $ac_n "checking for lwpstatus_t.pr_reg in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:6066: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5 +echo "configure:6056: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6070: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg=yes else @@ -6098,12 +6088,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" 1>&6 echo $ac_n "checking for win32_pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:6102: checking for win32_pstatus_t in sys/procfs.h" >&5 +echo "configure:6092: checking for win32_pstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_win32_pstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6106: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_win32_pstatus_t=yes else @@ -6272,8 +6262,6 @@ do aout0_big_vec) tb="$tb aout0.lo aout32.lo" ;; aout_arm_big_vec) tb="$tb aout-arm.lo aout32.lo" ;; aout_arm_little_vec) tb="$tb aout-arm.lo aout32.lo" ;; - aout_mips_big_vec) tb="$tb mipsbsd.lo aout32.lo" ;; - aout_mips_little_vec) tb="$tb mipsbsd.lo aout32.lo" ;; apollocoff_vec) tb="$tb coff-apollo.lo" ;; arm_epoc_pe_big_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; arm_epoc_pe_little_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; @@ -6297,6 +6285,7 @@ do bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;; bfd_elf32_bigarm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;; bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;; bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;; @@ -6577,17 +6566,17 @@ case ${host64}-${target64}-${want64} in wordsize=64 bfd_libs='$(BFD64_LIBS) $(BFD32_LIBS)' all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)' - if test -z "$GCC" && test "$BFD_HOST_64BIT_LONG" = "0" && test "$BFD_HOST_64_BIT_DEFINED" = "0"; then + if test $BFD_HOST_64_BIT_DEFINED = 0; then echo "configure: warning: You have requested a 64 bit BFD configuration, but" 1>&2 echo "configure: warning: your compiler may not have a 64 bit integral type" 1>&2 fi if test -n "$GCC" ; then bad_64bit_gcc=no; echo $ac_n "checking for gcc version with buggy 64-bit support""... $ac_c" 1>&6 -echo "configure:6588: checking for gcc version with buggy 64-bit support" >&5 +echo "configure:6577: checking for gcc version with buggy 64-bit support" >&5 # Add more tests for gcc versions with non-working 64-bit support here. cat > conftest.$ac_ext <&6 -echo "configure:6633: checking for $ac_func" >&5 +echo "configure:6622: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6681,19 +6670,15 @@ else fi done -echo $ac_n "checking file_ptr type""... $ac_c" 1>&6 -echo "configure:6686: checking file_ptr type" >&5 -bfd_file_ptr="long" -bfd_ufile_ptr="unsigned long" if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then echo $ac_n "checking size of off_t""... $ac_c" 1>&6 -echo "configure:6691: checking size of off_t" >&5 +echo "configure:6676: checking size of off_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence. cat > conftest.$ac_ext < @@ -6703,7 +6688,7 @@ int main() { switch (0) case 0: case (sizeof (off_t) == $ac_size):; ; return 0; } EOF -if { (eval echo configure:6707: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6692: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sizeof_off_t=$ac_size else @@ -6725,12 +6710,13 @@ cat >> confdefs.h <&6 +echo "configure:6716: checking file_ptr type" >&5 +bfd_file_ptr="long" +bfd_ufile_ptr="unsigned long" +if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \ + -o x"${ac_cv_sizeof_off_t}" = x8; then bfd_file_ptr=BFD_HOST_64_BIT bfd_ufile_ptr=BFD_HOST_U_64_BIT fi @@ -6751,17 +6737,17 @@ for ac_hdr in stdlib.h unistd.h sys/stat do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6755: checking for $ac_hdr" >&5 +echo "configure:6741: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6751: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6790,12 +6776,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6794: checking for $ac_func" >&5 +echo "configure:6780: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6843,7 +6829,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:6847: checking for working mmap" >&5 +echo "configure:6833: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6851,7 +6837,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -7029,12 +7015,12 @@ fi for ac_func in madvise mprotect do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7033: checking for $ac_func" >&5 +echo "configure:7019: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else diff -uprN binutils-2.15.90.0.1.1/bfd/configure.in binutils-2.15.90.0.2/bfd/configure.in --- binutils-2.15.90.0.1.1/bfd/configure.in 2004-03-05 17:18:21.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/configure.in 2004-04-12 12:56:33.000000000 -0700 @@ -7,7 +7,7 @@ AC_INIT(libbfd.c) AC_CANONICAL_SYSTEM AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.15.90.0.1.1) +AM_INIT_AUTOMAKE(bfd, 2.15.90.0.2) # Uncomment the next line to remove the date from the reported bfd version #is_release=y @@ -132,18 +132,18 @@ fi AC_COMPILE_CHECK_SIZEOF(long) if test "x${ac_cv_sizeof_long}" = "x8"; then host64=true - HOST_64BIT_TYPE="long" + BFD_HOST_64BIT_LONG=1 + test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long" + test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long" elif test "x${ac_cv_sizeof_long_long}" = "x8"; then - HOST_64BIT_TYPE="long long" - HOST_U_64BIT_TYPE="unsigned long long" + test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long" + test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long" fi -if test "x${HOST_64BIT_TYPE}" = "xlong"; then - BFD_HOST_64BIT_LONG=1 -elif test "x${HOST_64BIT_TYPE}" != "x"; then +if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then BFD_HOST_64_BIT_DEFINED=1 - BFD_HOST_64_BIT=${HOST_64BIT_TYPE} - BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE} + BFD_HOST_64_BIT="${HOST_64BIT_TYPE}" + BFD_HOST_U_64_BIT="${HOST_U_64BIT_TYPE}" fi AC_SUBST(BFD_HOST_64BIT_LONG) @@ -272,14 +272,6 @@ changequote([,])dnl COREFILE=trad-core.lo TRAD_HEADER='"hosts/i860mach3.h"' ;; - mips-dec-bsd*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/mipsbsd.h"' - ;; - mips-dec-mach3*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/mipsmach3.h"' - ;; mips-*-netbsd* | mips*-*-openbsd*) COREFILE=netbsd-core.lo ;; @@ -290,10 +282,6 @@ changequote([,])dnl mips-sgi-irix4*) COREFILE=irix-core.lo ;; mips-sgi-irix5*) COREFILE=irix-core.lo ;; mips-sgi-irix6*) COREFILE=irix-core.lo ;; - mips-*-mach3*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/mipsmach3.h"' - ;; mips-*-sysv4*) ;; mips-*-sysv* | mips-*-riscos*) COREFILE=trad-core.lo @@ -405,7 +393,9 @@ changequote([,])dnl COREFILE=trad-core.lo TRAD_HEADER='"hosts/vaxbsd.h"' ;; - x86_64-*-netbsd*) COREFILE=netbsd-core.lo ;; + x86_64-*-netbsd* | x86_64-*-openbsd*) + COREFILE=netbsd-core.lo + ;; esac case "$COREFILE" in @@ -581,8 +571,6 @@ do aout0_big_vec) tb="$tb aout0.lo aout32.lo" ;; aout_arm_big_vec) tb="$tb aout-arm.lo aout32.lo" ;; aout_arm_little_vec) tb="$tb aout-arm.lo aout32.lo" ;; - aout_mips_big_vec) tb="$tb mipsbsd.lo aout32.lo" ;; - aout_mips_little_vec) tb="$tb mipsbsd.lo aout32.lo" ;; apollocoff_vec) tb="$tb coff-apollo.lo" ;; arm_epoc_pe_big_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; arm_epoc_pe_little_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; @@ -606,6 +594,7 @@ do bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;; bfd_elf32_bigarm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;; bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;; bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;; @@ -886,7 +875,7 @@ case ${host64}-${target64}-${want64} in wordsize=64 bfd_libs='$(BFD64_LIBS) $(BFD32_LIBS)' all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)' - if test -z "$GCC" && test "$BFD_HOST_64BIT_LONG" = "0" && test "$BFD_HOST_64_BIT_DEFINED" = "0"; then + if test $BFD_HOST_64_BIT_DEFINED = 0; then AC_MSG_WARN([You have requested a 64 bit BFD configuration, but]) AC_MSG_WARN([your compiler may not have a 64 bit integral type]) fi @@ -923,17 +912,14 @@ AC_SUBST(bfd_default_target_size) # Hopefully a reasonable assumption since fseeko et.al. should be # upward compatible. AC_CHECK_FUNCS(ftello ftello64 fseeko fseeko64) -AC_MSG_CHECKING([file_ptr type]) -bfd_file_ptr="long" -bfd_ufile_ptr="unsigned long" if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then AC_COMPILE_CHECK_SIZEOF(off_t) - if test "x${ac_cv_sizeof_off_t}" = "x8"; then - bfd_file_ptr=BFD_HOST_64_BIT - bfd_ufile_ptr=BFD_HOST_U_64_BIT - fi fi -if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes; then +AC_MSG_CHECKING([file_ptr type]) +bfd_file_ptr="long" +bfd_ufile_ptr="unsigned long" +if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \ + -o x"${ac_cv_sizeof_off_t}" = x8; then bfd_file_ptr=BFD_HOST_64_BIT bfd_ufile_ptr=BFD_HOST_U_64_BIT fi diff -uprN binutils-2.15.90.0.1.1/bfd/cpu-cr16c.c binutils-2.15.90.0.2/bfd/cpu-cr16c.c --- binutils-2.15.90.0.1.1/bfd/cpu-cr16c.c 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/cpu-cr16c.c 2004-04-12 12:56:33.000000000 -0700 @@ -0,0 +1,38 @@ +/* BFD support for the CR16C processor. + Copyright 2004 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + 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. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" + +const bfd_arch_info_type bfd_cr16c_arch = + { + 16, /* 16 bits in a word. */ + 32, /* 32 bits in an address. */ + 8, /* 8 bits in a byte. */ + bfd_arch_cr16c, + bfd_mach_cr16c, + "cr16c", + "cr16c", + 1, + TRUE, /* The one and only. */ + bfd_default_compatible, + bfd_default_scan , + 0, + }; diff -uprN binutils-2.15.90.0.1.1/bfd/doc/ChangeLog binutils-2.15.90.0.2/bfd/doc/ChangeLog --- binutils-2.15.90.0.1.1/bfd/doc/ChangeLog 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/doc/ChangeLog 2004-04-12 12:56:34.000000000 -0700 @@ -1,3 +1,10 @@ +2004-03-27 Alan Modra + + * bfdint.texi: Remove all mention of elflink.h. + +2004-03-19 Alan Modra + + * Makefile.in: Regenerate. For older changes see ChangeLog-9103 diff -uprN binutils-2.15.90.0.1.1/bfd/doc/Makefile.in binutils-2.15.90.0.2/bfd/doc/Makefile.in --- binutils-2.15.90.0.1.1/bfd/doc/Makefile.in 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/doc/Makefile.in 2004-04-12 12:56:34.000000000 -0700 @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -117,8 +117,10 @@ WIN32LIBADD = @WIN32LIBADD@ all_backends = @all_backends@ bfd_backends = @bfd_backends@ bfd_default_target_size = @bfd_default_target_size@ +bfd_file_ptr = @bfd_file_ptr@ bfd_libs = @bfd_libs@ bfd_machines = @bfd_machines@ +bfd_ufile_ptr = @bfd_ufile_ptr@ bfd_version = @bfd_version@ bfd_version_string = @bfd_version_string@ bfdincludedir = @bfdincludedir@ diff -uprN binutils-2.15.90.0.1.1/bfd/doc/bfdint.texi binutils-2.15.90.0.2/bfd/doc/bfdint.texi --- binutils-2.15.90.0.1.1/bfd/doc/bfdint.texi 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/doc/bfdint.texi 2004-04-12 12:56:34.000000000 -0700 @@ -1073,11 +1073,6 @@ sizes. Like @file{elfcode.h}, but for functions that are specific to ELF core files. This is included only by @file{elfcode.h}. -@item elflink.h -@cindex @file{elflink.h} -Like @file{elfcode.h}, but for functions used by the ELF linker. This -is included only by @file{elfcode.h}. - @item elfxx-target.h @cindex @file{elfxx-target.h} This file is the source for the generated files @file{elf32-target.h} @@ -1482,8 +1477,7 @@ external data. @file{elfcode.h} is comp @file{elfcode.h} includes functions to swap the ELF structures in and out of external form, as well as a few more complex functions. -Linker support is found in @file{elflink.c} and @file{elflink.h}. The -latter file is compiled twice, for both 32 and 64 bit support. The +Linker support is found in @file{elflink.c}. The linker support is only used if the processor specific file defines @samp{elf_backend_relocate_section}, which is required to relocate the section contents. If that macro is not defined, the generic linker code diff -uprN binutils-2.15.90.0.1.1/bfd/dwarf2.c binutils-2.15.90.0.2/bfd/dwarf2.c --- binutils-2.15.90.0.1.1/bfd/dwarf2.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/dwarf2.c 2004-04-12 12:56:33.000000000 -0700 @@ -61,8 +61,8 @@ struct attribute { char *str; struct dwarf_block *blk; - bfd_vma val; - bfd_signed_vma sval; + bfd_uint64_t val; + bfd_int64_t sval; } u; }; @@ -230,7 +230,7 @@ read_4_bytes (bfd *abfd, char *buf) return bfd_get_32 (abfd, buf); } -static bfd_vma +static bfd_uint64_t read_8_bytes (bfd *abfd, char *buf) { return bfd_get_64 (abfd, buf); @@ -268,7 +268,7 @@ read_indirect_string (struct comp_unit* char *buf, unsigned int *bytes_read_ptr) { - bfd_vma offset; + bfd_uint64_t offset; struct dwarf2_debug *stash = unit->stash; if (unit->offset_size == 4) @@ -378,7 +378,7 @@ read_signed_leb128 (bfd *abfd ATTRIBUTE_ /* END VERBATIM */ -static bfd_vma +static bfd_uint64_t read_address (struct comp_unit *unit, char *buf) { switch (unit->addr_size) @@ -422,7 +422,7 @@ lookup_abbrev (unsigned int number, stru in a hash table. */ static struct abbrev_info** -read_abbrevs (bfd *abfd, bfd_vma offset, struct dwarf2_debug *stash) +read_abbrevs (bfd *abfd, bfd_uint64_t offset, struct dwarf2_debug *stash) { struct abbrev_info **abbrevs; char *abbrev_ptr; @@ -1436,7 +1436,7 @@ parse_comp_unit (bfd *abfd, { struct comp_unit* unit; unsigned int version; - bfd_vma abbrev_offset = 0; + bfd_uint64_t abbrev_offset = 0; unsigned int addr_size; struct abbrev_info** abbrevs; unsigned int abbrev_number, bytes_read, i; diff -uprN binutils-2.15.90.0.1.1/bfd/ecoffswap.h binutils-2.15.90.0.2/bfd/ecoffswap.h --- binutils-2.15.90.0.1.1/bfd/ecoffswap.h 2002-09-27 08:33:09.000000000 -0700 +++ binutils-2.15.90.0.2/bfd/ecoffswap.h 2004-04-12 12:56:33.000000000 -0700 @@ -324,8 +324,6 @@ ecoff_swap_fdr_out (abfd, intern_copy, e #endif } -#ifndef MPW_C - /* Swap in the procedure descriptor record. */ static void @@ -454,78 +452,6 @@ ecoff_swap_pdr_out (abfd, intern_copy, e #endif } -#else /* MPW_C */ -/* Same routines, but with ECOFF_64 code removed, so ^&%$#&! MPW C doesn't - corrupt itself and then freak out. */ -/* Swap in the procedure descriptor record. */ - -static void -ecoff_swap_pdr_in (abfd, ext_copy, intern) - bfd *abfd; - PTR ext_copy; - PDR *intern; -{ - struct pdr_ext ext[1]; - - *ext = *(struct pdr_ext *) ext_copy; - - intern->adr = ECOFF_GET_OFF (abfd, ext->p_adr); - intern->isym = H_GET_32 (abfd, ext->p_isym); - intern->iline = H_GET_32 (abfd, ext->p_iline); - intern->regmask = H_GET_32 (abfd, ext->p_regmask); - intern->regoffset = H_GET_S32 (abfd, ext->p_regoffset); - intern->iopt = H_GET_S32 (abfd, ext->p_iopt); - intern->fregmask = H_GET_32 (abfd, ext->p_fregmask); - intern->fregoffset = H_GET_S32 (abfd, ext->p_fregoffset); - intern->frameoffset = H_GET_S32 (abfd, ext->p_frameoffset); - intern->framereg = H_GET_16 (abfd, ext->p_framereg); - intern->pcreg = H_GET_16 (abfd, ext->p_pcreg); - intern->lnLow = H_GET_32 (abfd, ext->p_lnLow); - intern->lnHigh = H_GET_32 (abfd, ext->p_lnHigh); - intern->cbLineOffset = ECOFF_GET_OFF (abfd, ext->p_cbLineOffset); - -#ifdef TEST - if (memcmp ((char *)ext, (char *)intern, sizeof (*intern)) != 0) - abort (); -#endif -} - -/* Swap out the procedure descriptor record. */ - -static void -ecoff_swap_pdr_out (abfd, intern_copy, ext_ptr) - bfd *abfd; - const PDR *intern_copy; - PTR ext_ptr; -{ - struct pdr_ext *ext = (struct pdr_ext *) ext_ptr; - PDR intern[1]; - - /* Make it reasonable to do in-place. */ - *intern = *intern_copy; - - ECOFF_PUT_OFF (abfd, intern->adr, ext->p_adr); - H_PUT_32 (abfd, intern->isym, ext->p_isym); - H_PUT_32 (abfd, intern->iline, ext->p_iline); - H_PUT_32 (abfd, intern->regmask, ext->p_regmask); - H_PUT_32 (abfd, intern->regoffset, ext->p_regoffset); - H_PUT_32 (abfd, intern->iopt, ext->p_iopt); - H_PUT_32 (abfd, intern->fregmask, ext->p_fregmask); - H_PUT_32 (abfd, intern->fregoffset, ext->p_fregoffset); - H_PUT_32 (abfd, intern->frameoffset, ext->p_frameoffset); - H_PUT_16 (abfd, intern->framereg, ext->p_framereg); - H_PUT_16 (abfd, intern->pcreg, ext->p_pcreg); - H_PUT_32 (abfd, intern->lnLow, ext->p_lnLow); - H_PUT_32 (abfd, intern->lnHigh, ext->p_lnHigh); - ECOFF_PUT_OFF (abfd, intern->cbLineOffset, ext->p_cbLineOffset); - -#ifdef TEST - if (memcmp ((char *)ext, (char *)intern, sizeof (*intern)) != 0) - abort (); -#endif -} -#endif /* MPW_C */ - /* Swap in a symbol record. */ static void diff -uprN binutils-2.15.90.0.1.1/bfd/elf-bfd.h binutils-2.15.90.0.2/bfd/elf-bfd.h --- binutils-2.15.90.0.1.1/bfd/elf-bfd.h 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf-bfd.h 2004-04-12 12:56:33.000000000 -0700 @@ -1,6 +1,6 @@ /* BFD back-end data structures for ELF files. Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003 Free Software Foundation, Inc. + 2002, 2003, 2004 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -492,6 +492,7 @@ struct elf_reloc_cookie size_t locsymcount; size_t extsymoff; struct elf_link_hash_entry **sym_hashes; + int r_sym_shift; bfd_boolean bad_symtab; }; @@ -625,7 +626,7 @@ struct elf_backend_data indices, and must set at least *FLAGS and *SEC for each processor dependent case; failure to do so will cause a link error. */ bfd_boolean (*elf_add_symbol_hook) - (bfd *abfd, struct bfd_link_info *info, const Elf_Internal_Sym *, + (bfd *abfd, struct bfd_link_info *info, Elf_Internal_Sym *, const char **name, flagword *flags, asection **sec, bfd_vma *value); /* If this field is not NULL, it is called by the elf_link_output_sym @@ -1132,9 +1133,6 @@ struct elf_obj_tdata bfd_vma gp; /* The gp value */ unsigned int gp_size; /* The gp size */ - Elf_Internal_Shdr **group_sect_ptr; - int num_group; - /* Information grabbed from an elf core file. */ int core_signal; int core_pid; @@ -1142,10 +1140,6 @@ struct elf_obj_tdata char* core_program; char* core_command; - /* This is set to TRUE if the object was created by the backend - linker. */ - bfd_boolean linker; - /* A mapping from external symbols to entries in the linker hash table, used when linking. This is indexed by the symbol index minus the sh_info field of the symbol table header. */ @@ -1171,21 +1165,6 @@ struct elf_obj_tdata one. */ const char *dt_name; - /* When a reference in a regular object is resolved by a shared - object is loaded into via the DT_NEEDED entries by the linker - ELF emulation code, we need to add the shared object to the - DT_NEEDED list of the resulting binary to indicate the dependency - as if the -l option is passed to the linker. This field holds the - name of the loaded shared object. */ - const char *dt_soname; - - /* Irix 5 often screws up the symbol table, sorting local symbols - after global symbols. This flag is set if the symbol table in - this BFD appears to be screwed up. If it is, we ignore the - sh_info field in the symbol table header, and always read all the - symbols. */ - bfd_boolean bad_symtab; - /* Records the result of `get_program_header_size'. */ bfd_size_type program_header_size; @@ -1213,8 +1192,8 @@ struct elf_obj_tdata created. */ asection *eh_frame_hdr; - /* Used to determine if the e_flags field has been initialized */ - bfd_boolean flags_init; + Elf_Internal_Shdr **group_sect_ptr; + int num_group; /* Number of symbol version definitions we are about to emit. */ unsigned int cverdefs; @@ -1237,6 +1216,25 @@ struct elf_obj_tdata asymbol *elf_text_symbol; asection *elf_data_section; asection *elf_text_section; + + /* Whether a dyanmic object was specified normally on the linker + command line, or was specified when --as-needed was in effect, + or was found via a DT_NEEDED entry. */ + enum dynamic_lib_link_class dyn_lib_class; + + /* This is set to TRUE if the object was created by the backend + linker. */ + bfd_boolean linker; + + /* Irix 5 often screws up the symbol table, sorting local symbols + after global symbols. This flag is set if the symbol table in + this BFD appears to be screwed up. If it is, we ignore the + sh_info field in the symbol table header, and always read all the + symbols. */ + bfd_boolean bad_symtab; + + /* Used to determine if the e_flags field has been initialized */ + bfd_boolean flags_init; }; #define elf_tdata(bfd) ((bfd) -> tdata.elf_obj_data) @@ -1263,7 +1261,7 @@ struct elf_obj_tdata #define elf_local_got_offsets(bfd) (elf_tdata(bfd) -> local_got.offsets) #define elf_local_got_ents(bfd) (elf_tdata(bfd) -> local_got.ents) #define elf_dt_name(bfd) (elf_tdata(bfd) -> dt_name) -#define elf_dt_soname(bfd) (elf_tdata(bfd) -> dt_soname) +#define elf_dyn_lib_class(bfd) (elf_tdata(bfd) -> dyn_lib_class) #define elf_bad_symtab(bfd) (elf_tdata(bfd) -> bad_symtab) #define elf_flags_init(bfd) (elf_tdata(bfd) -> flags_init) @@ -1311,9 +1309,6 @@ extern void bfd_elf_print_symbol bfd_elf_string_from_elf_section (abfd, elf_elfheader(abfd)->e_shstrndx, \ strindex) -#define bfd_elf32_print_symbol bfd_elf_print_symbol -#define bfd_elf64_print_symbol bfd_elf_print_symbol - extern void _bfd_elf_sprintf_vma (bfd *, char *, bfd_vma); extern void _bfd_elf_fprintf_vma @@ -1479,12 +1474,12 @@ extern bfd_boolean _bfd_elf_maybe_strip_ extern bfd_boolean _bfd_elf_merge_symbol (bfd *, struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection **, bfd_vma *, struct elf_link_hash_entry **, bfd_boolean *, - bfd_boolean *, bfd_boolean *, bfd_boolean *, bfd_boolean); + bfd_boolean *, bfd_boolean *, bfd_boolean *); extern bfd_boolean _bfd_elf_add_default_symbol (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, const char *, Elf_Internal_Sym *, asection **, bfd_vma *, - bfd_boolean *, bfd_boolean, bfd_boolean); + bfd_boolean *, bfd_boolean); extern bfd_boolean _bfd_elf_export_symbol (struct elf_link_hash_entry *, void *); @@ -1495,8 +1490,6 @@ extern bfd_boolean _bfd_elf_link_find_ve extern bfd_boolean _bfd_elf_link_assign_sym_version (struct elf_link_hash_entry *, void *); -extern bfd_boolean _bfd_elf_link_record_dynamic_symbol - (struct bfd_link_info *, struct elf_link_hash_entry *); extern long _bfd_elf_link_lookup_local_dynindx (struct bfd_link_info *, bfd *, long); extern bfd_boolean _bfd_elf_compute_section_file_positions @@ -1547,9 +1540,6 @@ extern bfd_boolean _bfd_elf_dynamic_symb extern bfd_boolean _bfd_elf_symbol_refs_local_p (struct elf_link_hash_entry *, struct bfd_link_info *, bfd_boolean); -extern bfd_boolean _bfd_elf_link_add_archive_symbols - (bfd *, struct bfd_link_info *); - extern const bfd_target *bfd_elf32_object_p (bfd *); extern const bfd_target *bfd_elf32_core_file_p @@ -1561,11 +1551,6 @@ extern int bfd_elf32_core_file_failing_s extern bfd_boolean bfd_elf32_core_file_matches_executable_p (bfd *, bfd *); -extern bfd_boolean bfd_elf32_bfd_link_add_symbols - (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_elf32_bfd_final_link - (bfd *, struct bfd_link_info *); - extern void bfd_elf32_swap_symbol_in (bfd *, const void *, const void *, Elf_Internal_Sym *); extern void bfd_elf32_swap_symbol_out @@ -1596,8 +1581,6 @@ extern void bfd_elf32_write_relocs (bfd *, asection *, void *); extern bfd_boolean bfd_elf32_slurp_reloc_table (bfd *, asection *, asymbol **, bfd_boolean); -extern bfd_boolean bfd_elf32_add_dynamic_entry - (struct bfd_link_info *, bfd_vma, bfd_vma); extern const bfd_target *bfd_elf64_object_p (bfd *); @@ -1609,10 +1592,6 @@ extern int bfd_elf64_core_file_failing_s (bfd *); extern bfd_boolean bfd_elf64_core_file_matches_executable_p (bfd *, bfd *); -extern bfd_boolean bfd_elf64_bfd_link_add_symbols - (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_elf64_bfd_final_link - (bfd *, struct bfd_link_info *); extern void bfd_elf64_swap_symbol_in (bfd *, const void *, const void *, Elf_Internal_Sym *); @@ -1644,20 +1623,17 @@ extern void bfd_elf64_write_relocs (bfd *, asection *, void *); extern bfd_boolean bfd_elf64_slurp_reloc_table (bfd *, asection *, asymbol **, bfd_boolean); -extern bfd_boolean bfd_elf64_add_dynamic_entry + +extern bfd_boolean bfd_elf_link_add_symbols + (bfd *, struct bfd_link_info *); +extern bfd_boolean _bfd_elf_add_dynamic_entry (struct bfd_link_info *, bfd_vma, bfd_vma); -#define bfd_elf32_link_record_dynamic_symbol \ - _bfd_elf_link_record_dynamic_symbol -#define bfd_elf64_link_record_dynamic_symbol \ - _bfd_elf_link_record_dynamic_symbol +extern bfd_boolean bfd_elf_link_record_dynamic_symbol + (struct bfd_link_info *, struct elf_link_hash_entry *); -extern int elf_link_record_local_dynamic_symbol +extern int bfd_elf_link_record_local_dynamic_symbol (struct bfd_link_info *, bfd *, long); -#define _bfd_elf32_link_record_local_dynamic_symbol \ - elf_link_record_local_dynamic_symbol -#define _bfd_elf64_link_record_local_dynamic_symbol \ - elf_link_record_local_dynamic_symbol extern bfd_boolean _bfd_elf_close_and_cleanup (bfd *); @@ -1665,31 +1641,25 @@ extern bfd_reloc_status_type _bfd_elf_re (bfd *, arelent *, struct bfd_symbol *, void *, asection *, bfd *, char **); -extern bfd_boolean _bfd_elf32_gc_sections +extern bfd_boolean bfd_elf_final_link (bfd *, struct bfd_link_info *); -extern bfd_boolean _bfd_elf32_gc_common_finalize_got_offsets - (bfd *, struct bfd_link_info *); -extern bfd_boolean _bfd_elf32_gc_common_final_link + +extern bfd_boolean bfd_elf_gc_sections (bfd *, struct bfd_link_info *); -extern bfd_boolean _bfd_elf32_gc_record_vtinherit + +extern bfd_boolean bfd_elf_gc_record_vtinherit (bfd *, asection *, struct elf_link_hash_entry *, bfd_vma); -extern bfd_boolean _bfd_elf32_gc_record_vtentry + +extern bfd_boolean bfd_elf_gc_record_vtentry (bfd *, asection *, struct elf_link_hash_entry *, bfd_vma); -extern bfd_boolean _bfd_elf64_gc_sections - (bfd *, struct bfd_link_info *); -extern bfd_boolean _bfd_elf64_gc_common_finalize_got_offsets +extern bfd_boolean bfd_elf_gc_common_finalize_got_offsets (bfd *, struct bfd_link_info *); -extern bfd_boolean _bfd_elf64_gc_common_final_link + +extern bfd_boolean bfd_elf_gc_common_final_link (bfd *, struct bfd_link_info *); -extern bfd_boolean _bfd_elf64_gc_record_vtinherit - (bfd *, asection *, struct elf_link_hash_entry *, bfd_vma); -extern bfd_boolean _bfd_elf64_gc_record_vtentry - (bfd *, asection *, struct elf_link_hash_entry *, bfd_vma); -extern bfd_boolean _bfd_elf32_reloc_symbol_deleted_p - (bfd_vma, void *); -extern bfd_boolean _bfd_elf64_reloc_symbol_deleted_p +extern bfd_boolean bfd_elf_reloc_symbol_deleted_p (bfd_vma, void *); /* Exported interface for writing elf corefile notes. */ @@ -1720,60 +1690,73 @@ extern bfd *_bfd_elf64_bfd_from_remote_m extern bfd_boolean _sh_elf_set_mach_from_flags (bfd *); +/* This is the condition under which finish_dynamic_symbol will be called. + If our finish_dynamic_symbol isn't called, we'll need to do something + about initializing any .plt and .got entries in relocate_section. */ +#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ + ((DYN) \ + && ((SHARED) \ + || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ + && ((H)->dynindx != -1 \ + || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) + /* This macro is to avoid lots of duplicated code in the body of xxx_relocate_section() in the various elfxx-xxxx.c files. */ -#define RELOC_FOR_GLOBAL_SYMBOL(h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned) \ - do \ - { \ - /* It seems this can happen with erroneous or unsupported \ - input (mixing a.out and elf in an archive, for example.) */ \ - if (sym_hashes == NULL) \ - return FALSE; \ - \ - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; \ - \ - while (h->root.type == bfd_link_hash_indirect \ - || h->root.type == bfd_link_hash_warning) \ - h = (struct elf_link_hash_entry *) h->root.u.i.link; \ - \ - warned = FALSE; \ - unresolved_reloc = FALSE; \ - relocation = 0; \ - if (h->root.type == bfd_link_hash_defined \ - || h->root.type == bfd_link_hash_defweak) \ - { \ - sec = h->root.u.def.section; \ - if (sec == NULL \ - || sec->output_section == NULL) \ - /* Set a flag that will be cleared later if we find a \ - relocation value for this symbol. output_section \ - is typically NULL for symbols satisfied by a shared \ - library. */ \ - unresolved_reloc = TRUE; \ - else \ - relocation = (h->root.u.def.value \ - + sec->output_section->vma \ - + sec->output_offset); \ - } \ - else if (h->root.type == bfd_link_hash_undefweak) \ - ; \ - else if (!info->executable \ - && info->unresolved_syms_in_objects == RM_IGNORE \ - && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) \ - ; \ - else \ - { \ - if (! info->callbacks->undefined_symbol \ - (info, h->root.root.string, input_bfd, \ - input_section, rel->r_offset, \ - ((info->shared && info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR) \ - || (!info->shared && info->unresolved_syms_in_objects == RM_GENERATE_ERROR) \ - || ELF_ST_VISIBILITY (h->other)) \ - )) \ - return FALSE; \ - warned = TRUE; \ - } \ - } \ +#define RELOC_FOR_GLOBAL_SYMBOL(info, input_bfd, input_section, rel, \ + r_symndx, symtab_hdr, sym_hashes, \ + h, sec, relocation, \ + unresolved_reloc, warned) \ + do \ + { \ + /* It seems this can happen with erroneous or unsupported \ + input (mixing a.out and elf in an archive, for example.) */ \ + if (sym_hashes == NULL) \ + return FALSE; \ + \ + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; \ + \ + while (h->root.type == bfd_link_hash_indirect \ + || h->root.type == bfd_link_hash_warning) \ + h = (struct elf_link_hash_entry *) h->root.u.i.link; \ + \ + warned = FALSE; \ + unresolved_reloc = FALSE; \ + relocation = 0; \ + if (h->root.type == bfd_link_hash_defined \ + || h->root.type == bfd_link_hash_defweak) \ + { \ + sec = h->root.u.def.section; \ + if (sec == NULL \ + || sec->output_section == NULL) \ + /* Set a flag that will be cleared later if we find a \ + relocation value for this symbol. output_section \ + is typically NULL for symbols satisfied by a shared \ + library. */ \ + unresolved_reloc = TRUE; \ + else \ + relocation = (h->root.u.def.value \ + + sec->output_section->vma \ + + sec->output_offset); \ + } \ + else if (h->root.type == bfd_link_hash_undefweak) \ + ; \ + else if (info->unresolved_syms_in_objects == RM_IGNORE \ + && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) \ + ; \ + else \ + { \ + bfd_boolean err; \ + err = (info->unresolved_syms_in_objects == RM_GENERATE_ERROR \ + || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT); \ + if (!info->callbacks->undefined_symbol (info, \ + h->root.root.string, \ + input_bfd, \ + input_section, \ + rel->r_offset, err)) \ + return FALSE; \ + warned = TRUE; \ + } \ + } \ while (0) #endif /* _LIBELF_H_ */ diff -uprN binutils-2.15.90.0.1.1/bfd/elf-hppa.h binutils-2.15.90.0.2/bfd/elf-hppa.h --- binutils-2.15.90.0.1.1/bfd/elf-hppa.h 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf-hppa.h 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,6 @@ /* Common code for PA ELF implementations. - Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -31,7 +32,6 @@ Foundation, Inc., 59 Temple Place - Suit #define elf_hppa_reloc_final_type elf64_hppa_reloc_final_type #define _bfd_elf_hppa_gen_reloc_type _bfd_elf64_hppa_gen_reloc_type #define elf_hppa_relocate_section elf64_hppa_relocate_section -#define bfd_elf_bfd_final_link bfd_elf64_bfd_final_link #define elf_hppa_final_link elf64_hppa_final_link #endif #if ARCH_SIZE == 32 @@ -40,7 +40,6 @@ Foundation, Inc., 59 Temple Place - Suit #define elf_hppa_reloc_final_type elf32_hppa_reloc_final_type #define _bfd_elf_hppa_gen_reloc_type _bfd_elf32_hppa_gen_reloc_type #define elf_hppa_relocate_section elf32_hppa_relocate_section -#define bfd_elf_bfd_final_link bfd_elf32_bfd_final_link #define elf_hppa_final_link elf32_hppa_final_link #endif @@ -812,6 +811,28 @@ elf_hppa_reloc_final_type (bfd *abfd, } break; + case 32: + switch (field) + { + case e_fsel: + final_type = R_PARISC_PCREL32; + break; + default: + return R_PARISC_NONE; + } + break; + + case 64: + switch (field) + { + case e_fsel: + final_type = R_PARISC_PCREL64; + break; + default: + return R_PARISC_NONE; + } + break; + default: return R_PARISC_NONE; } @@ -1048,7 +1069,7 @@ static bfd_boolean elf_hppa_sort_unwind static bfd_boolean elf_hppa_add_symbol_hook (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED, - const Elf_Internal_Sym *sym, + Elf_Internal_Sym *sym, const char **namep ATTRIBUTE_UNUSED, flagword *flagsp ATTRIBUTE_UNUSED, asection **secp, @@ -1096,8 +1117,7 @@ elf_hppa_unmark_useless_dynamic_symbols Ultimately we should have better controls over the generic ELF BFD linker code. */ if (! info->relocatable - && ! (info->shared - && info->unresolved_syms_in_shared_libs == RM_IGNORE) + && info->unresolved_syms_in_shared_libs != RM_IGNORE && h->root.type == bfd_link_hash_undefined && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) @@ -1131,8 +1151,7 @@ elf_hppa_remark_useless_dynamic_symbols Ultimately we should have better controls over the generic ELF BFD linker code. */ if (! info->relocatable - && ! (info->shared - && info->unresolved_syms_in_shared_libs == RM_IGNORE) + && info->unresolved_syms_in_shared_libs != RM_IGNORE && h->root.type == bfd_link_hash_undefined && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 @@ -1274,7 +1293,7 @@ elf_hppa_final_link (bfd *abfd, struct b info); /* Invoke the regular ELF backend linker to do all the work. */ - retval = bfd_elf_bfd_final_link (abfd, info); + retval = bfd_elf_final_link (abfd, info); elf_link_hash_traverse (elf_hash_table (info), elf_hppa_remark_useless_dynamic_symbols, @@ -1350,7 +1369,7 @@ elf_hppa_relocate_section (bfd *output_b /* If this symbol has an entry in the PA64 dynamic hash table, then get it. */ - dyn_name = get_dyn_name (input_section, h, rel, + dyn_name = get_dyn_name (input_bfd, h, rel, &dynh_buf, &dynh_buflen); dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, dyn_name, FALSE, FALSE); @@ -1373,7 +1392,7 @@ elf_hppa_relocate_section (bfd *output_b /* If this symbol has an entry in the PA64 dynamic hash table, then get it. */ - dyn_name = get_dyn_name (input_section, h, rel, + dyn_name = get_dyn_name (input_bfd, h, rel, &dynh_buf, &dynh_buflen); dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, dyn_name, FALSE, FALSE); @@ -1398,19 +1417,12 @@ elf_hppa_relocate_section (bfd *output_b else relocation = 0; } - /* Allow undefined symbols in shared libraries. */ - else if (info->shared - && info->unresolved_syms_in_shared_libs == RM_IGNORE + else if (info->unresolved_syms_in_objects == RM_IGNORE && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) { - if (info->symbolic) - (*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, FALSE); - /* If this symbol has an entry in the PA64 dynamic hash table, then get it. */ - dyn_name = get_dyn_name (input_section, h, rel, + dyn_name = get_dyn_name (input_bfd, h, rel, &dynh_buf, &dynh_buflen); dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, dyn_name, FALSE, FALSE); @@ -1426,7 +1438,7 @@ elf_hppa_relocate_section (bfd *output_b } else if (h->root.type == bfd_link_hash_undefweak) { - dyn_name = get_dyn_name (input_section, h, rel, + dyn_name = get_dyn_name (input_bfd, h, rel, &dynh_buf, &dynh_buflen); dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, dyn_name, FALSE, FALSE); @@ -1449,7 +1461,9 @@ elf_hppa_relocate_section (bfd *output_b { if (!((*info->callbacks->undefined_symbol) (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) + input_section, rel->r_offset, + (info->unresolved_syms_in_objects == RM_GENERATE_ERROR + || ELF_ST_VISIBILITY (h->other))))) return FALSE; break; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf-m10200.c binutils-2.15.90.0.2/bfd/elf-m10200.c --- binutils-2.15.90.0.1.1/bfd/elf-m10200.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf-m10200.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Matsushita 10200 specific support for 32-bit ELF - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -377,28 +377,12 @@ mn10200_elf_relocate_section (output_bfd } else { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - relocation = 0; - else - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - relocation = 0; - } + bfd_boolean unresolved_reloc, warned; + + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } r = mn10200_elf_final_link_relocate (howto, input_bfd, output_bfd, diff -uprN binutils-2.15.90.0.1.1/bfd/elf-m10300.c binutils-2.15.90.0.2/bfd/elf-m10300.c --- binutils-2.15.90.0.1.1/bfd/elf-m10300.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf-m10300.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Matsushita 10300 specific support for 32-bit ELF - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -616,7 +616,7 @@ _bfd_mn10300_elf_create_got_section (abf h->type = STT_OBJECT; if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -650,7 +650,7 @@ _bfd_mn10300_elf_create_got_section (abf h->type = STT_OBJECT; if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; elf_hash_table (info)->hgot = h; @@ -770,14 +770,14 @@ mn10300_elf_check_relocs (abfd, info, se /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_MN10300_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_MN10300_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; case R_MN10300_GOT32: @@ -822,7 +822,7 @@ mn10300_elf_check_relocs (abfd, info, se /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1537,15 +1537,14 @@ mn10300_elf_relocate_section (output_bfd asection **local_sections; { Elf_Internal_Shdr *symtab_hdr; - struct elf32_mn10300_link_hash_entry **sym_hashes; + struct elf_link_hash_entry **sym_hashes; Elf_Internal_Rela *rel, *relend; if (info->relocatable) return TRUE; symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; - sym_hashes = (struct elf32_mn10300_link_hash_entry **) - (elf_sym_hashes (input_bfd)); + sym_hashes = elf_sym_hashes (input_bfd); rel = relocs; relend = relocs + input_section->reloc_count; @@ -1584,10 +1583,10 @@ mn10300_elf_relocate_section (output_bfd bfd_boolean warned; struct elf_link_hash_entry *hh; - RELOC_FOR_GLOBAL_SYMBOL (hh, (struct elf_link_hash_entry *) sym_hashes, - r_symndx, symtab_hdr, relocation, - sec, unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + hh, sec, relocation, + unresolved_reloc, warned); h = (struct elf32_mn10300_link_hash_entry *) hh; @@ -4187,7 +4186,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol ( /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -4492,31 +4491,31 @@ _bfd_mn10300_elf_size_dynamic_sections ( in by the dynamic linker and used by the debugger. */ if (! info->shared) { - if (! bfd_elf32_add_dynamic_entry (info, DT_DEBUG, 0)) + if (!_bfd_elf_add_dynamic_entry (info, DT_DEBUG, 0)) return FALSE; } if (plt) { - if (! bfd_elf32_add_dynamic_entry (info, DT_PLTGOT, 0) - || ! bfd_elf32_add_dynamic_entry (info, DT_PLTRELSZ, 0) - || ! bfd_elf32_add_dynamic_entry (info, DT_PLTREL, DT_RELA) - || ! bfd_elf32_add_dynamic_entry (info, DT_JMPREL, 0)) + if (!_bfd_elf_add_dynamic_entry (info, DT_PLTGOT, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_PLTRELSZ, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_PLTREL, DT_RELA) + || !_bfd_elf_add_dynamic_entry (info, DT_JMPREL, 0)) return FALSE; } if (relocs) { - if (! bfd_elf32_add_dynamic_entry (info, DT_RELA, 0) - || ! bfd_elf32_add_dynamic_entry (info, DT_RELASZ, 0) - || ! bfd_elf32_add_dynamic_entry (info, DT_RELAENT, - sizeof (Elf32_External_Rela))) + if (!_bfd_elf_add_dynamic_entry (info, DT_RELA, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_RELASZ, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_RELAENT, + sizeof (Elf32_External_Rela))) return FALSE; } if (reltext) { - if (! bfd_elf32_add_dynamic_entry (info, DT_TEXTREL, 0)) + if (!_bfd_elf_add_dynamic_entry (info, DT_TEXTREL, 0)) return FALSE; } } diff -uprN binutils-2.15.90.0.1.1/bfd/elf.c binutils-2.15.90.0.2/bfd/elf.c --- binutils-2.15.90.0.1.1/bfd/elf.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf.c 2004-04-12 12:56:33.000000000 -0700 @@ -1479,8 +1479,7 @@ _bfd_elf_link_hash_table_create (bfd *ab /* This is a hook for the ELF emulation code in the generic linker to tell the backend linker what file name to use for the DT_NEEDED - entry for a dynamic object. The generic linker passes name as an - empty string to indicate that no DT_NEEDED entry should be made. */ + entry for a dynamic object. */ void bfd_elf_set_dt_needed_name (bfd *abfd, const char *name) @@ -1491,11 +1490,11 @@ bfd_elf_set_dt_needed_name (bfd *abfd, c } void -bfd_elf_set_dt_needed_soname (bfd *abfd, const char *name) +bfd_elf_set_dyn_lib_class (bfd *abfd, int lib_class) { if (bfd_get_flavour (abfd) == bfd_target_elf_flavour && bfd_get_format (abfd) == bfd_object) - elf_dt_soname (abfd) = name; + elf_dyn_lib_class (abfd) = lib_class; } /* Get the list of DT_NEEDED entries for a link. This is a hook for @@ -3187,6 +3186,7 @@ map_sections_to_segments (bfd *abfd) struct elf_segment_map **pm; struct elf_segment_map *m; asection *last_hdr; + bfd_vma last_size; unsigned int phdr_index; bfd_vma maxpagesize; asection **hdrpp; @@ -3266,6 +3266,7 @@ map_sections_to_segments (bfd *abfd) segment when the start of the second section can be placed within a few bytes of the end of the first section. */ last_hdr = NULL; + last_size = 0; phdr_index = 0; maxpagesize = get_elf_backend_data (abfd)->maxpagesize; writable = FALSE; @@ -3314,18 +3315,19 @@ map_sections_to_segments (bfd *abfd) segment. */ new_segment = TRUE; } - else if (BFD_ALIGN (last_hdr->lma + last_hdr->_raw_size, maxpagesize) + else if (BFD_ALIGN (last_hdr->lma + last_size, maxpagesize) < BFD_ALIGN (hdr->lma, maxpagesize)) { /* If putting this section in this segment would force us to skip a page in the segment, then we need a new segment. */ new_segment = TRUE; } - else if ((last_hdr->flags & SEC_LOAD) == 0 - && (hdr->flags & SEC_LOAD) != 0) + else if ((last_hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) == 0 + && (hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) != 0) { /* We don't want to put a loadable section after a - nonloadable section in the same segment. */ + nonloadable section in the same segment. + Consider .tbss sections as loadable for this purpose. */ new_segment = TRUE; } else if ((abfd->flags & D_PAGED) == 0) @@ -3337,7 +3339,7 @@ map_sections_to_segments (bfd *abfd) } else if (! writable && (hdr->flags & SEC_READONLY) == 0 - && (((last_hdr->lma + last_hdr->_raw_size - 1) + && (((last_hdr->lma + last_size - 1) & ~(maxpagesize - 1)) != (hdr->lma & ~(maxpagesize - 1)))) { @@ -3361,6 +3363,11 @@ map_sections_to_segments (bfd *abfd) if ((hdr->flags & SEC_READONLY) == 0) writable = TRUE; last_hdr = hdr; + /* .tbss sections effectively have zero size. */ + if ((hdr->flags & (SEC_THREAD_LOCAL | SEC_LOAD)) != SEC_THREAD_LOCAL) + last_size = hdr->_raw_size; + else + last_size = 0; continue; } @@ -3380,6 +3387,11 @@ map_sections_to_segments (bfd *abfd) writable = FALSE; last_hdr = hdr; + /* .tbss sections effectively have zero size. */ + if ((hdr->flags & (SEC_THREAD_LOCAL | SEC_LOAD)) != SEC_THREAD_LOCAL) + last_size = hdr->_raw_size; + else + last_size = 0; phdr_index = i; phdr_in_segment = FALSE; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-arm.h binutils-2.15.90.0.2/bfd/elf32-arm.h --- binutils-2.15.90.0.1.1/bfd/elf32-arm.h 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-arm.h 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,6 @@ /* 32-bit ELF support for ARM - Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -105,7 +106,7 @@ bfd_boolean bfd_elf32_arm_allocate_inter bfd_boolean bfd_elf32_arm_get_bfd_for_interworking PARAMS ((bfd *, struct bfd_link_info *)); bfd_boolean bfd_elf32_arm_process_before_allocation - PARAMS ((bfd *, struct bfd_link_info *, int)); + PARAMS ((bfd *, struct bfd_link_info *, int, int)); #endif @@ -189,6 +190,26 @@ static const bfd_vma elf32_arm_plt_entry #endif +/* Used to build a map of a section. This is required for mixed-endian + code/data. */ + +typedef struct elf32_elf_section_map +{ + bfd_vma vma; + char type; +} +elf32_arm_section_map; + +struct _arm_elf_section_data +{ + struct bfd_elf_section_data elf; + int mapcount; + elf32_arm_section_map *map; +}; + +#define elf32_arm_section_data(sec) \ + ((struct _arm_elf_section_data *) elf_section_data (sec)) + /* The ARM linker needs to keep track of the number of relocs that it decides to copy in check_relocs for each symbol. This is so that it can discard PC relative relocs if it doesn't need them when @@ -246,6 +267,9 @@ struct elf32_arm_link_hash_table length should be applied by the linker. */ int no_pipeline_knowledge; + /* Nonzero to output a BE8 image. */ + int byteswap_code; + /* Short-cuts to get to dynamic linker sections. */ asection *sgot; asection *sgotplt; @@ -429,6 +453,7 @@ elf32_arm_link_hash_table_create (abfd) ret->arm_glue_size = 0; ret->bfd_of_glue_owner = NULL; ret->no_pipeline_knowledge = 0; + ret->byteswap_code = 0; ret->sym_sec.abfd = NULL; return &ret->root.root; @@ -807,10 +832,13 @@ bfd_elf32_arm_get_bfd_for_interworking ( } bfd_boolean -bfd_elf32_arm_process_before_allocation (abfd, link_info, no_pipeline_knowledge) +bfd_elf32_arm_process_before_allocation (abfd, link_info, + no_pipeline_knowledge, + byteswap_code) bfd *abfd; struct bfd_link_info *link_info; int no_pipeline_knowledge; + int byteswap_code; { Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Rela *internal_relocs = NULL; @@ -833,6 +861,14 @@ bfd_elf32_arm_process_before_allocation BFD_ASSERT (globals->bfd_of_glue_owner != NULL); globals->no_pipeline_knowledge = no_pipeline_knowledge; + if (byteswap_code && !bfd_big_endian (abfd)) + { + _bfd_error_handler ( + _("%s: BE8 images only valid in big-endian mode."), + bfd_archive_filename (abfd)); + return FALSE; + } + globals->byteswap_code = byteswap_code; /* Rummage around all the relocs and map the glue vectors. */ sec = abfd->sections; @@ -1208,18 +1244,6 @@ elf32_arm_to_thumb_stub (info, name, inp return TRUE; } -/* This is the condition under which elf32_arm_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in elf32_arm_relocate_section - and elf32_arm_final_link_relocate. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Perform a relocation as part of a final link. */ static bfd_reloc_status_type @@ -1743,6 +1767,33 @@ elf32_arm_final_link_relocate (howto, in return bfd_reloc_ok; } +#ifndef OLD_ARM_ABI + case R_ARM_ALU_PCREL7_0: + case R_ARM_ALU_PCREL15_8: + case R_ARM_ALU_PCREL23_15: + { + bfd_vma insn; + bfd_vma relocation; + + insn = bfd_get_32 (input_bfd, hit_data); +#if USE_REL + /* Extract the addend. */ + addend = (insn & 0xff) << ((insn & 0xf00) >> 7); + signed_addend = addend; +#endif + relocation = value + signed_addend; + + relocation -= (input_section->output_section->vma + + input_section->output_offset + + rel->r_offset); + insn = (insn & ~0xfff) + | ((howto->bitpos << 7) & 0xf00) + | ((relocation >> howto->bitpos) & 0xff); + bfd_put_32 (input_bfd, value, hit_data); + } + return bfd_reloc_ok; +#endif + case R_ARM_GNU_VTINHERIT: case R_ARM_GNU_VTENTRY: return bfd_reloc_ok; @@ -2124,10 +2175,10 @@ elf32_arm_relocate_section (output_bfd, bfd_boolean warned; bfd_boolean unresolved_reloc; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, - sec, unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); if (unresolved_reloc || relocation != 0) { @@ -2430,11 +2481,16 @@ elf32_arm_merge_private_bfd_data (ibfd, not, its flags may not have been initialised either, but it cannot actually cause any incompatibility. Do not short-circuit dynamic objects; their section list may be emptied by - elf_link_add_object_symbols. */ + elf_link_add_object_symbols. + Also check to see if there are no code sections in the input. + In this case there is no need to check for code specific flags. + XXX - do we need to worry about floating-point format compatability + in data sections ? */ if (!(ibfd->flags & DYNAMIC)) { bfd_boolean null_input_bfd = TRUE; + bfd_boolean only_data_sections = TRUE; for (sec = ibfd->sections; sec != NULL; sec = sec->next) { @@ -2442,11 +2498,17 @@ elf32_arm_merge_private_bfd_data (ibfd, if (strcmp (sec->name, ".glue_7") && strcmp (sec->name, ".glue_7t")) { + if ((bfd_get_section_flags (ibfd, sec) + & (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS)) + == (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS)) + only_data_sections = FALSE; + null_input_bfd = FALSE; break; } } - if (null_input_bfd) + + if (null_input_bfd || only_data_sections) return TRUE; } @@ -2667,6 +2729,18 @@ elf32_arm_print_private_bfd_data (abfd, | EF_ARM_MAPSYMSFIRST); break; + case EF_ARM_EABI_VER3: + fprintf (file, _(" [Version3 EABI]")); + + if (flags & EF_ARM_BE8) + fprintf (file, _(" [BE8]")); + + if (flags & EF_ARM_LE8) + fprintf (file, _(" [LE8]")); + + flags &= ~(EF_ARM_LE8 | EF_ARM_BE8); + break; + default: fprintf (file, _(" ")); break; @@ -3056,14 +3130,14 @@ elf32_arm_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_ARM_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_ARM_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset)) return FALSE; break; } @@ -3319,7 +3393,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -3379,7 +3453,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -3432,7 +3506,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -3641,7 +3715,7 @@ elf32_arm_size_dynamic_sections (output_ the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (!info->shared) { @@ -4012,11 +4086,19 @@ elf32_arm_post_process_headers (abfd, li struct bfd_link_info * link_info ATTRIBUTE_UNUSED; { Elf_Internal_Ehdr * i_ehdrp; /* ELF file header, internal form. */ + struct elf32_arm_link_hash_table *globals; i_ehdrp = elf_elfheader (abfd); i_ehdrp->e_ident[EI_OSABI] = ARM_ELF_OS_ABI_VERSION; i_ehdrp->e_ident[EI_ABIVERSION] = ARM_ELF_ABI_VERSION; + + if (link_info) + { + globals = elf32_arm_hash_table (link_info); + if (globals->byteswap_code) + i_ehdrp->e_flags |= EF_ARM_BE8; + } } static enum elf_reloc_type_class @@ -4052,7 +4134,7 @@ elf32_arm_section_flags (flags, hdr) return TRUE; } -void +static void elf32_arm_final_write_processing (abfd, linker) bfd *abfd; bfd_boolean linker ATTRIBUTE_UNUSED; @@ -4060,6 +4142,148 @@ elf32_arm_final_write_processing (abfd, bfd_arm_update_notes (abfd, ARM_NOTE_SECTION); } + +/* Called for each symbol. Builds a section map based on mapping symbols. + Does not alter any of the symbols. */ + +static bfd_boolean +elf32_arm_output_symbol_hook (struct bfd_link_info *info, + const char *name, + Elf_Internal_Sym *elfsym, + asection *input_sec, + struct elf_link_hash_entry *h ATTRIBUTE_UNUSED) +{ + int mapcount; + elf32_arm_section_map *map; + struct elf32_arm_link_hash_table *globals; + + /* Only do this on final link. */ + if (info->relocatable) + return TRUE; + + /* Only build a map if we need to byteswap code. */ + globals = elf32_arm_hash_table (info); + if (!globals->byteswap_code) + return TRUE; + + /* We only want mapping symbols. */ + if (name == NULL + || name[0] != '$' + || (name[1] != 'a' + && name[1] != 't' + && name[1] != 'd')) + return TRUE; + + mapcount = ++(elf32_arm_section_data (input_sec)->mapcount); + map = elf32_arm_section_data (input_sec)->map; + /* TODO: This may be inefficient, but we probably don't usually have many + mapping symbols per section. */ + map = bfd_realloc (map, mapcount * sizeof (elf32_arm_section_map)); + elf32_arm_section_data (input_sec)->map = map; + + map[mapcount - 1].vma = elfsym->st_value; + map[mapcount - 1].type = name[1]; + return TRUE; +} + + +/* Allocate target specific section data. */ + +static bfd_boolean +elf32_arm_new_section_hook (bfd *abfd, asection *sec) +{ + struct _arm_elf_section_data *sdata; + bfd_size_type amt = sizeof (*sdata); + + sdata = bfd_zalloc (abfd, amt); + if (sdata == NULL) + return FALSE; + sec->used_by_bfd = sdata; + + return _bfd_elf_new_section_hook (abfd, sec); +} + + +/* Used to order a list of mapping symbols by address. */ + +static int +elf32_arm_compare_mapping (const void * a, const void * b) +{ + return ((const elf32_arm_section_map *) a)->vma + > ((const elf32_arm_section_map *) b)->vma; +} + + +/* Do code byteswapping. Return FALSE afterwards so that the section is + written out as normal. */ + +static bfd_boolean +elf32_arm_write_section (bfd *output_bfd ATTRIBUTE_UNUSED, asection *sec, + bfd_byte *contents) +{ + int mapcount; + elf32_arm_section_map *map; + bfd_vma ptr; + bfd_vma end; + bfd_vma offset; + bfd_byte tmp; + int i; + + mapcount = elf32_arm_section_data (sec)->mapcount; + map = elf32_arm_section_data (sec)->map; + + if (mapcount == 0) + return FALSE; + + qsort (map, mapcount, sizeof (elf32_arm_section_map), + elf32_arm_compare_mapping); + + offset = sec->output_section->vma + sec->output_offset; + ptr = map[0].vma - offset; + for (i = 0; i < mapcount; i++) + { + if (i == mapcount - 1) + end = bfd_section_size (output_bfd, sec); + else + end = map[i + 1].vma - offset; + + switch (map[i].type) + { + case 'a': + /* Byte swap code words. */ + while (ptr + 3 < end) + { + tmp = contents[ptr]; + contents[ptr] = contents[ptr + 3]; + contents[ptr + 3] = tmp; + tmp = contents[ptr + 1]; + contents[ptr + 1] = contents[ptr + 2]; + contents[ptr + 2] = tmp; + ptr += 4; + } + break; + + case 't': + /* Byte swap code halfwords. */ + while (ptr + 1 < end) + { + tmp = contents[ptr]; + contents[ptr] = contents[ptr + 1]; + contents[ptr + 1] = tmp; + ptr += 2; + } + break; + + case 'd': + /* Leave data alone. */ + break; + } + ptr = end; + } + free (map); + return FALSE; +} + #define ELF_ARCH bfd_arch_arm #define ELF_MACHINE_CODE EM_ARM #ifdef __QNXTARGET__ @@ -4075,16 +4299,19 @@ elf32_arm_final_write_processing (abfd, #define bfd_elf32_bfd_link_hash_table_create elf32_arm_link_hash_table_create #define bfd_elf32_bfd_reloc_type_lookup elf32_arm_reloc_type_lookup #define bfd_elf32_find_nearest_line elf32_arm_find_nearest_line +#define bfd_elf32_new_section_hook elf32_arm_new_section_hook #define elf_backend_get_symbol_type elf32_arm_get_symbol_type #define elf_backend_gc_mark_hook elf32_arm_gc_mark_hook #define elf_backend_gc_sweep_hook elf32_arm_gc_sweep_hook #define elf_backend_check_relocs elf32_arm_check_relocs #define elf_backend_relocate_section elf32_arm_relocate_section +#define elf_backend_write_section elf32_arm_write_section #define elf_backend_adjust_dynamic_symbol elf32_arm_adjust_dynamic_symbol #define elf_backend_create_dynamic_sections elf32_arm_create_dynamic_sections #define elf_backend_finish_dynamic_symbol elf32_arm_finish_dynamic_symbol #define elf_backend_finish_dynamic_sections elf32_arm_finish_dynamic_sections +#define elf_backend_link_output_symbol_hook elf32_arm_output_symbol_hook #define elf_backend_size_dynamic_sections elf32_arm_size_dynamic_sections #define elf_backend_post_process_headers elf32_arm_post_process_headers #define elf_backend_reloc_type_class elf32_arm_reloc_type_class diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-avr.c binutils-2.15.90.0.2/bfd/elf32-avr.c --- binutils-2.15.90.0.1.1/bfd/elf32-avr.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-avr.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,6 @@ /* AVR-specific support for 32-bit ELF - Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Contributed by Denis Chertykov This file is part of BFD, the Binary File Descriptor library. @@ -758,34 +759,12 @@ elf32_avr_relocate_section (output_bfd, } else { - h = sym_hashes [r_symndx - symtab_hdr->sh_info]; + bfd_boolean unresolved_reloc, warned; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - name = h->root.root.string; - - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - { - relocation = 0; - } - else - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - relocation = 0; - } + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } r = avr_final_link_relocate (howto, input_bfd, input_section, diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-cr16c.c binutils-2.15.90.0.2/bfd/elf32-cr16c.c --- binutils-2.15.90.0.1.1/bfd/elf32-cr16c.c 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-cr16c.c 2004-04-12 12:56:33.000000000 -0700 @@ -0,0 +1,1000 @@ +/* BFD back-end for National Semiconductor's CR16C ELF + Copyright 2004 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + 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. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" +#include "bfdlink.h" +#include "elf/cr16c.h" +#include "elf-bfd.h" + + +#define USE_REL 1 /* CR16C uses REL relocations instead of RELA. */ + +/* The following definition is based on EMPTY_HOWTO macro, + but also initiates the "name" field in HOWTO struct. */ +#define ONLY_NAME_HOWTO(C) \ + HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \ + STRINGX(C), FALSE, 0, 0, FALSE) + +/* reloc_map_index array maps CRASM relocation type into a BFD + relocation enum. The array's indices are synchronized with + RINDEX_16C_* indices, created in include/elf/cr16c.h. + The array is used in: + 1. elf32-cr16c.c : elf_cr16c_reloc_type_lookup(). + 2. asreloc.c : find_reloc_type(). */ + +RELOC_MAP reloc_map_index[RINDEX_16C_MAX] = +{ + {R_16C_NUM08, BFD_RELOC_16C_NUM08}, + {R_16C_NUM08_C, BFD_RELOC_16C_NUM08_C}, + {R_16C_NUM16, BFD_RELOC_16C_NUM16}, + {R_16C_NUM16_C, BFD_RELOC_16C_NUM16_C}, + {R_16C_NUM32, BFD_RELOC_16C_NUM32}, + {R_16C_NUM32_C, BFD_RELOC_16C_NUM32_C}, + {R_16C_DISP04, BFD_RELOC_16C_DISP04}, + {R_16C_DISP04_C, BFD_RELOC_16C_DISP04_C}, + {R_16C_DISP08, BFD_RELOC_16C_DISP08}, + {R_16C_DISP08_C, BFD_RELOC_16C_DISP08_C}, + {R_16C_DISP16, BFD_RELOC_16C_DISP16}, + {R_16C_DISP16_C, BFD_RELOC_16C_DISP16_C}, + {R_16C_DISP24, BFD_RELOC_16C_DISP24}, + {R_16C_DISP24_C, BFD_RELOC_16C_DISP24_C}, + {R_16C_DISP24a, BFD_RELOC_16C_DISP24a}, + {R_16C_DISP24a_C, BFD_RELOC_16C_DISP24a_C}, + {R_16C_REG04, BFD_RELOC_16C_REG04}, + {R_16C_REG04_C, BFD_RELOC_16C_REG04_C}, + {R_16C_REG04a, BFD_RELOC_16C_REG04a}, + {R_16C_REG04a_C, BFD_RELOC_16C_REG04a_C}, + {R_16C_REG14, BFD_RELOC_16C_REG14}, + {R_16C_REG14_C, BFD_RELOC_16C_REG14_C}, + {R_16C_REG16, BFD_RELOC_16C_REG16}, + {R_16C_REG16_C, BFD_RELOC_16C_REG16_C}, + {R_16C_REG20, BFD_RELOC_16C_REG20}, + {R_16C_REG20_C, BFD_RELOC_16C_REG20_C}, + {R_16C_ABS20, BFD_RELOC_16C_ABS20}, + {R_16C_ABS20_C, BFD_RELOC_16C_ABS20_C}, + {R_16C_ABS24, BFD_RELOC_16C_ABS24}, + {R_16C_ABS24_C, BFD_RELOC_16C_ABS24_C}, + {R_16C_IMM04, BFD_RELOC_16C_IMM04}, + {R_16C_IMM04_C, BFD_RELOC_16C_IMM04_C}, + {R_16C_IMM16, BFD_RELOC_16C_IMM16}, + {R_16C_IMM16_C, BFD_RELOC_16C_IMM16_C}, + {R_16C_IMM20, BFD_RELOC_16C_IMM20}, + {R_16C_IMM20_C, BFD_RELOC_16C_IMM20_C}, + {R_16C_IMM24, BFD_RELOC_16C_IMM24}, + {R_16C_IMM24_C, BFD_RELOC_16C_IMM24_C}, + {R_16C_IMM32, BFD_RELOC_16C_IMM32}, + {R_16C_IMM32_C, BFD_RELOC_16C_IMM32_C} +}; + +static reloc_howto_type elf_howto_table[] = +{ + /* 00 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM08), + /* 01 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM08_C), + /* 02 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM16), + /* 03 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM16_C), + /* 04 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM32), + /* 05 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM32_C), + /* 06 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP04), + /* 07 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP04_C), + /* 08 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP08), + /* 09 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP08_C), + /* 10 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP16), + /* 11 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP16_C), + /* 12 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP24), + /* 13 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP24_C), + /* 14 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP24a), + /* 15 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP24a_C), + /* 16 */ ONLY_NAME_HOWTO (RINDEX_16C_REG04), + /* 17 */ ONLY_NAME_HOWTO (RINDEX_16C_REG04_C), + /* 18 */ ONLY_NAME_HOWTO (RINDEX_16C_REG04a), + /* 19 */ ONLY_NAME_HOWTO (RINDEX_16C_REG04a_C), + /* 20 */ ONLY_NAME_HOWTO (RINDEX_16C_REG14), + /* 21 */ ONLY_NAME_HOWTO (RINDEX_16C_REG14_C), + /* 22 */ ONLY_NAME_HOWTO (RINDEX_16C_REG16), + /* 23 */ ONLY_NAME_HOWTO (RINDEX_16C_REG16_C), + /* 24 */ ONLY_NAME_HOWTO (RINDEX_16C_REG20), + /* 25 */ ONLY_NAME_HOWTO (RINDEX_16C_REG20_C), + /* 26 */ ONLY_NAME_HOWTO (RINDEX_16C_ABS20), + /* 27 */ ONLY_NAME_HOWTO (RINDEX_16C_ABS20_C), + /* 28 */ ONLY_NAME_HOWTO (RINDEX_16C_ABS24), + /* 29 */ ONLY_NAME_HOWTO (RINDEX_16C_ABS24_C), + /* 30 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM04), + /* 31 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM04_C), + /* 32 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM16), + /* 33 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM16_C), + /* 34 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM20), + /* 35 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM20_C), + /* 36 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM24), + /* 37 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM24_C), + /* 38 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM32), + /* 39 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM32_C) +}; + + +/* Code to turn a code_type into a howto ptr, uses the above howto table. */ + +static reloc_howto_type * +elf_cr16c_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + bfd_reloc_code_real_type code) +{ + unsigned int i; + + for (i = 0; i < RINDEX_16C_MAX; i++) + { + if (code == reloc_map_index[i].bfd_reloc_enum) + { + /* printf ("CR16C Relocation Type is - %x\n", code); */ + return & elf_howto_table[i]; + } + } + + /* printf ("This relocation Type is not supported - %x\n", code); */ + return 0; +} + +static void +elf_cr16c_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, + arelent *cache_ptr ATTRIBUTE_UNUSED, + Elf_Internal_Rela *dst ATTRIBUTE_UNUSED) +{ + abort (); +} + +static void +elf_cr16c_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED, + arelent *cache_ptr, + Elf_Internal_Rela *dst) +{ + unsigned int r_type = ELF32_R_TYPE (dst->r_info); + + BFD_ASSERT (r_type < (unsigned int) RINDEX_16C_MAX); + cache_ptr->howto = &elf_howto_table[r_type]; +} + +/* Perform a relocation as part of a final link. */ + +static bfd_reloc_status_type +cr16c_elf_final_link_relocate (reloc_howto_type *howto, + bfd *abfd, + bfd *output_bfd ATTRIBUTE_UNUSED, + asection *input_section, + bfd_byte *data, + bfd_vma octets, + bfd_vma Rvalue, + bfd_vma addend ATTRIBUTE_UNUSED, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + asection *sym_sec ATTRIBUTE_UNUSED, + int is_local ATTRIBUTE_UNUSED) +{ + long value; + short sword; /* Extracted from the hole and put back. */ + unsigned long format, addr_type, code_factor; + unsigned short size; + unsigned short r_type; + asymbol *symbol = NULL; + + unsigned long disp20_opcod; + char neg = 0; + char neg2pos = 0; + + long left_val = 0; + long plus_factor = 0; /* To be added to the hole. */ + +#define MIN_BYTE ((int) 0xFFFFFF80) +#define MIN_WORD ((int) 0xFFFF8000) +#define MAX_UWORD ((unsigned) 0x0000FFFF) +#define MAX_UBYTE ((unsigned) 0x000000FF) + + r_type = reloc_map_index[howto->type].cr_reloc_type; + format = r_type & R_FORMAT; + size = r_type & R_SIZESP; + addr_type = r_type & R_ADDRTYPE; + code_factor = ((addr_type == R_CODE_ADDR) ? 1 : 0); + + if (sym_sec) + symbol = sym_sec->symbol; + + switch (format) + { + case R_NUMBER: + switch (size) + { + case R_S_16C_08: /* One byte. */ + value = bfd_get_8 (abfd, (char *) data + octets); + break; + case R_S_16C_16: /* Two bytes. */ + sword = bfd_get_16 (abfd, (bfd_byte *) data + octets); + value = sword; + break; + case R_S_16C_32: /* Four bytes. */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + break; + default: + return bfd_reloc_notsupported; + } + break; + + case R_16C_DISPL: + switch (size) + { + case R_S_16C_04: /* word1(4-7). */ + value = bfd_get_8 (abfd, (char *) data + octets); + left_val = value & 0xF; + value = (value & 0xF0) >> 4; + value++; + value <<= 1; + break; + case R_S_16C_08: /* word1(0-3,8-11). */ + sword = bfd_get_16 (abfd, (char *) data + octets); + value = sword & 0x000F; + value |= ((sword & 0x0F00) >> 4); + left_val = sword & 0xF0F0; + value <<= 1; + if (value & 0x100) + value |= 0xFFFFFF00; + break; + case R_S_16C_16: /* word2. */ + sword = bfd_get_16 (abfd, (bfd_byte *) data + octets); + value = sword; + value = ((value & 0xFFFE) >> 1) | ((value & 0x1) << 15); + value <<= 1; + if (value & 0x10000) + value |= 0xFFFF0000; + break; + case R_S_16C_24_a: /* word1(0-7),word2. */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + left_val = value & 0x0000FF00; + value = ((value & 0xFFFE0000) >> 17) | + ((value & 0x00010000) << 7) | ((value & 0x000000FF) << 15); + value <<= 1; + if (value & 0x1000000) + value |= 0xFE000000; + break; + case R_S_16C_24: /* word2(0-3,8-11),word3. */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + left_val = value & 0x0000F0F0; + value = ((value >> 16) & 0x0000FFFF) | + ((value & 0x00000F00) << 8) | ((value & 0x0000000F) << 20); + + value = ((value & 0x00FFFFFE) >> 1) | ((value & 0x00000001) << 23); + + value <<= 1; + if (value & 0x1000000) + value |= 0xFE000000; + break; + default: + return bfd_reloc_notsupported; + } + break; + + case R_16C_REGREL: + switch (size) + { + case R_S_16C_04: /* word1(12-15) not scaled. */ + value = bfd_get_8 (abfd, (char *) data + octets); + left_val = value & 0xF0; + value = value & 0xF; + break; + case R_S_16C_04_a: /* word1(12-15) scaled by 2. */ + value = bfd_get_8 (abfd, (char *) data + octets); + left_val = value & 0xF0; + value = value & 0xF; + value <<= 1; + break; + case R_S_16C_14: /* word1(4-5),word2(0-3,8-15). */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + left_val = value & 0x00F0FFCF; + value = ((value & 0xc0000000) >> 24) | + ((value & 0x3F000000) >> 16) | + ((value & 0x000F0000) >> 16) | (value & 0x00000030); + break; + case R_S_16C_16: /* word2. */ + sword = bfd_get_16 (abfd, (bfd_byte *) data + octets); + value = sword; + break; + case R_S_16C_20: /* word2(8-11),word3. */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + left_val = value & 0xF0; + value = (value & 0xF) << 16; + sword = bfd_get_16 (abfd, (bfd_byte *) data + octets + 1); + value = value | (unsigned short) sword; + disp20_opcod = bfd_get_32 (abfd, (bfd_byte *) data + octets - 3); + disp20_opcod |= 0x0FFF0000; + if ((disp20_opcod == 0x4FFF0018) || /* loadb -disp20(reg) */ + (disp20_opcod == 0x5FFF0018) || /* loadb -disp20(rp) */ + (disp20_opcod == 0x8FFF0018) || /* loadd -disp20(reg) */ + (disp20_opcod == 0x9FFF0018) || /* loadd -disp20(rp) */ + (disp20_opcod == 0xCFFF0018) || /* loadw -disp20(reg) */ + (disp20_opcod == 0xDFFF0018) || /* loadw -disp20(rp) */ + (disp20_opcod == 0x4FFF0019) || /* storb -disp20(reg) */ + (disp20_opcod == 0x5FFF0019) || /* storb -disp20(rp) */ + (disp20_opcod == 0x8FFF0019) || /* stord -disp20(reg) */ + (disp20_opcod == 0x9FFF0019) || /* stord -disp20(rp) */ + (disp20_opcod == 0xCFFF0019) || /* storw -disp20(reg) */ + (disp20_opcod == 0xDFFF0019)) + { /* storw -disp20(rp). */ + neg = 1; + value |= 0xFFF00000; + } + + break; + default: + return bfd_reloc_notsupported; + } + break; + + case R_16C_ABS: + switch (size) + { + case R_S_16C_20: /* word1(0-3),word2. */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + left_val = value & 0x0000FFF0; + value = ((value & 0xFFFF0000) >> 16) | + ((value & 0x0000000F) << 16); + break; + case R_S_16C_24: /* word2(0-3,8-11),word3. */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + left_val = value & 0x0000F0F0; + value = ((value & 0xFFFF0000) >> 16) | + ((value & 0x00000F00) << 8) | ((value & 0x0000000F) << 20); + break; + default: + return bfd_reloc_notsupported; + } + break; + + case R_16C_IMMED: + switch (size) + { + case R_S_16C_04: /* word1/2(4-7). */ + value = bfd_get_8 (abfd, (char *) data + octets); + left_val = value & 0xF; + value = (value & 0xF0) >> 4; + break; + case R_S_16C_16: /* word2. */ + sword = bfd_get_16 (abfd, (bfd_byte *) data + octets); + value = sword; + break; + case R_S_16C_20: /* word1(0-3),word2. */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + left_val = value & 0x0000FFF0; + value = ((value & 0xFFFF0000) >> 16) | + ((value & 0x0000000F) << 16); + break; + case R_S_16C_32: /* word2, word3. */ + value = bfd_get_32 (abfd, (bfd_byte *) data + octets); + value = ((value & 0x0000FFFF) << 16) | + ((value & 0xFFFF0000) >> 16); + break; + default: + return bfd_reloc_notsupported; + } + break; + default: + return bfd_reloc_notsupported; + } + + switch ((r_type & R_RELTO) >> 4) + { + + case 0: /* R_ABS. */ + plus_factor = Rvalue; + break; + case 1: /* R_PCREL. */ + plus_factor = Rvalue - + (input_section->output_section->vma + input_section->output_offset); + break; + default: + return bfd_reloc_notsupported; + } + + if (neg) + { + if (plus_factor >= -value) + neg2pos = 1; + /* We need to change load/stor with negative + displ opcode to positive disp opcode (CR16C). */ + } + + value = value + (plus_factor >> code_factor); + + switch (format) + { + case R_NUMBER: + switch (size) + { + case R_S_16C_08: /* One byte. */ + if (value > (int) MAX_UBYTE || value < MIN_BYTE) + return bfd_reloc_overflow; + value &= 0xFF; + bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_16: /* Two bytes. */ + if (value > (int) MAX_UWORD || value < MIN_WORD) + return bfd_reloc_overflow; + value &= 0xFFFF; + sword = value; + bfd_put_16 (abfd, (bfd_vma) sword, + (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_32: /* Four bytes. */ + value &= 0xFFFFFFFF; + bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets); + return bfd_reloc_ok; + break; + default: + return bfd_reloc_notsupported; + } + break; + + case R_16C_DISPL: + switch (size) + { + case R_S_16C_04: /* word1(4-7). */ + if ((value - 32) > 32 || value < 2) + return bfd_reloc_overflow; + value >>= 1; + value--; + value &= 0xF; + value <<= 4; + value |= left_val; + bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_08: /* word1(0-3,8-11). */ + if (value > 255 || value < -256 || value == 0x80) + return bfd_reloc_overflow; + value &= 0x1FF; + value >>= 1; + sword = value & 0x000F; + sword |= (value & 0x00F0) << 4; + sword |= left_val; + bfd_put_16 (abfd, (bfd_vma) sword, + (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_16: /* word2. */ + if (value > 65535 || value < -65536) + return bfd_reloc_overflow; + value >>= 1; + value &= 0xFFFF; + value = ((value & 0x8000) >> 15) | ((value & 0x7FFF) << 1); + sword = value; + bfd_put_16 (abfd, (bfd_vma) sword, + (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_24_a: /* word1(0-7),word2. */ + if (value > 16777215 || value < -16777216) + return bfd_reloc_overflow; + value &= 0x1FFFFFF; + value >>= 1; + value = ((value & 0x00007FFF) << 17) | + ((value & 0x00800000) >> 7) | ((value & 0x007F8000) >> 15); + value |= left_val; + bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_24: /* word2(0-3,8-11),word3. */ + if (value > 16777215 || value < -16777216) + return bfd_reloc_overflow; + value &= 0x1FFFFFF; + value >>= 1; + + value = ((value & 0x007FFFFF) << 1) | ((value & 0x00800000) >> 23); + + value = ((value & 0x0000FFFF) << 16) | + ((value & 0x000F0000) >> 8) | ((value & 0x00F00000) >> 20); + value |= left_val; + bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets); + return bfd_reloc_ok; + break; + default: + return bfd_reloc_notsupported; + } + break; + + case R_16C_REGREL: + switch (size) + { + case R_S_16C_04: /* word1(12-15) not scaled. */ + if (value > 13 || value < 0) + return bfd_reloc_overflow; + value &= 0xF; + value |= left_val; + bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_04_a: /* word1(12-15) not scaled. */ + if (value > 26 || value < 0) + return bfd_reloc_overflow; + value &= 0x1F; + value >>= 1; + value |= left_val; + bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_14: /* word1(4-5),word2(0-3,8-15). */ + if (value < 0 || value > 16383) + return bfd_reloc_overflow; + value &= 0x3FFF; + value = ((value & 0x000000c0) << 24) | + ((value & 0x00003F00) << 16) | + ((value & 0x0000000F) << 16) | (value & 0x00000030); + value |= left_val; + bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_16: /* word2. */ + if (value > 65535 || value < 0) + return bfd_reloc_overflow; + value &= 0xFFFF; + sword = value; + bfd_put_16 (abfd, (bfd_vma) sword, + (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_20: /* word2(8-11),word3. */ + /* if (value > 1048575 || value < 0) RELOC_ERROR(1); */ + value &= 0xFFFFF; + sword = value & 0x0000FFFF; + value = (value & 0x000F0000) >> 16; + value |= left_val; + bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets); + bfd_put_16 (abfd, (bfd_vma) sword, + (unsigned char *) data + octets + 1); + if (neg2pos) + { + /* Change load/stor negative displ opcode + to load/stor positive displ opcode. */ + value = bfd_get_8 (abfd, (char *) data + octets - 3); + value &= 0xF7; + value |= 0x2; + bfd_put_8 (abfd, (bfd_vma) value, + (unsigned char *) data + octets - 3); + } + return bfd_reloc_ok; + break; + default: + return bfd_reloc_notsupported; + } + break; + + case R_16C_ABS: + switch (size) + { + case R_S_16C_20: /* word1(0-3),word2. */ + if (value > 1048575 || value < 0) + return bfd_reloc_overflow; + value &= 0xFFFFF; + value = ((value & 0x0000FFFF) << 16) | + ((value & 0x000F0000) >> 16); + value |= left_val; + bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_24: /* word2(0-3,8-11),word3. */ + /* if (value > 16777215 || value < 0) RELOC_ERROR(1); */ + value &= 0xFFFFFF; + value = ((value & 0x0000FFFF) << 16) | + ((value & 0x000F0000) >> 8) | ((value & 0x00F00000) >> 20); + value |= left_val; + bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets); + return bfd_reloc_ok; + break; + default: + return bfd_reloc_notsupported; + } + break; + + case R_16C_IMMED: + switch (size) + { + case R_S_16C_04: /* word1/2(4-7). */ + if (value > 15 || value < -1) + return bfd_reloc_overflow; + value &= 0xF; + value <<= 4; + value |= left_val; + bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_16: /* word2. */ + if (value > 32767 || value < -32768) + return bfd_reloc_overflow; + value &= 0xFFFF; + sword = value; + bfd_put_16 (abfd, (bfd_vma) sword, + (unsigned char *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_20: /* word1(0-3),word2. */ + if (value > 1048575 || value < 0) + return bfd_reloc_overflow; + value &= 0xFFFFF; + value = ((value & 0x0000FFFF) << 16) | + ((value & 0x000F0000) >> 16); + value |= left_val; + bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets); + return bfd_reloc_ok; + break; + case R_S_16C_32: /* word2, word3. */ + value &= 0xFFFFFFFF; + value = ((value & 0x0000FFFF) << 16) | + ((value & 0xFFFF0000) >> 16); + bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets); + return bfd_reloc_ok; + break; + default: + return bfd_reloc_notsupported; + } + break; + default: + return bfd_reloc_notsupported; + } +} + +/* Relocate a CR16C ELF section. */ + +static bfd_boolean +elf32_cr16c_relocate_section (bfd *output_bfd, + struct bfd_link_info *info, + bfd *input_bfd, + asection *input_section, + bfd_byte *contents, + Elf_Internal_Rela *relocs, + Elf_Internal_Sym *local_syms, + asection **local_sections) +{ + Elf_Internal_Shdr *symtab_hdr; + struct elf_link_hash_entry **sym_hashes; + Elf_Internal_Rela *rel, *relend; + + symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; + sym_hashes = elf_sym_hashes (input_bfd); + + rel = relocs; + relend = relocs + input_section->reloc_count; + for (; rel < relend; rel++) + { + int r_type; + reloc_howto_type *howto; + unsigned long r_symndx; + Elf_Internal_Sym *sym; + asection *sec; + struct elf_link_hash_entry *h; + bfd_vma relocation; + bfd_reloc_status_type r; + + r_symndx = ELF32_R_SYM (rel->r_info); + r_type = ELF32_R_TYPE (rel->r_info); + howto = elf_howto_table + r_type; + + if (info->relocatable) + { + /* This is a relocatable link. We don't have to change + anything, unless the reloc is against a section symbol, + in which case we have to adjust according to where the + section symbol winds up in the output section. */ + if (r_symndx < symtab_hdr->sh_info) + { + sym = local_syms + r_symndx; + if (ELF_ST_TYPE (sym->st_info) == STT_SECTION) + { + sec = local_sections[r_symndx]; + rel->r_addend += sec->output_offset + sym->st_value; + } + } + + continue; + } + + /* This is a final link. */ + h = NULL; + sym = NULL; + sec = NULL; + if (r_symndx < symtab_hdr->sh_info) + { + sym = local_syms + r_symndx; + sec = local_sections[r_symndx]; + relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel); + } + else + { + bfd_boolean unresolved_reloc, warned; + + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); + } + + r = cr16c_elf_final_link_relocate (howto, input_bfd, output_bfd, + input_section, + contents, rel->r_offset, + relocation, rel->r_addend, + info, sec, h == NULL); + + if (r != bfd_reloc_ok) + { + const char *name; + const char *msg = (const char *) 0; + + if (h != NULL) + name = h->root.root.string; + else + { + name = (bfd_elf_string_from_elf_section + (input_bfd, symtab_hdr->sh_link, sym->st_name)); + if (name == NULL || *name == '\0') + name = bfd_section_name (input_bfd, sec); + } + + switch (r) + { + case bfd_reloc_overflow: + if (!((*info->callbacks->reloc_overflow) + (info, name, howto->name, (bfd_vma) 0, + input_bfd, input_section, rel->r_offset))) + return FALSE; + break; + + case bfd_reloc_undefined: + if (!((*info->callbacks->undefined_symbol) + (info, name, input_bfd, input_section, + rel->r_offset, TRUE))) + return FALSE; + break; + + case bfd_reloc_outofrange: + msg = _("internal error: out of range error"); + goto common_error; + + case bfd_reloc_notsupported: + msg = _("internal error: unsupported relocation error"); + goto common_error; + + case bfd_reloc_dangerous: + msg = _("internal error: dangerous error"); + goto common_error; + + default: + msg = _("internal error: unknown error"); + /* fall through */ + + common_error: + if (!((*info->callbacks->warning) + (info, msg, name, input_bfd, input_section, + rel->r_offset))) + return FALSE; + break; + } + } + } + + return TRUE; +} + +static asection * +elf32_cr16c_gc_mark_hook (asection *sec, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + Elf_Internal_Rela *rel, + struct elf_link_hash_entry *h, + Elf_Internal_Sym *sym) +{ + if (h != NULL) + { + switch (ELF32_R_TYPE (rel->r_info)) + { + + default: + switch (h->root.type) + { + case bfd_link_hash_defined: + case bfd_link_hash_defweak: + return h->root.u.def.section; + + case bfd_link_hash_common: + return h->root.u.c.p->section; + + default: + break; + } + } + } + else + { + return bfd_section_from_elf_index (sec->owner, sym->st_shndx); + } + + return NULL; +} + +/* Update the got entry reference counts for the section being removed. */ + +static bfd_boolean +elf32_cr16c_gc_sweep_hook (bfd *abfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + asection *sec ATTRIBUTE_UNUSED, + const Elf_Internal_Rela *relocs ATTRIBUTE_UNUSED) +{ + /* We don't support garbage collection of GOT and PLT relocs yet. */ + return TRUE; +} + +/* CR16C ELF uses three common sections: + One is for default common symbols (placed in usual common section). + Second is for near common symbols (placed in "ncommon" section). + Third is for far common symbols (placed in "fcommon" section). + The following implementation is based on elf32-mips architecture */ + +static asection cr16c_elf_fcom_section; +static asymbol cr16c_elf_fcom_symbol; +static asymbol * cr16c_elf_fcom_symbol_ptr; +static asection cr16c_elf_ncom_section; +static asymbol cr16c_elf_ncom_symbol; +static asymbol * cr16c_elf_ncom_symbol_ptr; + +/* Given a BFD section, try to locate the + corresponding ELF section index. */ + +static bfd_boolean +elf32_cr16c_section_from_bfd_section (bfd *abfd ATTRIBUTE_UNUSED, + asection *sec, + int *retval) +{ + if (strcmp (bfd_get_section_name (abfd, sec), ".fcommon") == 0) + *retval = SHN_CR16C_FCOMMON; + else if (strcmp (bfd_get_section_name (abfd, sec), ".ncommon") == 0) + *retval = SHN_CR16C_NCOMMON; + else + return FALSE; + + return TRUE; +} + +/* Handle the special CR16C section numbers that a symbol may use. */ + +static void +elf32_cr16c_symbol_processing (bfd *abfd ATTRIBUTE_UNUSED, + asymbol *asym) +{ + elf_symbol_type *elfsym = (elf_symbol_type *) asym; + unsigned int indx; + + indx = elfsym->internal_elf_sym.st_shndx; + + switch (indx) + { + case SHN_CR16C_FCOMMON: + if (cr16c_elf_fcom_section.name == NULL) + { + /* Initialize the far common section. */ + cr16c_elf_fcom_section.name = ".fcommon"; + cr16c_elf_fcom_section.flags = SEC_IS_COMMON | SEC_ALLOC; + cr16c_elf_fcom_section.output_section = &cr16c_elf_fcom_section; + cr16c_elf_fcom_section.symbol = &cr16c_elf_fcom_symbol; + cr16c_elf_fcom_section.symbol_ptr_ptr = &cr16c_elf_fcom_symbol_ptr; + cr16c_elf_fcom_symbol.name = ".fcommon"; + cr16c_elf_fcom_symbol.flags = BSF_SECTION_SYM; + cr16c_elf_fcom_symbol.section = &cr16c_elf_fcom_section; + cr16c_elf_fcom_symbol_ptr = &cr16c_elf_fcom_symbol; + } + asym->section = &cr16c_elf_fcom_section; + asym->value = elfsym->internal_elf_sym.st_size; + break; + case SHN_CR16C_NCOMMON: + if (cr16c_elf_ncom_section.name == NULL) + { + /* Initialize the far common section. */ + cr16c_elf_ncom_section.name = ".ncommon"; + cr16c_elf_ncom_section.flags = SEC_IS_COMMON | SEC_ALLOC; + cr16c_elf_ncom_section.output_section = &cr16c_elf_ncom_section; + cr16c_elf_ncom_section.symbol = &cr16c_elf_ncom_symbol; + cr16c_elf_ncom_section.symbol_ptr_ptr = &cr16c_elf_ncom_symbol_ptr; + cr16c_elf_ncom_symbol.name = ".ncommon"; + cr16c_elf_ncom_symbol.flags = BSF_SECTION_SYM; + cr16c_elf_ncom_symbol.section = &cr16c_elf_ncom_section; + cr16c_elf_ncom_symbol_ptr = &cr16c_elf_ncom_symbol; + } + asym->section = &cr16c_elf_ncom_section; + asym->value = elfsym->internal_elf_sym.st_size; + break; + } +} + +/* Hook called by the linker routine which adds symbols from an object + file. We must handle the special cr16c section numbers here. */ + +static bfd_boolean +elf32_cr16c_add_symbol_hook (bfd *abfd, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + Elf_Internal_Sym *sym, + const char **namep ATTRIBUTE_UNUSED, + flagword *flagsp ATTRIBUTE_UNUSED, + asection **secp, + bfd_vma *valp) +{ + unsigned int indx = sym->st_shndx; + + switch (indx) + { + case SHN_CR16C_FCOMMON: + *secp = bfd_make_section_old_way (abfd, ".fcommon"); + (*secp)->flags |= SEC_IS_COMMON; + *valp = sym->st_size; + break; + case SHN_CR16C_NCOMMON: + *secp = bfd_make_section_old_way (abfd, ".ncommon"); + (*secp)->flags |= SEC_IS_COMMON; + *valp = sym->st_size; + break; + } + + return TRUE; +} + +static bfd_boolean +elf32_cr16c_link_output_symbol_hook (struct bfd_link_info *info ATTRIBUTE_UNUSED, + const char *name ATTRIBUTE_UNUSED, + Elf_Internal_Sym *sym, + asection *input_sec, + struct elf_link_hash_entry *h ATTRIBUTE_UNUSED) +{ + /* If we see a common symbol, which implies a relocatable link, then + if a symbol was in a special common section in an input file, mark + it as a special common in the output file. */ + + if (sym->st_shndx == SHN_COMMON) + { + if (strcmp (input_sec->name, ".fcommon") == 0) + sym->st_shndx = SHN_CR16C_FCOMMON; + else if (strcmp (input_sec->name, ".ncommon") == 0) + sym->st_shndx = SHN_CR16C_NCOMMON; + } + + return TRUE; +} + +/* Definitions for setting CR16C target vector. */ +#define TARGET_LITTLE_SYM bfd_elf32_cr16c_vec +#define TARGET_LITTLE_NAME "elf32-cr16c" +#define ELF_ARCH bfd_arch_cr16c +#define ELF_MACHINE_CODE EM_CR +#define ELF_MAXPAGESIZE 0x1 +#define elf_symbol_leading_char '_' + +#define bfd_elf32_bfd_reloc_type_lookup elf_cr16c_reloc_type_lookup +#define elf_info_to_howto elf_cr16c_info_to_howto +#define elf_info_to_howto_rel elf_cr16c_info_to_howto_rel +#define elf_backend_relocate_section elf32_cr16c_relocate_section +#define elf_backend_gc_mark_hook elf32_cr16c_gc_mark_hook +#define elf_backend_gc_sweep_hook elf32_cr16c_gc_sweep_hook +#define elf_backend_symbol_processing elf32_cr16c_symbol_processing +#define elf_backend_section_from_bfd_section elf32_cr16c_section_from_bfd_section +#define elf_backend_add_symbol_hook elf32_cr16c_add_symbol_hook +#define elf_backend_link_output_symbol_hook elf32_cr16c_link_output_symbol_hook + +#define elf_backend_can_gc_sections 1 + +#include "elf32-target.h" diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-cris.c binutils-2.15.90.0.2/bfd/elf32-cris.c --- binutils-2.15.90.0.1.1/bfd/elf32-cris.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-cris.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* CRIS-specific support for 32-bit ELF. - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Axis Communications AB. Written by Hans-Peter Nilsson, based on elf32-fr30.c PIC and shlib bits based primarily on elf32-m68k.c and elf32-i386.c. @@ -859,7 +859,10 @@ cris_elf_relocate_section (output_bfd, i bfd_boolean warned; bfd_boolean unresolved_reloc; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); if (unresolved_reloc /* Perhaps we should detect the cases that @@ -957,11 +960,25 @@ cris_elf_relocate_section (output_bfd, i statically linking PIC code, or when using -Bsymbolic. Check that we instead have a GOT entry as done for us by elf_cris_adjust_dynamic_symbol, and drop through into the - ordinary GOT cases. */ - if (h != NULL && h->got.offset == (bfd_vma) -1) + ordinary GOT cases. This must not happen for the + executable, because any reference it does to a function + that is satisfied by a DSO must generate a PLT. We assume + these call-specific relocs don't address non-functions. */ + if (h != NULL + && (h->got.offset == (bfd_vma) -1 + || (!info->shared + && !((h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_REGULAR) != 0 + || ((h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + && h->root.type == bfd_link_hash_undefweak))))) { (*_bfd_error_handler) - (_("%s: No PLT nor GOT for relocation %s against symbol `%s' from %s section"), + ((h->got.offset == (bfd_vma) -1) + ? _("%s: No PLT nor GOT for relocation %s against\ + symbol `%s' from %s section") + : _("%s: No PLT for relocation %s against\ + symbol `%s' from %s section"), bfd_archive_filename (input_bfd), cris_elf_howto_table[r_type].name, symname[0] != '\0' ? symname : _("[whose name is lost]"), @@ -993,18 +1010,25 @@ cris_elf_relocate_section (output_bfd, i if (!elf_hash_table (info)->dynamic_sections_created || (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + || h->type == STT_FUNC + || (h->elf_link_hash_flags + & ELF_LINK_HASH_NEEDS_PLT))) || (info->shared && (info->symbolic || h->dynindx == -1) && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) { /* This wasn't checked above for ! info->shared, but - must hold there if we get here; the symbol must be - defined in the regular program, or be undefweak. */ + must hold there if we get here; the symbol must + be defined in the regular program or be undefweak + or be a function or otherwise need a PLT. */ BFD_ASSERT (!elf_hash_table (info)->dynamic_sections_created || info->shared || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 + || h->type == STT_FUNC + || (h->elf_link_hash_flags + & ELF_LINK_HASH_NEEDS_PLT) || h->root.type == bfd_link_hash_undefweak); /* This is actually a static link, or it is a @@ -1418,7 +1442,7 @@ elf_cris_finish_dynamic_symbol (output_b to this function. Note that we embed knowledge that "incoming" .got goes after .got.plt in the output without padding (pointer aligned). However, that knowledge is present in several other - places too, here and in elflink.h at least. */ + places too. */ bfd_vma got_offset = (has_gotplt ? gotplt_offset @@ -1508,12 +1532,15 @@ elf_cris_finish_dynamic_symbol (output_b } } - /* We don't emit .got relocs for symbols that aren't in the - dynamic-symbols table for an ordinary program and are either defined - by the program or are undefined weak symbols. */ + /* For an ordinary program, we emit .got relocs only for symbols that + are in the dynamic-symbols table and are either defined by the + program or are undefined weak symbols, or are function symbols + where we do not output a PLT: the PLT reloc was output above and all + references to the function symbol are redirected to the PLT. */ if (h->got.offset != (bfd_vma) -1 && (info->shared || (h->dynindx != -1 + && h->plt.offset == (bfd_vma) -1 && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 && h->root.type != bfd_link_hash_undefweak))) { @@ -1835,13 +1862,12 @@ cris_elf_gc_sweep_hook (abfd, info, sec, r_symndx = ELF32_R_SYM (rel->r_info); if (r_symndx < symtab_hdr->sh_info) goto local_got_reloc; - + /* Fall through. */ case R_CRIS_32_PLT_GOTREL: /* FIXME: We don't garbage-collect away the .got section. */ if (local_got_refcounts != NULL) local_got_refcounts[-1]--; /* Fall through. */ - case R_CRIS_8_PCREL: case R_CRIS_16_PCREL: case R_CRIS_32_PCREL: @@ -1926,16 +1952,22 @@ elf_cris_adjust_gotplt_to_got (h, p) want to do this: - When all PLT references are GOTPLT references, and there are GOT - references. We don't have to generate a PLT at all. + references, and this is not the executable. We don't have to + generate a PLT at all. - - When there are both (ordinary) PLT references and GOT references. + - When there are both (ordinary) PLT references and GOT references, + and this isn't the executable. We want to make the PLT reference use the ordinary GOT entry rather - than a run-time dynamically resolved GOTPLT entry (since the GOT - entry will have to be resolved at startup anyway). + than R_CRIS_JUMP_SLOT, a run-time dynamically resolved GOTPLT entry, + since the GOT entry will have to be resolved at startup anyway. Though the latter case is handled when room for the PLT is allocated, not here. + By folding into the GOT, we may need a round-trip to a PLT in the + executable for calls, a loss in performance. Still, losing a + reloc is a win in size and at least in start-up time. + Note that this function is called before symbols are forced local by version scripts. The differing cases are handled by elf_cris_hide_symbol. */ @@ -2042,10 +2074,14 @@ elf_cris_adjust_dynamic_symbol (info, h) info); } - /* If there are only GOT references and GOTPLT references to this - PLT entry, get rid of the PLT. */ - if (! elf_cris_try_fold_plt_to_got ((struct elf_cris_link_hash_entry *) - h, info)) + /* If we had a R_CRIS_GLOB_DAT that didn't have to point to a PLT; + where a pointer-equivalent symbol was unimportant (i.e. more + like R_CRIS_JUMP_SLOT after symbol evaluation) we could get rid + of the PLT. We can't for the executable, because the GOT + entries will point to the PLT there (and be constant). */ + if (info->shared + && !elf_cris_try_fold_plt_to_got ((struct elf_cris_link_hash_entry*) + h, info)) return FALSE; /* GC or folding may have rendered this entry unused. */ @@ -2059,7 +2095,7 @@ elf_cris_adjust_dynamic_symbol (info, h) /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2083,8 +2119,11 @@ elf_cris_adjust_dynamic_symbol (info, h) /* If there's already a GOT entry, use that, not a .got.plt. A GOT field still has a reference count when we get here; it's - not yet changed to an offset. */ - if (h->got.refcount > 0) + not yet changed to an offset. We can't do this for an + executable, because then the reloc associated with the PLT + would get a non-PLT reloc pointing to the PLT. FIXME: Move + this to elf_cris_try_fold_plt_to_got. */ + if (info->shared && h->got.refcount > 0) { h->got.refcount += h->plt.refcount; @@ -2383,7 +2422,7 @@ cris_elf_check_relocs (abfd, info, sec, /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (!bfd_elf32_link_record_dynamic_symbol (info, h)) + if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2600,14 +2639,14 @@ cris_elf_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_CRIS_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_CRIS_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -2770,7 +2809,7 @@ elf_cris_size_dynamic_sections (output_b the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (!info->shared) { @@ -2857,9 +2896,11 @@ elf_cris_discard_excess_program_dynamics /* If we're not creating a shared library and have a symbol which is referred to by .got references, but the symbol is defined locally, - (or rather, not not defined by a DSO) then lose the reloc for the - .got (don't allocate room for it). */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0) + (or rather, not defined by a DSO) then lose the reloc for the .got + (don't allocate room for it). Likewise for relocs for something + for which we create a PLT. */ + if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + || h->root.plt.refcount > 0) { if (h->root.got.refcount > 0 /* The size of this section is only valid and in sync with the @@ -2885,7 +2926,8 @@ elf_cris_discard_excess_program_dynamics introduce new problems. Of course we don't do this if we're exporting all dynamic symbols. */ if (! info->export_dynamic - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) + && (h->root.elf_link_hash_flags + & (ELF_LINK_HASH_DEF_DYNAMIC|ELF_LINK_HASH_REF_DYNAMIC)) == 0) { h->root.dynindx = -1; _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, @@ -3048,7 +3090,7 @@ elf_cris_reloc_type_class (rela) #define elf_backend_create_dynamic_sections \ _bfd_elf_create_dynamic_sections #define bfd_elf32_bfd_final_link \ - _bfd_elf32_gc_common_final_link + bfd_elf_gc_common_final_link #define elf_backend_hide_symbol elf_cris_hide_symbol #define elf_backend_reloc_type_class elf_cris_reloc_type_class diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-d10v.c binutils-2.15.90.0.2/bfd/elf32-d10v.c --- binutils-2.15.90.0.1.1/bfd/elf32-d10v.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-d10v.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* D10V-specific support for 32-bit ELF - Copyright 1996, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Martin Hunt (hunt@cygnus.com). @@ -334,14 +334,14 @@ elf32_d10v_check_relocs (abfd, info, sec /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_D10V_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_D10V_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset)) return FALSE; break; } @@ -517,28 +517,12 @@ elf32_d10v_relocate_section (output_bfd, } else { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - relocation = 0; - else - { - if (!((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - relocation = 0; - } + bfd_boolean unresolved_reloc, warned; + + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } if (h != NULL) diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-dlx.c binutils-2.15.90.0.2/bfd/elf32-dlx.c --- binutils-2.15.90.0.1.1/bfd/elf32-dlx.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-dlx.c 2004-04-12 12:56:33.000000000 -0700 @@ -558,14 +558,14 @@ elf32_dlx_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_DLX_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_DLX_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-fr30.c binutils-2.15.90.0.2/bfd/elf32-fr30.c --- binutils-2.15.90.0.1.1/bfd/elf32-fr30.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-fr30.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* FR30-specific support for 32-bit ELF. - Copyright 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -566,47 +566,12 @@ fr30_elf_relocate_section (output_bfd, i } else { - h = sym_hashes [r_symndx - symtab_hdr->sh_info]; + bfd_boolean unresolved_reloc, warned; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - name = h->root.root.string; - - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); -#if 0 - fprintf (stderr, - "defined: sec: %s, name: %s, value: %x + %x + %x gives: %x\n", - sec->name, name, h->root.u.def.value, - sec->output_section->vma, sec->output_offset, relocation); -#endif - } - else if (h->root.type == bfd_link_hash_undefweak) - { -#if 0 - fprintf (stderr, "undefined: sec: %s, name: %s\n", - sec->name, name); -#endif - relocation = 0; - } - else - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; -#if 0 - fprintf (stderr, "unknown: name: %s\n", name); -#endif - relocation = 0; - } + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } r = fr30_final_link_relocate (howto, input_bfd, input_section, @@ -753,14 +718,14 @@ fr30_elf_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_FR30_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_FR30_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-frv.c binutils-2.15.90.0.2/bfd/elf32-frv.c --- binutils-2.15.90.0.1.1/bfd/elf32-frv.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-frv.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* FRV-specific support for 32-bit ELF. - Copyright 2002, 2003 Free Software Foundation, Inc. + Copyright 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -52,7 +52,7 @@ static bfd_boolean elf32_frv_relocate_se PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, Elf_Internal_Sym *, asection **)); static bfd_boolean elf32_frv_add_symbol_hook - PARAMS (( bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, + PARAMS (( bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *)); static bfd_reloc_status_type frv_final_link_relocate PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *, @@ -1958,16 +1958,16 @@ elf32_frv_relocate_section (output_bfd, { relocation = 0; } - else if ( ! info->executable - && ! info->symbolic - && info->unresolved_syms_in_objects == RM_IGNORE + else if (info->unresolved_syms_in_objects == RM_IGNORE && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) relocation = 0; else { if (! ((*info->callbacks->undefined_symbol) (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) + input_section, rel->r_offset, + (info->unresolved_syms_in_objects == RM_GENERATE_ERROR + || ELF_ST_VISIBILITY (h->other))))) return FALSE; relocation = 0; } @@ -2584,7 +2584,7 @@ static bfd_boolean elf32_frv_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp) bfd *abfd; struct bfd_link_info *info; - const Elf_Internal_Sym *sym; + Elf_Internal_Sym *sym; const char **namep ATTRIBUTE_UNUSED; flagword *flagsp ATTRIBUTE_UNUSED; asection **secp; @@ -2676,7 +2676,7 @@ _frv_create_got_section (bfd *abfd, stru /* Machine-specific: we want the symbol for executables as well. */ - if (! _bfd_elf_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; elf_hash_table (info)->hgot = h; @@ -2724,7 +2724,7 @@ _frv_create_got_section (bfd *abfd, stru h->type = STT_OBJECT; /* Machine-specific: we want the symbol for executables as well. */ - if (! _bfd_elf_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; return TRUE; @@ -2779,7 +2779,7 @@ elf32_frv_create_dynamic_sections (bfd * h->type = STT_OBJECT; if (! info->executable - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -3536,20 +3536,20 @@ elf32_frv_size_dynamic_sections (bfd *ou if (elf_hash_table (info)->dynamic_sections_created) { if (frv_got_section (info)->_raw_size) - if (! bfd_elf32_add_dynamic_entry (info, DT_PLTGOT, 0)) + if (!_bfd_elf_add_dynamic_entry (info, DT_PLTGOT, 0)) return FALSE; if (frv_pltrel_section (info)->_raw_size) - if (! bfd_elf32_add_dynamic_entry (info, DT_PLTRELSZ, 0) - || ! bfd_elf32_add_dynamic_entry (info, DT_PLTREL, DT_REL) - || ! bfd_elf32_add_dynamic_entry (info, DT_JMPREL, 0)) + if (!_bfd_elf_add_dynamic_entry (info, DT_PLTRELSZ, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_PLTREL, DT_REL) + || !_bfd_elf_add_dynamic_entry (info, DT_JMPREL, 0)) return FALSE; if (frv_gotrel_section (info)->_raw_size) - if (! bfd_elf32_add_dynamic_entry (info, DT_REL, 0) - || ! bfd_elf32_add_dynamic_entry (info, DT_RELSZ, 0) - || ! bfd_elf32_add_dynamic_entry (info, DT_RELENT, - sizeof (Elf32_External_Rel))) + if (!_bfd_elf_add_dynamic_entry (info, DT_REL, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_RELSZ, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_RELENT, + sizeof (Elf32_External_Rel))) return FALSE; } @@ -4028,7 +4028,7 @@ elf32_frv_check_relocs (abfd, info, sec, case STV_HIDDEN: break; default: - bfd_elf32_link_record_dynamic_symbol (info, h); + bfd_elf_link_record_dynamic_symbol (info, h); break; } picrel @@ -4107,14 +4107,14 @@ elf32_frv_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_FRV_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_FRV_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-gen.c binutils-2.15.90.0.2/bfd/elf32-gen.c --- binutils-2.15.90.0.1.1/bfd/elf32-gen.c 2002-12-16 12:22:51.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-gen.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Generic support for 32-bit ELF - Copyright 1993, 1995, 1998, 1999, 2001, 2002 + Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -88,7 +88,7 @@ elf32_generic_link_add_symbols (abfd, in return FALSE; } - return bfd_elf32_bfd_link_add_symbols (abfd, info); + return bfd_elf_link_add_symbols (abfd, info); } #define TARGET_LITTLE_SYM bfd_elf32_little_generic_vec diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-h8300.c binutils-2.15.90.0.2/bfd/elf32-h8300.c --- binutils-2.15.90.0.1.1/bfd/elf32-h8300.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-h8300.c 2004-04-12 12:56:33.000000000 -0700 @@ -439,28 +439,12 @@ elf32_h8_relocate_section (bfd *output_b } else { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - relocation = 0; - else - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - relocation = 0; - } + bfd_boolean unresolved_reloc, warned; + + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } r = elf32_h8_final_link_relocate (r_type, input_bfd, output_bfd, @@ -1574,7 +1558,7 @@ elf32_h8_gc_sweep_hook (bfd *abfd ATTRIB /* ??? when elf_backend_relocate_section is not defined, elf32-target.h defaults to using _bfd_generic_link_hash_table_create, but - elflink.h:bfd_elf32_size_dynamic_sections uses + bfd_elf_size_dynamic_sections uses dynobj = elf_hash_table (info)->dynobj; and thus requires an elf hash table. */ #define bfd_elf32_bfd_link_hash_table_create _bfd_elf_link_hash_table_create diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-hppa.c binutils-2.15.90.0.2/bfd/elf32-hppa.c --- binutils-2.15.90.0.1.1/bfd/elf32-hppa.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-hppa.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,6 +1,6 @@ /* BFD back-end for HP PA-RISC ELF files. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2001, - 2002, 2003 Free Software Foundation, Inc. + 2002, 2003, 2004 Free Software Foundation, Inc. Original code by Center for Software Science @@ -1147,12 +1147,13 @@ elf32_hppa_check_relocs (bfd *abfd, } break; - case R_PARISC_SEGBASE: /* Used to set segment base. */ + case R_PARISC_SEGBASE: /* Used to set segment base. */ case R_PARISC_SEGREL32: /* Relative reloc, used for unwind. */ case R_PARISC_PCREL14F: /* PC relative load/store. */ case R_PARISC_PCREL14R: case R_PARISC_PCREL17R: /* External branches. */ case R_PARISC_PCREL21L: /* As above, and for load/store too. */ + case R_PARISC_PCREL32: /* We don't need to propagate the relocation if linking a shared object since these are section relative. */ continue; @@ -1198,16 +1199,14 @@ elf32_hppa_check_relocs (bfd *abfd, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_PARISC_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, - &h->elf, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, &h->elf, rel->r_offset)) return FALSE; continue; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_PARISC_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, - &h->elf, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, &h->elf, rel->r_addend)) return FALSE; continue; @@ -1620,17 +1619,6 @@ elf32_hppa_hide_symbol (struct bfd_link_ } } -/* This is the condition under which elf32_hppa_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in elf32_hppa_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \ - ((DYN) \ - && ((INFO)->shared \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Adjust a symbol defined by a dynamic object and referenced by a regular object. The current definition is in some section of the dynamic object, but we're not including those sections. We have to @@ -1802,11 +1790,11 @@ allocate_plt_static (struct elf_link_has && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 && h->type != STT_PARISC_MILLI) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } - if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h)) + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, h)) { /* Allocate these later. From this point on, h->plabel means that the plt entry is only used by a plabel. @@ -1880,7 +1868,7 @@ allocate_dynrelocs (struct elf_link_hash && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 && h->type != STT_PARISC_MILLI) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1951,7 +1939,7 @@ allocate_dynrelocs (struct elf_link_hash && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 && h->type != STT_PARISC_MILLI) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2240,7 +2228,7 @@ elf32_hppa_size_dynamic_sections (bfd *o communicate the LTP value of a load module to the dynamic linker. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (!add_dynamic_entry (DT_PLTGOT, 0)) return FALSE; @@ -2792,8 +2780,7 @@ elf32_hppa_size_stubs } else if (hash->elf.root.type == bfd_link_hash_undefined) { - if (! (info->shared - && info->unresolved_syms_in_objects == RM_IGNORE + if (! (info->unresolved_syms_in_objects == RM_IGNORE && (ELF_ST_VISIBILITY (hash->elf.other) == STV_DEFAULT) && hash->elf.type != STT_PARISC_MILLI)) @@ -3005,7 +2992,7 @@ static bfd_boolean elf32_hppa_final_link (bfd *abfd, struct bfd_link_info *info) { /* Invoke the regular ELF linker to do all the work. */ - if (!bfd_elf32_bfd_final_link (abfd, info)) + if (!bfd_elf_final_link (abfd, info)) return FALSE; /* If we're producing a final executable, sort the contents of the @@ -3145,6 +3132,7 @@ final_link_relocate (asection *input_sec case R_PARISC_PCREL17R: case R_PARISC_PCREL14R: case R_PARISC_PCREL14F: + case R_PARISC_PCREL32: /* Make it a pc relative offset. */ value -= location; addend -= 8; @@ -3238,6 +3226,7 @@ final_link_relocate (asection *input_sec case R_PARISC_DIR17F: case R_PARISC_PCREL17C: case R_PARISC_PCREL14F: + case R_PARISC_PCREL32: case R_PARISC_DPREL14F: case R_PARISC_PLABEL32: case R_PARISC_DLTIND14F: @@ -3430,26 +3419,25 @@ elf32_hppa_relocate_section (bfd *output { struct elf_link_hash_entry *hh; bfd_boolean unresolved_reloc; + struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd); - RELOC_FOR_GLOBAL_SYMBOL (hh, elf_sym_hashes (input_bfd), r_symndx, symtab_hdr, - relocation, sym_sec, unresolved_reloc, info, - warned_undef); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + hh, sym_sec, relocation, + unresolved_reloc, warned_undef); if (relocation == 0 && hh->root.type != bfd_link_hash_defined && hh->root.type != bfd_link_hash_defweak && hh->root.type != bfd_link_hash_undefweak) { - if (!info->executable - && info->unresolved_syms_in_objects == RM_IGNORE + if (info->unresolved_syms_in_objects == RM_IGNORE && ELF_ST_VISIBILITY (hh->other) == STV_DEFAULT && hh->type == STT_PARISC_MILLI) { if (! info->callbacks->undefined_symbol (info, hh->root.root.string, input_bfd, - input_section, rel->r_offset, - ((info->shared && info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR) - || (!info->shared && info->unresolved_syms_in_objects == RM_GENERATE_ERROR)))) + input_section, rel->r_offset, FALSE)) return FALSE; warned_undef = TRUE; } @@ -3478,7 +3466,8 @@ elf32_hppa_relocate_section (bfd *output off = h->elf.got.offset; dyn = htab->elf.dynamic_sections_created; - if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, &h->elf)) + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, + &h->elf)) { /* If we aren't going to call finish_dynamic_symbol, then we need to handle initialisation of the .got @@ -3570,7 +3559,8 @@ elf32_hppa_relocate_section (bfd *output if (h != NULL) { off = h->elf.plt.offset; - if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, &h->elf)) + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, + &h->elf)) { /* In a non-shared link, adjust_dynamic_symbols isn't called for symbols forced local. We diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-i370.c binutils-2.15.90.0.2/bfd/elf32-i370.c --- binutils-2.15.90.0.1.1/bfd/elf32-i370.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-i370.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* i370-specific support for 32-bit ELF - Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003 + Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support. Hacked by Linas Vepstas for i370 linas@linas.org @@ -791,7 +791,7 @@ i370_elf_size_dynamic_sections (output_b the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (!info->shared) { @@ -1246,19 +1246,21 @@ i370_elf_relocate_section (output_bfd, i } else if (h->root.type == bfd_link_hash_undefweak) relocation = 0; - else if (info->shared + else if (info->unresolved_syms_in_objects == RM_IGNORE && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) relocation = 0; else { - (*info->callbacks->undefined_symbol) (info, - h->root.root.string, - input_bfd, - input_section, - rel->r_offset, - TRUE); - ret = FALSE; - continue; + if ((*info->callbacks->undefined_symbol) + (info, h->root.root.string, input_bfd, + input_section, rel->r_offset, + (info->unresolved_syms_in_objects == RM_GENERATE_ERROR + || ELF_ST_VISIBILITY (h->other)))) + { + ret = FALSE; + continue; + } + relocation = 0; } } @@ -1546,7 +1548,7 @@ static int i370_noop () #define elf_backend_add_symbol_hook \ (bfd_boolean (*) \ - PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, \ + PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *, \ const char **, flagword *, asection **, bfd_vma *))) i370_noop #define elf_backend_finish_dynamic_symbol \ (bfd_boolean (*) \ diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-i386.c binutils-2.15.90.0.2/bfd/elf32-i386.c --- binutils-2.15.90.0.1.1/bfd/elf32-i386.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-i386.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,6 +1,6 @@ /* Intel 80386/80486-specific support for 32-bit ELF - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 - Free Software Foundation, Inc. + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, + 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -1157,14 +1157,14 @@ elf_i386_check_relocs (bfd *abfd, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_386_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_386_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset)) return FALSE; break; @@ -1458,17 +1458,6 @@ elf_i386_adjust_dynamic_symbol (struct b return TRUE; } -/* This is the condition under which elf_i386_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in elf_i386_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ @@ -1500,7 +1489,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1568,7 +1557,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1657,7 +1646,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1895,7 +1884,7 @@ elf_i386_size_dynamic_sections (bfd *out the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (TAG), (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -2179,7 +2168,10 @@ elf_i386_relocate_section (bfd *output_b { bfd_boolean warned; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } switch (r_type) diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-i860.c binutils-2.15.90.0.2/bfd/elf32-i860.c --- binutils-2.15.90.0.1.1/bfd/elf32-i860.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-i860.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Intel i860 specific support for 32-bit ELF. - Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003 + Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Full i860 support contributed by Jason Eckhardt . @@ -1112,34 +1112,12 @@ elf32_i860_relocate_section (bfd *output } else { - h = sym_hashes [r_symndx - symtab_hdr->sh_info]; + bfd_boolean unresolved_reloc, warned; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - name = h->root.root.string; - - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - { - relocation = 0; - } - else - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - relocation = 0; - } + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } switch (r_type) diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-ip2k.c binutils-2.15.90.0.2/bfd/elf32-ip2k.c --- binutils-2.15.90.0.1.1/bfd/elf32-ip2k.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-ip2k.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Ubicom IP2xxx specific support for 32-bit ELF - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -1535,7 +1535,10 @@ ip2k_elf_relocate_section (output_bfd, i bfd_boolean warned; bfd_boolean unresolved_reloc; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); name = h->root.root.string; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-iq2000.c binutils-2.15.90.0.2/bfd/elf32-iq2000.c --- binutils-2.15.90.0.1.1/bfd/elf32-iq2000.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-iq2000.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* IQ2000-specific support for 32-bit ELF. - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -484,14 +484,14 @@ iq2000_elf_check_relocs (abfd, info, sec /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_IQ2000_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_IQ2000_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -621,9 +621,10 @@ iq2000_elf_relocate_section (output_bfd, bfd_boolean unresolved_reloc; bfd_boolean warned; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, - sec, unresolved_reloc, info, warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); name = h->root.root.string; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-m32r.c binutils-2.15.90.0.2/bfd/elf32-m32r.c --- binutils-2.15.90.0.1.1/bfd/elf32-m32r.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-m32r.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* M32R-specific support for 32-bit ELF. - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -51,7 +51,7 @@ bfd_boolean _bfd_m32r_elf_section_from_b void _bfd_m32r_elf_symbol_processing PARAMS ((bfd *, asymbol *)); static bfd_boolean m32r_elf_add_symbol_hook - PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, + PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *)); static bfd_boolean m32r_elf_relocate_section PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, @@ -93,11 +93,11 @@ static bfd_boolean m32r_elf_create_dynam static bfd_boolean m32r_elf_finish_dynamic_sections PARAMS ((bfd *, struct bfd_link_info *)); - + static bfd_boolean m32r_elf_finish_dynamic_symbol PARAMS ((bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, Elf_Internal_Sym *)); - + static bfd_boolean allocate_dynrelocs PARAMS ((struct elf_link_hash_entry *, PTR)); static bfd_boolean readonly_dynrelocs @@ -122,39 +122,39 @@ static bfd_boolean m32r_elf_fake_section /* Use RELA. But use REL to link old objects for backwords compatibility. */ /* Functions for the M32R ELF linker. */ - + /* The name of the dynamic interpreter. This is put in the .interp section. */ - + #define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1" - + /* The nop opcode we use. */ - + #define M32R_NOP 0x7000f000 - + #define PLT_EMPTY 0x10101010 /* RIE -> RIE */ - + /* The size in bytes of an entry in the procedure linkage table. */ #define PLT_ENTRY_SIZE 20 #define PLT_HEADER_SIZE 20 - + /* The first one entries in a procedure linkage table are reserved, and the initial contents are unimportant (we zero them out). Subsequent entries look like this. */ - + #define PLT0_ENTRY_WORD0 0xd6c00000 /* seth r6, #high(.got+4) */ #define PLT0_ENTRY_WORD1 0x86e60000 /* or3 r6, r6, #low(.got)+4) */ #define PLT0_ENTRY_WORD2 0x24e626c6 /* ld r4, @r6+ -> ld r6, @r6 */ #define PLT0_ENTRY_WORD3 0x1fc6f000 /* jmp r6 || pnop */ #define PLT0_ENTRY_WORD4 PLT_EMPTY /* RIE -> RIE */ - + #define PLT0_PIC_ENTRY_WORD0 0xa4cc0004 /* ld r4, @(4,r12) */ #define PLT0_PIC_ENTRY_WORD1 0xa6cc0008 /* ld r6, @(8,r12) */ #define PLT0_PIC_ENTRY_WORD2 0x1fc6f000 /* jmp r6 || nop */ #define PLT0_PIC_ENTRY_WORD3 PLT_EMPTY /* RIE -> RIE */ #define PLT0_PIC_ENTRY_WORD4 PLT_EMPTY /* RIE -> RIE */ - + #define PLT_ENTRY_WORD0 0xe6000000 /* ld24 r6, .name_in_GOT */ #define PLT_ENTRY_WORD1 0x06acf000 /* add r6, r12 || nop */ #define PLT_ENTRY_WORD0b 0xd6c00000 /* seth r6, #high(.name_in_GOT) */ @@ -1248,7 +1248,7 @@ static const struct m32r_reloc_map m32r_ { BFD_RELOC_M32R_SDA16, R_M32R_SDA16_RELA }, { BFD_RELOC_VTABLE_INHERIT, R_M32R_RELA_GNU_VTINHERIT }, { BFD_RELOC_VTABLE_ENTRY, R_M32R_RELA_GNU_VTENTRY }, - + { BFD_RELOC_M32R_GOT24, R_M32R_GOT24 }, { BFD_RELOC_M32R_26_PLTREL, R_M32R_26_PLTREL }, { BFD_RELOC_M32R_COPY, R_M32R_COPY }, @@ -1391,7 +1391,7 @@ static bfd_boolean m32r_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp) bfd *abfd; struct bfd_link_info *info; - const Elf_Internal_Sym *sym; + Elf_Internal_Sym *sym; const char **namep; flagword *flagsp ATTRIBUTE_UNUSED; asection **secp; @@ -1596,7 +1596,7 @@ m32r_elf_link_hash_newfunc (entry, table { struct elf_m32r_link_hash_entry *ret = (struct elf_m32r_link_hash_entry *) entry; - + /* Allocate the structure if it has not already been allocated by a subclass. */ if (ret == (struct elf_m32r_link_hash_entry *) NULL) @@ -1605,7 +1605,7 @@ m32r_elf_link_hash_newfunc (entry, table sizeof (struct elf_m32r_link_hash_entry))); if (ret == (struct elf_m32r_link_hash_entry *) NULL) return (struct bfd_hash_entry *) ret; - + /* Call the allocation method of the superclass. */ ret = ((struct elf_m32r_link_hash_entry *) _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret, @@ -1613,13 +1613,13 @@ m32r_elf_link_hash_newfunc (entry, table if (ret != (struct elf_m32r_link_hash_entry *) NULL) { struct elf_m32r_link_hash_entry *eh; - + eh = (struct elf_m32r_link_hash_entry *) ret; eh->dyn_relocs = NULL; // eh->gotplt_refcount = 0; /* eh->pcrel_relocs_copied = NULL; FIXME */ } - + return (struct bfd_hash_entry *) ret; } @@ -1632,18 +1632,18 @@ m32r_elf_link_hash_table_create (abfd) { struct elf_m32r_link_hash_table *ret; bfd_size_type amt = sizeof (struct elf_m32r_link_hash_table); - + ret = (struct elf_m32r_link_hash_table *) bfd_malloc (amt); if (ret == (struct elf_m32r_link_hash_table *) NULL) return NULL; - + if (! _bfd_elf_link_hash_table_init (&ret->root, abfd, m32r_elf_link_hash_newfunc)) { free (ret); return NULL; } - + ret->sgot = NULL; ret->sgotplt = NULL; ret->srelgot = NULL; @@ -1652,7 +1652,7 @@ m32r_elf_link_hash_table_create (abfd) ret->sdynbss = NULL; ret->srelbss = NULL; ret->sym_sec.abfd = NULL; - + return &ret->root.root; } @@ -1730,18 +1730,19 @@ m32r_elf_create_dynamic_sections (abfd, { /* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the .plt section. */ - struct elf_link_hash_entry *h = NULL; + struct bfd_link_hash_entry *bh = NULL; + struct elf_link_hash_entry *h; if (! (_bfd_generic_link_add_one_symbol (info, abfd, "_PROCEDURE_LINKAGE_TABLE_", BSF_GLOBAL, s, (bfd_vma) 0, (const char *) NULL, FALSE, - get_elf_backend_data (abfd)->collect, - (struct bfd_link_hash_entry **) &h))) + get_elf_backend_data (abfd)->collect, &bh))) return FALSE; + h = (struct elf_link_hash_entry *) bh; h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; h->type = STT_OBJECT; if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1827,33 +1828,33 @@ m32r_elf_create_dynamic_sections (abfd, static void m32r_elf_copy_indirect_symbol (const struct elf_backend_data *, struct elf_link_hash_entry *, struct elf_link_hash_entry *); - + static void m32r_elf_copy_indirect_symbol (const struct elf_backend_data *bed, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { struct elf_m32r_link_hash_entry *edir, *eind; - + edir = (struct elf_m32r_link_hash_entry *) dir; eind = (struct elf_m32r_link_hash_entry *) ind; - + if (eind->dyn_relocs != NULL) { if (edir->dyn_relocs != NULL) { struct elf_m32r_dyn_relocs **pp; struct elf_m32r_dyn_relocs *p; - + if (ind->root.type == bfd_link_hash_indirect) abort (); - + /* Add reloc counts against the weak sym to the strong sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { struct elf_m32r_dyn_relocs *q; - + for (q = edir->dyn_relocs; q != NULL; q = q->next) if (q->sec == p->sec) { @@ -1867,11 +1868,11 @@ m32r_elf_copy_indirect_symbol (const str } *pp = edir->dyn_relocs; } - + edir->dyn_relocs = eind->dyn_relocs; eind->dyn_relocs = NULL; } - + // if (ind->root.type == bfd_link_hash_indirect // && dir->got.refcount <= 0) // { @@ -1887,7 +1888,7 @@ m32r_elf_copy_indirect_symbol (const str dynamic object, but we're not including those sections. We have to change the definition to something the rest of the link can understand. */ - + static bfd_boolean m32r_elf_adjust_dynamic_symbol (info, h) struct bfd_link_info *info; @@ -1903,9 +1904,9 @@ m32r_elf_adjust_dynamic_symbol (info, h) #ifdef DEBUG_PIC printf("m32r_elf_adjust_dynamic_symbol()\n"); #endif - + dynobj = elf_hash_table (info)->dynobj; - + /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) @@ -1917,7 +1918,7 @@ printf("m32r_elf_adjust_dynamic_symbol() && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0))); - + /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ @@ -1943,7 +1944,7 @@ printf("m32r_elf_adjust_dynamic_symbol() } else h->plt.offset = (bfd_vma) -1; - + /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ @@ -1955,17 +1956,17 @@ printf("m32r_elf_adjust_dynamic_symbol() h->root.u.def.value = h->weakdef->root.u.def.value; return TRUE; } - + /* This is a reference to a symbol defined by a dynamic object which is not a function. */ - + /* If we are creating a shared library, we must presume that the only references to the symbol are via the global offset table. For such cases we need not do anything here; the relocations will be handled correctly by relocate_section. */ if (info->shared) return TRUE; - + /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) @@ -2004,11 +2005,11 @@ printf("m32r_elf_adjust_dynamic_symbol() determine the address it must put in the global offset table, so both the dynamic object and the regular object will refer to the same memory location for the variable. */ - + htab = m32r_elf_hash_table (info); s = htab->sdynbss; BFD_ASSERT (s != NULL); - + /* We must generate a R_M32R_COPY reloc to tell the dynamic linker to copy the initial value out of the dynamic object and into the runtime process image. We need to remember the offset into the @@ -2016,19 +2017,19 @@ printf("m32r_elf_adjust_dynamic_symbol() if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { asection *srel; - + srel = htab->srelbss; BFD_ASSERT (srel != NULL); srel->_raw_size += sizeof (Elf32_External_Rela); h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; } - + /* We need to figure out the alignment required for this symbol. I have no idea how ELF linkers handle this. */ power_of_two = bfd_log2 (h->size); if (power_of_two > 3) power_of_two = 3; - + /* Apply the required alignment. */ s->_raw_size = BFD_ALIGN (s->_raw_size, (bfd_size_type) (1 << power_of_two)); @@ -2037,31 +2038,20 @@ printf("m32r_elf_adjust_dynamic_symbol() if (! bfd_set_section_alignment (dynobj, s, power_of_two)) return FALSE; } - + /* Define the symbol as being at this point in the section. */ h->root.u.def.section = s; h->root.u.def.value = s->_raw_size; - + /* Increment the section size to make room for the symbol. */ s->_raw_size += h->size; - + return TRUE; } -/* This is the condition under which finish_dynamic_symbol will be called - from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol - routine, we'll need to do something about initializing any .plt and .got - entries in relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \ - ((DYN) \ - && ((INFO)->shared \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ - + static bfd_boolean allocate_dynrelocs (h, inf) struct elf_link_hash_entry *h; @@ -2071,19 +2061,19 @@ allocate_dynrelocs (h, inf) struct elf_m32r_link_hash_table *htab; struct elf_m32r_link_hash_entry *eh; struct elf_m32r_dyn_relocs *p; - + if (h->root.type == bfd_link_hash_indirect) return TRUE; - + if (h->root.type == bfd_link_hash_warning) /* When warning symbols are created, they **replace** the "real" entry in the hash table, thus we never get to see the real symbol in a hash traversal. So look at it now. */ h = (struct elf_link_hash_entry *) h->root.u.i.link; - + info = (struct bfd_link_info *) inf; htab = m32r_elf_hash_table (info); - + eh = (struct elf_m32r_link_hash_entry *) h; // if ((h->got.refcount > 0 // || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) @@ -2095,7 +2085,7 @@ allocate_dynrelocs (h, inf) // if (h->plt.refcount >= eh->gotplt_refcount) // h->plt.refcount -= eh->gotplt_refcount; // } - + if (htab->root.dynamic_sections_created && h->plt.refcount > 0) { @@ -2104,21 +2094,21 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } - - if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h)) + + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, h)) { asection *s = htab->splt; - + /* If this is the first .plt entry, make room for the special first entry. */ if (s->_raw_size == 0) s->_raw_size += PLT_ENTRY_SIZE; - + h->plt.offset = s->_raw_size; - + /* If this symbol is not defined in a regular file, and we are not generating a shared library, then set the symbol to this location in the .plt. This is required to make function @@ -2130,14 +2120,14 @@ allocate_dynrelocs (h, inf) h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; } - + /* Make room for this entry. */ s->_raw_size += PLT_ENTRY_SIZE; - + /* We also need to make an entry in the .got.plt section, which will be placed in the .got section by the linker script. */ htab->sgotplt->_raw_size += 4; - + /* We also need to make an entry in the .rel.plt section. */ htab->srelplt->_raw_size += sizeof (Elf32_External_Rela); } @@ -2152,35 +2142,35 @@ allocate_dynrelocs (h, inf) h->plt.offset = (bfd_vma) -1; h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; } - + if (h->got.refcount > 0) { asection *s; bfd_boolean dyn; - + /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } - + s = htab->sgot; h->got.offset = s->_raw_size; s->_raw_size += 4; dyn = htab->root.dynamic_sections_created; - if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)) + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h)) htab->srelgot->_raw_size += sizeof (Elf32_External_Rela); } else h->got.offset = (bfd_vma) -1; - + if (eh->dyn_relocs == NULL) return TRUE; - + /* In the shared -Bsymbolic case, discard space allocated for dynamic pc-relative relocs against symbols which turn out to be defined in regular objects. For the normal shared case, discard @@ -2210,7 +2200,7 @@ allocate_dynrelocs (h, inf) /* For the non-shared case, discard space for relocs against symbols which turn out to need copy relocs or are not dynamic. */ - + if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) @@ -2223,32 +2213,32 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } - + /* If that succeeded, we know we'll be keeping all the relocs. */ if (h->dynindx != -1) goto keep; } - + eh->dyn_relocs = NULL; - + keep: ; } - + /* Finally, allocate space. */ for (p = eh->dyn_relocs; p != NULL; p = p->next) { asection *sreloc = elf_section_data (p->sec)->sreloc; sreloc->_raw_size += p->count * sizeof (Elf32_External_Rela); } - + return TRUE; } /* Find any dynamic relocs that apply to read-only sections. */ - + static bfd_boolean readonly_dynrelocs (h, inf) struct elf_link_hash_entry *h; @@ -2279,7 +2269,7 @@ readonly_dynrelocs (h, inf) } /* Set the sizes of the dynamic sections. */ - + static bfd_boolean m32r_elf_size_dynamic_sections (output_bfd, info) bfd *output_bfd ATTRIBUTE_UNUSED; @@ -2441,7 +2431,7 @@ printf("m32r_elf_size_dynamic_sections() the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (! info->shared) { @@ -2541,7 +2531,7 @@ m32r_elf_relocate_section (output_bfd, i dynobj = htab->root.dynobj; local_got_offsets = elf_local_got_offsets (input_bfd); - + sgot = htab->sgot; splt = htab->splt; sreloc = NULL; @@ -2681,7 +2671,7 @@ m32r_elf_relocate_section (output_bfd, i section symbol winds up in the output section. */ if (ELF_ST_TYPE (sym->st_info) == STT_SECTION) rel->r_addend += sec->output_offset + sym->st_value; - + continue; } } @@ -2722,7 +2712,8 @@ m32r_elf_relocate_section (output_bfd, i || r_type == R_M32R_GOT16_HI_ULO || r_type == R_M32R_GOT16_HI_SLO || r_type == R_M32R_GOT16_LO) - && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h) + && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, + info->shared, h) && (! info->shared || (! info->symbolic && h->dynindx != -1) || (h->elf_link_hash_flags @@ -2744,7 +2735,7 @@ m32r_elf_relocate_section (output_bfd, i || r_type == R_M32R_26_PCREL_RELA) && ((input_section->flags & SEC_ALLOC) != 0 /* DWARF will emit R_M32R_16(24,32) relocations - in its sections against symbols defined + in its sections against symbols defined externally in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 @@ -2772,8 +2763,7 @@ m32r_elf_relocate_section (output_bfd, i } else if (h->root.type == bfd_link_hash_undefweak) relocation = 0; - else if (info->shared - && (!info->symbolic) + else if (info->unresolved_syms_in_objects == RM_IGNORE && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) relocation = 0; else @@ -2781,7 +2771,7 @@ m32r_elf_relocate_section (output_bfd, i if (! ((*info->callbacks->undefined_symbol) (info, h->root.root.string, input_bfd, input_section, offset, - (!info->shared + (info->unresolved_syms_in_objects == RM_GENERATE_ERROR || ELF_ST_VISIBILITY (h->other))))) return FALSE; relocation = 0; @@ -2806,7 +2796,7 @@ m32r_elf_relocate_section (output_bfd, i case R_M32R_GOTPC_HI_ULO: case R_M32R_GOTPC_HI_SLO: - case R_M32R_GOTPC_LO: + case R_M32R_GOTPC_LO: { /* .got(_GLOBAL_OFFSET_TABLE_) - pc relocation bl .+4 @@ -2821,7 +2811,7 @@ m32r_elf_relocate_section (output_bfd, i relocation -= (input_section->output_section->vma + input_section->output_offset + rel->r_offset); - if ((r_type == R_M32R_GOTPC_HI_SLO) + if ((r_type == R_M32R_GOTPC_HI_SLO) && ((relocation + rel->r_addend) & 0x8000)) rel->r_addend += 0x10000; @@ -2829,23 +2819,23 @@ m32r_elf_relocate_section (output_bfd, i } case R_M32R_GOT16_HI_ULO: case R_M32R_GOT16_HI_SLO: - case R_M32R_GOT16_LO: + case R_M32R_GOT16_LO: /* Fall through. */ case R_M32R_GOT24: /* Relocation is to the entry for this symbol in the global offset table. */ BFD_ASSERT (sgot != NULL); - + if (h != NULL) { bfd_boolean dyn; bfd_vma off; - + off = h->got.offset; BFD_ASSERT (off != (bfd_vma) -1); dyn = htab->root.dynamic_sections_created; - if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h) + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) || (info->shared && (info->symbolic || h->dynindx == -1 @@ -2860,7 +2850,7 @@ m32r_elf_relocate_section (output_bfd, i offset must always be a multiple of 4, we use the least significant bit to record whether we have initialized it already. - + When doing a dynamic link, we create a .rela.got relocation entry to initialize the value. This is done in the finish_dynamic_symbol routine. */ @@ -2873,19 +2863,19 @@ m32r_elf_relocate_section (output_bfd, i h->got.offset |= 1; } } - + relocation = sgot->output_offset + off; } else { bfd_vma off; bfd_byte *loc; - + BFD_ASSERT (local_got_offsets != NULL && local_got_offsets[r_symndx] != (bfd_vma) -1); - + off = local_got_offsets[r_symndx]; - + /* The offset must always be a multiple of 4. We use the least significant bit to record whether we have already processed this entry. */ @@ -2894,17 +2884,17 @@ m32r_elf_relocate_section (output_bfd, i else { bfd_put_32 (output_bfd, relocation, sgot->contents + off); - + if (info->shared) { asection *srelgot; Elf_Internal_Rela outrel; - + /* We need to generate a R_M32R_RELATIVE reloc for the dynamic linker. */ srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); BFD_ASSERT (srelgot != NULL); - + outrel.r_offset = (sgot->output_section->vma + sgot->output_offset + off); @@ -2915,10 +2905,10 @@ m32r_elf_relocate_section (output_bfd, i bfd_elf32_swap_reloca_out (output_bfd, &outrel,loc); ++srelgot->reloc_count; } - + local_got_offsets[r_symndx] |= 1; } - + relocation = sgot->output_offset + off; } if ((r_type == R_M32R_GOT16_HI_SLO) @@ -2926,11 +2916,11 @@ m32r_elf_relocate_section (output_bfd, i rel->r_addend += 0x10000; break; - + case R_M32R_26_PLTREL: /* Relocation is to the entry for this symbol in the procedure linkage table. */ - + /* The native assembler will generate a 26_PLTREL reloc for a local symbol if you assemble a call from one section to another when using -K pic. */ @@ -2950,12 +2940,12 @@ m32r_elf_relocate_section (output_bfd, i using -Bsymbolic. */ break; } - + relocation = (splt->output_section->vma + splt->output_offset + h->plt.offset); break; - + case R_M32R_HI16_SLO_RELA: { if ((relocation + rel->r_addend) & 0x8000) @@ -2986,34 +2976,34 @@ m32r_elf_relocate_section (output_bfd, i Elf_Internal_Rela outrel; bfd_boolean skip, relocate; bfd_byte *loc; - + /* When generating a shared object, these relocations are copied into the output file to be resolved at run time. */ - + if (sreloc == NULL) { const char *name; - + name = (bfd_elf_string_from_elf_section (input_bfd, elf_elfheader (input_bfd)->e_shstrndx, elf_section_data (input_section)->rel_hdr.sh_name)); if (name == NULL) return FALSE; - + BFD_ASSERT (strncmp (name, ".rela", 5) == 0 && strcmp (bfd_get_section_name (input_bfd, input_section), name + 5) == 0); - + sreloc = bfd_get_section_by_name (dynobj, name); BFD_ASSERT (sreloc != NULL); } - + skip = FALSE; relocate = FALSE; - + outrel.r_offset = _bfd_elf_section_offset (output_bfd, info, input_section, @@ -3024,7 +3014,7 @@ m32r_elf_relocate_section (output_bfd, i skip = TRUE, relocate = TRUE; outrel.r_offset += (input_section->output_section->vma + input_section->output_offset); - + if (skip) memset (&outrel, 0, sizeof outrel); else if (r_type == R_M32R_18_PCREL_RELA @@ -3068,7 +3058,7 @@ m32r_elf_relocate_section (output_bfd, i continue; } break; - + case (int) R_M32R_10_PCREL : r = m32r_elf_do_10_pcrel_reloc (input_bfd, howto, input_section, contents, offset, @@ -3238,11 +3228,11 @@ m32r_elf_finish_dynamic_symbol (output_b struct elf_m32r_link_hash_table *htab; bfd *dynobj; bfd_byte *loc; - + #ifdef DEBUG_PIC printf("m32r_elf_finish_dynamic_symbol()\n"); #endif - + htab = m32r_elf_hash_table (info); dynobj = htab->root.dynobj; @@ -3255,12 +3245,12 @@ printf("m32r_elf_finish_dynamic_symbol() bfd_vma plt_index; bfd_vma got_offset; Elf_Internal_Rela rela; - + /* This symbol has an entry in the procedure linkage table. Set it up. */ - + BFD_ASSERT (h->dynindx != -1); - + splt = htab->splt; sgot = htab->sgotplt; srela = htab->srelplt; @@ -3321,7 +3311,7 @@ printf("m32r_elf_finish_dynamic_symbol() + (((unsigned int) ((- (h->plt.offset + 16)) >> 2)) & 0xffffff)), splt->contents + h->plt.offset + 16); } - + /* Fill in the entry in the global offset table. */ bfd_put_32 (output_bfd, (splt->output_section->vma @@ -3339,7 +3329,7 @@ printf("m32r_elf_finish_dynamic_symbol() loc = srela->contents; loc += plt_index * sizeof(Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - + if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) { /* Mark the symbol as undefined, rather than as defined in @@ -3353,18 +3343,18 @@ printf("m32r_elf_finish_dynamic_symbol() asection *sgot; asection *srela; Elf_Internal_Rela rela; - + /* This symbol has an entry in the global offset table. Set it up. */ - + sgot = htab->sgot; srela = htab->srelgot; BFD_ASSERT (sgot != NULL && srela != NULL); - + rela.r_offset = (sgot->output_section->vma + sgot->output_offset + (h->got.offset &~ 1)); - + /* If this is a -Bsymbolic link, and the symbol is defined locally, we just want to emit a RELATIVE reloc. Likewise if the symbol was forced to be local because of a version file. @@ -3388,28 +3378,28 @@ printf("m32r_elf_finish_dynamic_symbol() rela.r_info = ELF32_R_INFO (h->dynindx, R_M32R_GLOB_DAT); rela.r_addend = 0; } - + loc = srela->contents; loc += srela->reloc_count * sizeof(Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); ++srela->reloc_count; } - + if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) { asection *s; Elf_Internal_Rela rela; - + /* This symbols needs a copy reloc. Set it up. */ - + BFD_ASSERT (h->dynindx != -1 && (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak)); - + s = bfd_get_section_by_name (h->root.u.def.section->owner, ".rela.bss"); BFD_ASSERT (s != NULL); - + rela.r_offset = (h->root.u.def.value + h->root.u.def.section->output_section->vma + h->root.u.def.section->output_offset); @@ -3420,18 +3410,18 @@ printf("m32r_elf_finish_dynamic_symbol() bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); ++s->reloc_count; } - + /* Mark some specially defined symbols as absolute. */ if (strcmp (h->root.root.string, "_DYNAMIC") == 0 || strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0) sym->st_shndx = SHN_ABS; - + return TRUE; } /* Finish up the dynamic sections. */ - + static bfd_boolean m32r_elf_finish_dynamic_sections (output_bfd, info) bfd *output_bfd; @@ -3445,20 +3435,20 @@ m32r_elf_finish_dynamic_sections (output #ifdef DEBUG_PIC printf("m32r_elf_finish_dynamic_sections()\n"); #endif - + htab = m32r_elf_hash_table (info); dynobj = htab->root.dynobj; sgot = htab->sgotplt; sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); - + if (htab->root.dynamic_sections_created) { asection *splt; Elf32_External_Dyn *dyncon, *dynconend; - + BFD_ASSERT (sgot != NULL && sdyn != NULL); - + dyncon = (Elf32_External_Dyn *) sdyn->contents; dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->_raw_size); @@ -3467,9 +3457,9 @@ printf("m32r_elf_finish_dynamic_sections Elf_Internal_Dyn dyn; const char *name; asection *s; - + bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn); - + switch (dyn.d_tag) { default: @@ -3477,7 +3467,7 @@ printf("m32r_elf_finish_dynamic_sections case DT_PLTGOT: name = ".got"; - s = htab->sgot->output_section; + s = htab->sgot->output_section; goto get_vma; case DT_JMPREL: name = ".rela.plt"; @@ -3520,7 +3510,7 @@ printf("m32r_elf_finish_dynamic_sections break; } } - + /* Fill in the first entry in the procedure linkage table. */ splt = htab->splt; if (splt && splt->_raw_size > 0) @@ -3541,7 +3531,7 @@ printf("m32r_elf_finish_dynamic_sections bfd_put_32 (output_bfd, PLT0_ENTRY_WORD0 | ((addr >> 16) & 0xffff), splt->contents); - bfd_put_32 (output_bfd, + bfd_put_32 (output_bfd, PLT0_ENTRY_WORD1 | (addr & 0xffff), splt->contents + 4); bfd_put_32 (output_bfd, PLT0_ENTRY_WORD2, splt->contents + 8); @@ -3568,7 +3558,7 @@ printf("m32r_elf_finish_dynamic_sections elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4; } - + return TRUE; } @@ -4473,7 +4463,7 @@ m32r_elf_check_relocs (abfd, info, sec, { case R_M32R_GOT16_HI_ULO: case R_M32R_GOT16_HI_SLO: - case R_M32R_GOT16_LO: + case R_M32R_GOT16_LO: case R_M32R_GOT24: if (h != NULL) @@ -4507,7 +4497,7 @@ m32r_elf_check_relocs (abfd, info, sec, because this might be a case of linking PIC code without linking in any dynamic objects, in which case we don't need to generate a procedure linkage table after all. */ - + /* If this is a local symbol, we resolve it directly without creating a procedure linkage table entry. */ if (h == NULL) @@ -4583,23 +4573,23 @@ m32r_elf_check_relocs (abfd, info, sec, if (sreloc == NULL) { const char *name; - + name = (bfd_elf_string_from_elf_section (abfd, elf_elfheader (abfd)->e_shstrndx, elf_section_data (sec)->rel_hdr.sh_name)); if (name == NULL) return FALSE; - + BFD_ASSERT (strncmp (name, ".rela", 5) == 0 && strcmp (bfd_get_section_name (abfd, sec), name + 5) == 0); - + sreloc = bfd_get_section_by_name (dynobj, name); if (sreloc == NULL) { flagword flags; - + sreloc = bfd_make_section (dynobj, name); flags = (SEC_HAS_CONTENTS | SEC_READONLY | SEC_IN_MEMORY | SEC_LINKER_CREATED); @@ -4612,7 +4602,7 @@ m32r_elf_check_relocs (abfd, info, sec, } elf_section_data (sec)->sreloc = sreloc; } - + /* If this is a global symbol, we count the number of relocations we need for this symbol. */ if (h != NULL) @@ -4656,18 +4646,18 @@ m32r_elf_check_relocs (abfd, info, sec, Reconstruct it for later use during GC. */ case R_M32R_RELA_GNU_VTINHERIT: case R_M32R_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_M32R_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset)) return FALSE; break; case R_M32R_RELA_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-m68hc1x.c binutils-2.15.90.0.2/bfd/elf32-m68hc1x.c --- binutils-2.15.90.0.1.1/bfd/elf32-m68hc1x.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-m68hc1x.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,6 @@ /* Motorola 68HC11/HC12-specific support for 32-bit ELF - Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Contributed by Stephane Carrez (stcarrez@nerim.fr) This file is part of BFD, the Binary File Descriptor library. @@ -47,16 +48,6 @@ static void m68hc11_elf_set_symbol (bfd* static bfd_boolean m68hc11_elf_export_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg); -static bfd_boolean m68hc11_get_relocation_value - (bfd* abfd, - struct bfd_link_info* info, - asection **local_sections, - Elf_Internal_Sym* local_syms, - Elf_Internal_Rela* rel, - const char** name, - bfd_vma* relocation, - bfd_boolean* is_far); - static void scan_sections_for_abi (bfd*, asection*, PTR); struct m68hc11_scan_param @@ -190,7 +181,7 @@ m68hc12_add_stub (const char *stub_name, bfd_boolean elf32_m68hc11_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, - const Elf_Internal_Sym *sym, + Elf_Internal_Sym *sym, const char **namep ATTRIBUTE_UNUSED, flagword *flagsp ATTRIBUTE_UNUSED, asection **secp ATTRIBUTE_UNUSED, @@ -902,14 +893,14 @@ elf32_m68hc11_check_relocs (bfd *abfd, s /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_M68HC11_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_M68HC11_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } @@ -919,7 +910,8 @@ elf32_m68hc11_check_relocs (bfd *abfd, s } static bfd_boolean -m68hc11_get_relocation_value (bfd *abfd, struct bfd_link_info *info, +m68hc11_get_relocation_value (bfd *input_bfd, struct bfd_link_info *info, + asection *input_section, asection **local_sections, Elf_Internal_Sym *local_syms, Elf_Internal_Rela *rel, @@ -934,8 +926,8 @@ m68hc11_get_relocation_value (bfd *abfd, Elf_Internal_Sym *sym; const char* stub_name = 0; - symtab_hdr = &elf_tdata (abfd)->symtab_hdr; - sym_hashes = elf_sym_hashes (abfd); + symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; + sym_hashes = elf_sym_hashes (input_bfd); r_symndx = ELF32_R_SYM (rel->r_info); @@ -953,33 +945,17 @@ m68hc11_get_relocation_value (bfd *abfd, *is_far = (sym && (sym->st_other & STO_M68HC12_FAR)); if (*is_far) stub_name = (bfd_elf_string_from_elf_section - (abfd, symtab_hdr->sh_link, + (input_bfd, symtab_hdr->sh_link, sym->st_name)); } else { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - *relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - *relocation = 0; - else - { - if (!((*info->callbacks->undefined_symbol) - (info, h->root.root.string, abfd, - sec, rel->r_offset, TRUE))) - return FALSE; - *relocation = 0; - } + bfd_boolean unresolved_reloc, warned; + + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, *relocation, unresolved_reloc, warned); + *is_far = (h && (h->other & STO_M68HC12_FAR)); stub_name = h->root.root.string; } @@ -989,7 +965,7 @@ m68hc11_get_relocation_value (bfd *abfd, else { *name = (bfd_elf_string_from_elf_section - (abfd, symtab_hdr->sh_link, sym->st_name)); + (input_bfd, symtab_hdr->sh_link, sym->st_name)); if (*name == NULL || **name == '\0') *name = bfd_section_name (input_bfd, sec); } @@ -1082,8 +1058,8 @@ elf32_m68hc11_relocate_section (bfd *out (*ebd->elf_info_to_howto_rel) (input_bfd, &arel, rel); howto = arel.howto; - m68hc11_get_relocation_value (input_bfd, info, - local_sections, local_syms, + m68hc11_get_relocation_value (input_bfd, info, input_section, + local_sections, local_syms, rel, &name, &relocation, &is_far); /* Do the memory bank mapping. */ diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-m68hc1x.h binutils-2.15.90.0.2/bfd/elf32-m68hc1x.h --- binutils-2.15.90.0.1.1/bfd/elf32-m68hc1x.h 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-m68hc1x.h 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Motorola 68HC11/68HC12-specific support for 32-bit ELF - Copyright 2003 Free Software Foundation, Inc. + Copyright 2003, 2004 Free Software Foundation, Inc. Contributed by Stephane Carrez (stcarrez@nerim.fr) This file is part of BFD, the Binary File Descriptor library. @@ -178,7 +178,7 @@ bfd_boolean elf32_m68hc11_relocate_secti bfd_boolean elf32_m68hc11_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, - const Elf_Internal_Sym *sym, const char **namep, + Elf_Internal_Sym *sym, const char **namep, flagword *flagsp, asection **secp, bfd_vma *valp); diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-m68k.c binutils-2.15.90.0.2/bfd/elf32-m68k.c --- binutils-2.15.90.0.1.1/bfd/elf32-m68k.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-m68k.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,6 +1,6 @@ /* Motorola 68k series support for 32-bit ELF - Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. + Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -508,7 +508,7 @@ elf_m68k_check_relocs (abfd, info, sec, if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (!bfd_elf32_link_record_dynamic_symbol (info, h)) + if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -586,7 +586,7 @@ elf_m68k_check_relocs (abfd, info, sec, if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (!bfd_elf32_link_record_dynamic_symbol (info, h)) + if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -745,14 +745,14 @@ elf_m68k_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_68K_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_68K_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -970,7 +970,7 @@ elf_m68k_adjust_dynamic_symbol (info, h) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1099,17 +1099,6 @@ elf_m68k_adjust_dynamic_symbol (info, h) return TRUE; } -/* This is the condition under which elf_m68k_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in elf_m68k_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Set the sizes of the dynamic sections. */ static bfd_boolean @@ -1247,7 +1236,7 @@ elf_m68k_size_dynamic_sections (output_b the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (!info->shared) { @@ -1410,7 +1399,10 @@ elf_m68k_relocate_section (output_bfd, i { bfd_boolean warned; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } switch (r_type) @@ -2239,7 +2231,7 @@ elf32_m68k_reloc_type_class (rela) _bfd_elf_create_dynamic_sections #define bfd_elf32_bfd_link_hash_table_create \ elf_m68k_link_hash_table_create -#define bfd_elf32_bfd_final_link _bfd_elf32_gc_common_final_link +#define bfd_elf32_bfd_final_link bfd_elf_gc_common_final_link #define elf_backend_check_relocs elf_m68k_check_relocs #define elf_backend_adjust_dynamic_symbol \ diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-mcore.c binutils-2.15.90.0.2/bfd/elf32-mcore.c --- binutils-2.15.90.0.1.1/bfd/elf32-mcore.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-mcore.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Motorola MCore specific support for 32-bit ELF - Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003 + Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -472,30 +472,12 @@ mcore_elf_relocate_section (output_bfd, } else { - h = sym_hashes [r_symndx - symtab_hdr->sh_info]; - if ( h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - relocation = 0; - else if (info->shared - && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) - relocation = 0; - else - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; + bfd_boolean unresolved_reloc, warned; - ret = FALSE; - continue; - } + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } switch (r_type) @@ -665,14 +647,14 @@ mcore_elf_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_MCORE_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_MCORE_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-msp430.c binutils-2.15.90.0.2/bfd/elf32-msp430.c --- binutils-2.15.90.0.1.1/bfd/elf32-msp430.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-msp430.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* MSP430-specific support for 32-bit ELF - Copyright (C) 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Dmitry Diky This file is part of BFD, the Binary File Descriptor library. @@ -457,33 +457,12 @@ elf32_msp430_relocate_section (output_bf } else { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + bfd_boolean unresolved_reloc, warned; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - name = h->root.root.string; - - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - { - relocation = 0; - } - else - { - if (!((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - relocation = 0; - } + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } r = msp430_final_link_relocate (howto, input_bfd, input_section, diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-openrisc.c binutils-2.15.90.0.2/bfd/elf32-openrisc.c --- binutils-2.15.90.0.1.1/bfd/elf32-openrisc.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-openrisc.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* OpenRISC-specific support for 32-bit ELF. - Copyright 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Johan Rydberg, jrydberg@opencores.org This file is part of BFD, the Binary File Descriptor library. @@ -383,33 +383,12 @@ openrisc_elf_relocate_section (output_bf } else { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + bfd_boolean unresolved_reloc, warned; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - name = h->root.root.string; - - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - { - relocation = 0; - } - else - { - if (!((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - relocation = 0; - } + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } r = openrisc_final_link_relocate (howto, input_bfd, input_section, @@ -556,14 +535,14 @@ openrisc_elf_check_relocs (abfd, info, s /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_OPENRISC_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_OPENRISC_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-ppc.c binutils-2.15.90.0.2/bfd/elf32-ppc.c --- binutils-2.15.90.0.1.1/bfd/elf32-ppc.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-ppc.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,6 +1,6 @@ /* PowerPC-specific support for 32-bit ELF - Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. + Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -1816,10 +1816,7 @@ ppc_elf_relax_section (bfd *abfd, symaddr = tsec->output_section->vma + tsec->output_offset + toff; roff = irel->r_offset; - - reladdr = (isec->output_section->vma - + isec->output_offset - + roff); + reladdr = isec->output_section->vma + isec->output_offset + roff; /* If the branch is in range, no need to do anything. */ if (symaddr - reladdr + max_branch_offset < 2 * max_branch_offset) @@ -2395,7 +2392,7 @@ elf_create_pointer_linker_section (bfd * /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! _bfd_elf_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2688,7 +2685,7 @@ ppc_elf_create_linker_section (bfd *abfd lsect->sym_hash = h; if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return NULL; } @@ -2996,17 +2993,6 @@ ppc_elf_adjust_dynamic_symbol (struct bf return TRUE; } -/* This is the condition under which finish_dynamic_symbol will be - called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Of those relocs that might be copied as dynamic relocs, this macro selects those that must be copied when linking a shared library, even when the symbol is local. */ @@ -3045,7 +3031,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -3108,7 +3094,7 @@ allocate_dynrelocs (struct elf_link_hash if (eh->elf.dynindx == -1 && (eh->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (!bfd_elf32_link_record_dynamic_symbol (info, &eh->elf)) + if (!bfd_elf_link_record_dynamic_symbol (info, &eh->elf)) return FALSE; } @@ -3198,7 +3184,7 @@ allocate_dynrelocs (struct elf_link_hash && h->root.type == bfd_link_hash_undefweak && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } } @@ -3217,7 +3203,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -3473,7 +3459,7 @@ ppc_elf_size_dynamic_sections (bfd *outp the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (TAG), (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -3809,14 +3795,14 @@ ppc_elf_check_relocs (bfd *abfd, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_PPC_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_PPC_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -4381,7 +4367,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT static bfd_boolean ppc_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, - const Elf_Internal_Sym *sym, + Elf_Internal_Sym *sym, const char **namep ATTRIBUTE_UNUSED, flagword *flagsp ATTRIBUTE_UNUSED, asection **secp, @@ -4706,10 +4692,10 @@ ppc_elf_relocate_section (bfd *output_bf } else { - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); sym_name = h->root.root.string; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-s390.c binutils-2.15.90.0.2/bfd/elf32-s390.c --- binutils-2.15.90.0.1.1/bfd/elf32-s390.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-s390.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* IBM S/390-specific support for 32-bit ELF - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Carl B. Pedersen and Martin Schwidefsky. This file is part of BFD, the Binary File Descriptor library. @@ -1345,14 +1345,14 @@ elf_s390_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_390_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_390_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -1716,17 +1716,6 @@ elf_s390_adjust_dynamic_symbol (info, h) return TRUE; } -/* This is the condition under which elf_s390_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in elf_s390_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ @@ -1762,7 +1751,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1845,7 +1834,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1923,7 +1912,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2157,7 +2146,7 @@ elf_s390_size_dynamic_sections (output_b the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -2322,10 +2311,10 @@ elf_s390_relocate_section (output_bfd, i { bfd_boolean warned ATTRIBUTE_UNUSED; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } switch (r_type) diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-sh.c binutils-2.15.90.0.2/bfd/elf32-sh.c --- binutils-2.15.90.0.1.1/bfd/elf32-sh.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-sh.c 2004-04-12 12:56:33.000000000 -0700 @@ -3924,7 +3924,7 @@ sh_elf_create_dynamic_sections (bfd *abf h->type = STT_OBJECT; if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -4167,17 +4167,6 @@ sh_elf_adjust_dynamic_symbol (struct bfd return TRUE; } -/* This is the condition under which sh_elf_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in sh_elf_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ @@ -4223,7 +4212,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -4284,7 +4273,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -4322,7 +4311,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -4387,7 +4376,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -4620,7 +4609,7 @@ sh_elf_size_dynamic_sections (bfd *outpu the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -4938,8 +4927,7 @@ sh_elf_relocate_section (bfd *output_bfd } else if (h->root.type == bfd_link_hash_undefweak) relocation = 0; - else if (! info->executable - && info->unresolved_syms_in_objects == RM_IGNORE + else if (info->unresolved_syms_in_objects == RM_IGNORE && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) relocation = 0; else @@ -4947,8 +4935,7 @@ sh_elf_relocate_section (bfd *output_bfd if (! info->callbacks->undefined_symbol (info, h->root.root.string, input_bfd, input_section, rel->r_offset, - ((info->shared && info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR) - || (!info->shared && info->unresolved_syms_in_objects == RM_GENERATE_ERROR) + (info->unresolved_syms_in_objects == RM_GENERATE_ERROR || ELF_ST_VISIBILITY (h->other)))) return FALSE; relocation = 0; @@ -6492,14 +6479,14 @@ sh_elf_check_relocs (bfd *abfd, struct b /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_SH_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_SH_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-sh64.c binutils-2.15.90.0.2/bfd/elf32-sh64.c --- binutils-2.15.90.0.1.1/bfd/elf32-sh64.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-sh64.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* SuperH SH64-specific support for 32-bit ELF - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -56,7 +56,7 @@ static bfd_boolean shmedia_prepare_reloc static int sh64_elf_get_symbol_type (Elf_Internal_Sym *, int); static bfd_boolean sh64_elf_add_symbol_hook - (bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, const char **, + (bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *); static bfd_boolean sh64_elf_link_output_symbol_hook (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *, @@ -374,7 +374,7 @@ sh64_elf_get_symbol_type (Elf_Internal_S static bfd_boolean sh64_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, - const Elf_Internal_Sym *sym, const char **namep, + Elf_Internal_Sym *sym, const char **namep, flagword *flagsp ATTRIBUTE_UNUSED, asection **secp, bfd_vma *valp) { diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-sparc.c binutils-2.15.90.0.2/bfd/elf32-sparc.c --- binutils-2.15.90.0.1.1/bfd/elf32-sparc.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-sparc.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,6 +1,6 @@ /* SPARC-specific support for 32-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003 Free Software Foundation, Inc. + 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -1267,12 +1267,12 @@ elf32_sparc_check_relocs (abfd, info, se break; case R_SPARC_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; case R_SPARC_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -1592,17 +1592,6 @@ elf32_sparc_adjust_dynamic_symbol (info, return TRUE; } -/* This is the condition under which finish_dynamic_symbol will be called - from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol - routine, we'll need to do something about initializing any .plt and .got - entries in relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \ - ((DYN) \ - && ((INFO)->shared \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ @@ -1636,11 +1625,11 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } - if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h)) + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, h)) { asection *s = htab->splt; @@ -1705,7 +1694,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1724,7 +1713,7 @@ allocate_dynrelocs (h, inf) htab->srelgot->_raw_size += sizeof (Elf32_External_Rela); else if (tls_type == GOT_TLS_GD) htab->srelgot->_raw_size += 2 * sizeof (Elf32_External_Rela); - else if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)) + else if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h)) htab->srelgot->_raw_size += sizeof (Elf32_External_Rela); } else @@ -1777,7 +1766,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2027,7 +2016,7 @@ elf32_sparc_size_dynamic_sections (outpu the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -2215,10 +2204,10 @@ elf32_sparc_relocate_section (output_bfd { bfd_boolean warned ATTRIBUTE_UNUSED; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } switch (r_type) @@ -2239,7 +2228,7 @@ elf32_sparc_relocate_section (output_bfd BFD_ASSERT (off != (bfd_vma) -1); dyn = elf_hash_table (info)->dynamic_sections_created; - if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h) + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) || (info->shared && (info->symbolic || h->dynindx == -1 diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-v850.c binutils-2.15.90.0.2/bfd/elf32-v850.c --- binutils-2.15.90.0.1.1/bfd/elf32-v850.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-v850.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* V850-specific support for 32-bit ELF - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -73,7 +73,7 @@ static bfd_boolean v850_elf_section_from static void v850_elf_symbol_processing PARAMS ((bfd *, asymbol *)); static bfd_boolean v850_elf_add_symbol_hook - PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, + PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *)); static bfd_boolean v850_elf_link_output_symbol_hook PARAMS ((struct bfd_link_info *, const char *, Elf_Internal_Sym *, @@ -699,14 +699,14 @@ v850_elf_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_V850_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_V850_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -1696,43 +1696,12 @@ v850_elf_relocate_section (output_bfd, i } else { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + bfd_boolean unresolved_reloc, warned; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); -#if 0 - fprintf (stderr, "defined: sec: %s, name: %s, value: %x + %x + %x gives: %x\n", - sec->name, h->root.root.string, h->root.u.def.value, sec->output_section->vma, sec->output_offset, relocation); -#endif - } - else if (h->root.type == bfd_link_hash_undefweak) - { -#if 0 - fprintf (stderr, "undefined: sec: %s, name: %s\n", - sec->name, h->root.root.string); -#endif - relocation = 0; - } - else - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; -#if 0 - fprintf (stderr, "unknown: name: %s\n", h->root.root.string); -#endif - relocation = 0; - } + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } /* FIXME: We should use the addend, but the COFF relocations don't. */ @@ -2155,7 +2124,7 @@ static bfd_boolean v850_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp) bfd *abfd; struct bfd_link_info *info ATTRIBUTE_UNUSED; - const Elf_Internal_Sym *sym; + Elf_Internal_Sym *sym; const char **namep ATTRIBUTE_UNUSED; flagword *flagsp ATTRIBUTE_UNUSED; asection **secp; diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-vax.c binutils-2.15.90.0.2/bfd/elf32-vax.c --- binutils-2.15.90.0.1.1/bfd/elf32-vax.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-vax.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,6 +1,6 @@ /* VAX series support for 32-bit ELF - Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. + Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004 Free Software Foundation, Inc. Contributed by Matt Thomas . This file is part of BFD, the Binary File Descriptor library. @@ -821,14 +821,14 @@ elf_vax_check_relocs (abfd, info, sec, r /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_VAX_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_VAX_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -1006,7 +1006,7 @@ elf_vax_adjust_dynamic_symbol (info, h) /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1297,7 +1297,7 @@ elf_vax_size_dynamic_sections (output_bf the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (!info->shared) { @@ -1400,7 +1400,7 @@ elf_vax_instantiate_got_entries (h, info /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (!bfd_elf32_link_record_dynamic_symbol (info, h)) + if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1489,10 +1489,10 @@ elf_vax_relocate_section (output_bfd, in bfd_boolean unresolved_reloc; bfd_boolean warned; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) @@ -2133,7 +2133,7 @@ elf_vax_finish_dynamic_sections (output_ _bfd_elf_create_dynamic_sections #define bfd_elf32_bfd_link_hash_table_create \ elf_vax_link_hash_table_create -#define bfd_elf32_bfd_final_link _bfd_elf32_gc_common_final_link +#define bfd_elf32_bfd_final_link bfd_elf_gc_common_final_link #define elf_backend_check_relocs elf_vax_check_relocs #define elf_backend_adjust_dynamic_symbol \ diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-xstormy16.c binutils-2.15.90.0.2/bfd/elf32-xstormy16.c --- binutils-2.15.90.0.1.1/bfd/elf32-xstormy16.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-xstormy16.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* XSTORMY16-specific support for 32-bit ELF. - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -516,14 +516,14 @@ xstormy16_elf_check_relocs (abfd, info, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_XSTORMY16_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_XSTORMY16_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } @@ -853,34 +853,12 @@ xstormy16_elf_relocate_section (output_b } else { - h = sym_hashes [r_symndx - symtab_hdr->sh_info]; + bfd_boolean unresolved_reloc, warned; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - name = h->root.root.string; - - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - { - relocation = 0; - } - else - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - relocation = 0; - } + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } switch (ELF32_R_TYPE (rel->r_info)) diff -uprN binutils-2.15.90.0.1.1/bfd/elf32-xtensa.c binutils-2.15.90.0.2/bfd/elf32-xtensa.c --- binutils-2.15.90.0.1.1/bfd/elf32-xtensa.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf32-xtensa.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Xtensa-specific support for 32-bit ELF. - Copyright 2003 Free Software Foundation, Inc. + Copyright 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -619,8 +619,6 @@ elf_xtensa_check_relocs (abfd, info, sec struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; - property_table_entry *lit_table; - int ltblsize; if (info->relocatable) return TRUE; @@ -628,11 +626,6 @@ elf_xtensa_check_relocs (abfd, info, sec symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - ltblsize = xtensa_read_table_entries (abfd, sec, &lit_table, - XTENSA_LIT_SEC_NAME); - if (ltblsize < 0) - return FALSE; - rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) { @@ -669,11 +662,6 @@ elf_xtensa_check_relocs (abfd, info, sec if ((sec->flags & SEC_ALLOC) != 0) { - if ((sec->flags & SEC_READONLY) != 0 - && !elf_xtensa_in_literal_pool (lit_table, ltblsize, - sec->vma + rel->r_offset)) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; - if (h->got.refcount <= 0) h->got.refcount = 1; else @@ -689,11 +677,6 @@ elf_xtensa_check_relocs (abfd, info, sec if ((sec->flags & SEC_ALLOC) != 0) { - if ((sec->flags & SEC_READONLY) != 0 - && !elf_xtensa_in_literal_pool (lit_table, ltblsize, - sec->vma + rel->r_offset)) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; - if (h->plt.refcount <= 0) { h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; @@ -736,14 +719,6 @@ elf_xtensa_check_relocs (abfd, info, sec elf_local_got_refcounts (abfd) = local_got_refcounts; } local_got_refcounts[r_symndx] += 1; - - /* If the relocation is not inside the GOT, the DF_TEXTREL - flag needs to be set. */ - if (info->shared - && (sec->flags & SEC_READONLY) != 0 - && !elf_xtensa_in_literal_pool (lit_table, ltblsize, - sec->vma + rel->r_offset)) - info->flags |= DF_TEXTREL; } break; @@ -758,14 +733,14 @@ elf_xtensa_check_relocs (abfd, info, sec case R_XTENSA_GNU_VTINHERIT: /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; case R_XTENSA_GNU_VTENTRY: /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -774,7 +749,6 @@ elf_xtensa_check_relocs (abfd, info, sec } } - free (lit_table); return TRUE; } @@ -1044,7 +1018,6 @@ elf_xtensa_make_sym_local (info, h) else { /* Don't need any dynamic relocations at all. */ - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; h->plt.refcount = 0; h->got.refcount = 0; } @@ -1064,11 +1037,6 @@ elf_xtensa_fix_refcounts (h, arg) if (! xtensa_elf_dynamic_symbol_p (h, info)) elf_xtensa_make_sym_local (info, h); - /* If the symbol has a relocation outside the GOT, set the - DF_TEXTREL flag. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) != 0) - info->flags |= DF_TEXTREL; - return TRUE; } @@ -1366,7 +1334,7 @@ elf_xtensa_size_dynamic_sections (output the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (! info->shared) { @@ -1391,12 +1359,6 @@ elf_xtensa_size_dynamic_sections (output return FALSE; } - if ((info->flags & DF_TEXTREL) != 0) - { - if (!add_dynamic_entry (DT_TEXTREL, 0)) - return FALSE; - } - if (!add_dynamic_entry (DT_XTENSA_GOT_LOC_OFF, 0) || !add_dynamic_entry (DT_XTENSA_GOT_LOC_SZ, 0)) return FALSE; @@ -1851,6 +1813,8 @@ elf_xtensa_relocate_section (output_bfd, struct elf_link_hash_entry **sym_hashes; asection *srelgot, *srelplt; bfd *dynobj; + property_table_entry *lit_table = 0; + int ltblsize = 0; char *error_message = NULL; if (xtensa_default_isa == NULL) @@ -1868,6 +1832,14 @@ elf_xtensa_relocate_section (output_bfd, srelplt = bfd_get_section_by_name (dynobj, ".rela.plt"); } + if (elf_hash_table (info)->dynamic_sections_created) + { + ltblsize = xtensa_read_table_entries (input_bfd, input_section, + &lit_table, XTENSA_LIT_SEC_NAME); + if (ltblsize < 0) + return FALSE; + } + rel = relocs; relend = relocs + input_section->reloc_count; for (; rel < relend; rel++) @@ -1993,10 +1965,10 @@ elf_xtensa_relocate_section (output_bfd, } else { - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); if (relocation == 0 && !unresolved_reloc @@ -2068,6 +2040,21 @@ elf_xtensa_relocate_section (output_bfd, outrel.r_offset += (input_section->output_section->vma + input_section->output_offset); + /* Complain if the relocation is in a read-only section + and not in a literal pool. */ + if ((input_section->flags & SEC_READONLY) != 0 + && !elf_xtensa_in_literal_pool (lit_table, ltblsize, + input_section->vma + + rel->r_offset)) + { + error_message = + _("dynamic relocation in read-only section"); + if (!((*info->callbacks->reloc_dangerous) + (info, error_message, input_bfd, input_section, + rel->r_offset))) + return FALSE; + } + if (dynamic_symbol) { outrel.r_addend = rel->r_addend; @@ -2155,6 +2142,9 @@ elf_xtensa_relocate_section (output_bfd, } } + if (lit_table) + free (lit_table); + return TRUE; } @@ -2730,7 +2720,7 @@ elf_xtensa_discard_info_for_section (abf while (cookie->rel < cookie->relend && cookie->rel->r_offset == offset) { - if (_bfd_elf32_reloc_symbol_deleted_p (offset, cookie)) + if (bfd_elf_reloc_symbol_deleted_p (offset, cookie)) { /* Remove the table entry. (If the reloc type is NONE, then the entry has already been merged with another and deleted @@ -5825,7 +5815,6 @@ static struct bfd_elf_special_section co #define elf_info_to_howto elf_xtensa_info_to_howto_rela -#define bfd_elf32_bfd_final_link bfd_elf32_bfd_final_link #define bfd_elf32_bfd_merge_private_bfd_data elf_xtensa_merge_private_bfd_data #define bfd_elf32_new_section_hook elf_xtensa_new_section_hook #define bfd_elf32_bfd_print_private_bfd_data elf_xtensa_print_private_bfd_data diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-alpha.c binutils-2.15.90.0.2/bfd/elf64-alpha.c --- binutils-2.15.90.0.1.1/bfd/elf64-alpha.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-alpha.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* Alpha specific support for 64-bit ELF - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Richard Henderson . @@ -123,7 +123,7 @@ static bfd_boolean elf64_alpha_size_rela static bfd_boolean elf64_alpha_size_rela_got_1 PARAMS ((struct alpha_elf_link_hash_entry *, struct bfd_link_info *)); static bfd_boolean elf64_alpha_add_symbol_hook - PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, + PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *)); static struct alpha_elf_got_entry *get_got_entry PARAMS ((bfd *, struct alpha_elf_link_hash_entry *, unsigned long, @@ -2363,7 +2363,7 @@ static bfd_boolean elf64_alpha_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp) bfd *abfd; struct bfd_link_info *info; - const Elf_Internal_Sym *sym; + Elf_Internal_Sym *sym; const char **namep ATTRIBUTE_UNUSED; flagword *flagsp ATTRIBUTE_UNUSED; asection **secp; @@ -2462,7 +2462,7 @@ elf64_alpha_create_dynamic_sections (abf h->type = STT_OBJECT; if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; s = bfd_make_section (abfd, ".rela.plt"); @@ -2506,7 +2506,7 @@ elf64_alpha_create_dynamic_sections (abf h->type = STT_OBJECT; if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; elf_hash_table (info)->hgot = h; @@ -4094,7 +4094,7 @@ elf64_alpha_size_dynamic_sections (outpu the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -4399,12 +4399,12 @@ elf64_alpha_relocate_section (output_bfd bfd_boolean warned; bfd_boolean unresolved_reloc; struct elf_link_hash_entry *hh; - - RELOC_FOR_GLOBAL_SYMBOL (hh, - (struct elf_link_hash_entry *) alpha_elf_sym_hashes (input_bfd), - r_symndx, symtab_hdr, value, - sec, unresolved_reloc, info, - warned); + struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd); + + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + hh, sec, value, + unresolved_reloc, warned); if (warned) continue; @@ -5335,7 +5335,7 @@ elf64_alpha_final_link (abfd, info) } /* Invoke the regular ELF backend linker to do all the work. */ - if (! bfd_elf64_bfd_final_link (abfd, info)) + if (! bfd_elf_final_link (abfd, info)) return FALSE; /* Now write out the computed sections. */ diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-gen.c binutils-2.15.90.0.2/bfd/elf64-gen.c --- binutils-2.15.90.0.1.1/bfd/elf64-gen.c 2002-12-16 12:22:52.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-gen.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,6 @@ /* Generic support for 64-bit ELF - Copyright 1993, 1995, 1998, 1999, 2001, 2002 Free Software Foundation, Inc. + Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2004 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -87,7 +88,7 @@ elf64_generic_link_add_symbols (abfd, in return FALSE; } - return bfd_elf64_bfd_link_add_symbols (abfd, info); + return bfd_elf_link_add_symbols (abfd, info); } #define TARGET_LITTLE_SYM bfd_elf64_little_generic_vec diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-hppa.c binutils-2.15.90.0.2/bfd/elf64-hppa.c --- binutils-2.15.90.0.1.1/bfd/elf64-hppa.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-hppa.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,6 @@ /* Support for HPPA 64-bit ELF - Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -173,7 +174,7 @@ static void elf64_hppa_dyn_hash_traverse PTR info)); static const char *get_dyn_name - PARAMS ((asection *, struct elf_link_hash_entry *, + PARAMS ((bfd *, struct elf_link_hash_entry *, const Elf_Internal_Rela *, char **, size_t *)); /* This must follow the definitions of the various derived linker @@ -446,13 +447,14 @@ elf64_hppa_section_from_shdr (abfd, hdr, allocate memory as necessary, possibly reusing PBUF/PLEN. */ static const char * -get_dyn_name (sec, h, rel, pbuf, plen) - asection *sec; +get_dyn_name (abfd, h, rel, pbuf, plen) + bfd *abfd; struct elf_link_hash_entry *h; const Elf_Internal_Rela *rel; char **pbuf; size_t *plen; { + asection *sec = abfd->sections; size_t nlen, tlen; char *buf; size_t len; @@ -858,7 +860,7 @@ elf64_hppa_check_relocs (abfd, info, sec continue; /* Collect a canonical name for this address. */ - addr_name = get_dyn_name (sec, h, rel, &buf, &buf_len); + addr_name = get_dyn_name (abfd, h, rel, &buf, &buf_len); /* Collect the canonical entry data for this address. */ dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, @@ -931,7 +933,7 @@ elf64_hppa_check_relocs (abfd, info, sec section symbol for this section ends up in the dynamic symbol table. */ if (info->shared && dynrel_type == R_PARISC_FPTR64 - && ! (_bfd_elf64_link_record_local_dynamic_symbol + && ! (bfd_elf_link_record_local_dynamic_symbol (info, abfd, sec_symndx))) return FALSE; } @@ -1042,7 +1044,7 @@ allocate_global_data_dlt (dyn_h, data) bfd *owner; owner = (h ? h->root.u.def.section->owner : dyn_h->owner); - if (! (_bfd_elf64_link_record_local_dynamic_symbol + if (! (bfd_elf_link_record_local_dynamic_symbol (x->info, owner, dyn_h->sym_indx))) return FALSE; } @@ -1146,7 +1148,7 @@ allocate_global_data_opd (dyn_h, data) bfd *owner; owner = (h ? h->root.u.def.section->owner : dyn_h->owner); - if (!_bfd_elf64_link_record_local_dynamic_symbol + if (!bfd_elf_link_record_local_dynamic_symbol (x->info, owner, dyn_h->sym_indx)) return FALSE; } @@ -1172,7 +1174,7 @@ allocate_global_data_opd (dyn_h, data) nh->root.u.def.value = h->root.u.def.value; nh->root.u.def.section = h->root.u.def.section; - if (! bfd_elf64_link_record_dynamic_symbol (x->info, nh)) + if (! bfd_elf_link_record_dynamic_symbol (x->info, nh)) return FALSE; } @@ -1508,7 +1510,7 @@ allocate_dynrel_entries (dyn_h, data) the symbol need only be added once. */ if (dyn_h->h == 0 || (dyn_h->h->dynindx == -1 && dyn_h->h->type != STT_PARISC_MILLI)) - if (!_bfd_elf64_link_record_local_dynamic_symbol + if (!bfd_elf_link_record_local_dynamic_symbol (x->info, rent->sec->owner, dyn_h->sym_indx)) return FALSE; } @@ -1831,7 +1833,7 @@ elf64_hppa_size_dynamic_sections (output the PLT, it is how we communicate the __gp value of a load module to the dynamic linker. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (!add_dynamic_entry (DT_HP_DLD_FLAGS, 0) || !add_dynamic_entry (DT_PLTGOT, 0)) diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-mmix.c binutils-2.15.90.0.2/bfd/elf64-mmix.c --- binutils-2.15.90.0.1.1/bfd/elf64-mmix.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-mmix.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* MMIX-specific support for 64-bit ELF. - Copyright 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Hans-Peter Nilsson This file is part of BFD, the Binary File Descriptor library. @@ -205,7 +205,7 @@ static bfd_boolean mmix_elf_section_from PARAMS ((bfd *, asection *, int *)); static bfd_boolean mmix_elf_add_symbol_hook - PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, + PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *)); static bfd_boolean mmix_elf_is_local_label_name @@ -1474,45 +1474,21 @@ mmix_elf_relocate_section (output_bfd, i sec = local_sections [r_symndx]; relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel); - name = bfd_elf_string_from_elf_section - (input_bfd, symtab_hdr->sh_link, sym->st_name); - name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name; + name = bfd_elf_string_from_elf_section (input_bfd, + symtab_hdr->sh_link, + sym->st_name); + if (name == NULL) + name = bfd_section_name (input_bfd, sec); } else { - h = sym_hashes [r_symndx - symtab_hdr->sh_info]; - - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; + bfd_boolean unresolved_reloc; + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, undefined_signalled); name = h->root.root.string; - - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - sec = h->root.u.def.section; - relocation = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_undefweak) - relocation = 0; - else if (info->shared - && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) - relocation = 0; - else - { - /* The test on undefined_signalled is redundant at the - moment, but kept for symmetry. */ - if (! undefined_signalled - && ! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) - return FALSE; - undefined_signalled = TRUE; - relocation = 0; - } } r = mmix_final_link_relocate (howto, input_section, @@ -2051,14 +2027,14 @@ mmix_elf_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_MMIX_GNU_VTINHERIT: - if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_MMIX_GNU_VTENTRY: - if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } @@ -2202,7 +2178,7 @@ bfd_boolean mmix_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp) bfd *abfd; struct bfd_link_info *info ATTRIBUTE_UNUSED; - const Elf_Internal_Sym *sym; + Elf_Internal_Sym *sym; const char **namep ATTRIBUTE_UNUSED; flagword *flagsp ATTRIBUTE_UNUSED; asection **secp; @@ -2296,7 +2272,7 @@ mmix_elf_final_link (abfd, info) --abfd->section_count; } - if (! bfd_elf64_bfd_final_link (abfd, info)) + if (! bfd_elf_final_link (abfd, info)) return FALSE; /* Since this section is marked SEC_LINKER_CREATED, it isn't output by diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-ppc.c binutils-2.15.90.0.2/bfd/elf64-ppc.c --- binutils-2.15.90.0.1.1/bfd/elf64-ppc.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-ppc.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,6 @@ /* PowerPC64-specific support for 64-bit ELF. - Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Written by Linus Nordberg, Swox AB , based on elf32-ppc.c by Ian Lance Taylor. Largely rewritten by Alan Modra @@ -81,6 +82,7 @@ static bfd_reloc_status_type ppc64_elf_u #define elf_backend_grok_psinfo ppc64_elf_grok_psinfo #define elf_backend_create_dynamic_sections ppc64_elf_create_dynamic_sections #define elf_backend_copy_indirect_symbol ppc64_elf_copy_indirect_symbol +#define elf_backend_add_symbol_hook ppc64_elf_add_symbol_hook #define elf_backend_check_relocs ppc64_elf_check_relocs #define elf_backend_gc_mark_hook ppc64_elf_gc_mark_hook #define elf_backend_gc_sweep_hook ppc64_elf_gc_sweep_hook @@ -3473,6 +3475,22 @@ ppc64_elf_mark_entry_syms (struct bfd_li return TRUE; } +/* Hack symbols defined in .opd sections to be function type. */ + +static bfd_boolean +ppc64_elf_add_symbol_hook (bfd *ibfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + Elf_Internal_Sym *isym, + const char **name ATTRIBUTE_UNUSED, + flagword *flags ATTRIBUTE_UNUSED, + asection **sec, + bfd_vma *value ATTRIBUTE_UNUSED) +{ + if (strcmp (bfd_get_section_name (ibfd, *sec), ".opd") == 0) + isym->st_info = ELF_ST_INFO (ELF_ST_BIND (isym->st_info), STT_FUNC); + return TRUE; +} + static bfd_boolean update_local_sym_info (bfd *abfd, Elf_Internal_Shdr *symtab_hdr, unsigned long r_symndx, bfd_vma r_addend, int tls_type) @@ -3790,14 +3808,14 @@ ppc64_elf_check_relocs (bfd *abfd, struc /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_PPC64_GNU_VTINHERIT: - if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_PPC64_GNU_VTENTRY: - if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -4386,7 +4404,7 @@ func_desc_adjust (struct elf_link_hash_e && ELF_ST_VISIBILITY (fdh->elf.other) == STV_DEFAULT))) { if (fdh->elf.dynindx == -1) - if (! bfd_elf64_link_record_dynamic_symbol (info, &fdh->elf)) + if (! bfd_elf_link_record_dynamic_symbol (info, &fdh->elf)) return FALSE; fdh->elf.elf_link_hash_flags |= (fh->elf.elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR @@ -5556,17 +5574,6 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIB return TRUE; } -/* This is the condition under which ppc64_elf_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in ppc64_elf_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ @@ -5676,7 +5683,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -5757,7 +5764,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -6064,7 +6071,7 @@ ppc64_elf_size_dynamic_sections (bfd *ou the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf64_add_dynamic_entry (info, (TAG), (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -7480,10 +7487,10 @@ ppc64_elf_relocate_section (bfd *output_ } else { - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); sym_name = h->root.root.string; sym_type = h->type; } diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-s390.c binutils-2.15.90.0.2/bfd/elf64-s390.c --- binutils-2.15.90.0.1.1/bfd/elf64-s390.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-s390.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* IBM S/390-specific support for 64-bit ELF - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed Martin Schwidefsky (schwidefsky@de.ibm.com). This file is part of BFD, the Binary File Descriptor library. @@ -1309,14 +1309,14 @@ elf_s390_check_relocs (abfd, info, sec, /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_390_GNU_VTINHERIT: - if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_390_GNU_VTENTRY: - if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -1687,17 +1687,6 @@ elf_s390_adjust_dynamic_symbol (info, h) return TRUE; } -/* This is the condition under which elf_s390_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in elf_s390_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ @@ -1733,7 +1722,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1816,7 +1805,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1894,7 +1883,7 @@ allocate_dynrelocs (h, inf) if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2127,7 +2116,7 @@ elf_s390_size_dynamic_sections (output_b the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -2292,10 +2281,10 @@ elf_s390_relocate_section (output_bfd, i { bfd_boolean warned ATTRIBUTE_UNUSED; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } switch (r_type) diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-sh64.c binutils-2.15.90.0.2/bfd/elf64-sh64.c --- binutils-2.15.90.0.1.1/bfd/elf64-sh64.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-sh64.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* SuperH SH64-specific support for 64-bit ELF - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -141,7 +141,7 @@ static bfd_boolean sh_elf64_check_relocs static int sh64_elf64_get_symbol_type (Elf_Internal_Sym *, int); static bfd_boolean sh64_elf64_add_symbol_hook - (bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, const char **, + (bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *); static bfd_boolean sh64_elf64_link_output_symbol_hook (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *, @@ -1703,15 +1703,16 @@ sh_elf64_relocate_section (bfd *output_b } else if (h->root.type == bfd_link_hash_undefweak) relocation = 0; - else if (info->shared - && !info->symbolic - && info->unresolved_syms_in_objects == RM_IGNORE) + else if (info->unresolved_syms_in_objects == RM_IGNORE + && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) relocation = 0; else { if (! ((*info->callbacks->undefined_symbol) (info, h->root.root.string, input_bfd, - input_section, rel->r_offset, TRUE))) + input_section, rel->r_offset, + (info->unresolved_syms_in_objects == RM_GENERATE_ERROR + || ELF_ST_VISIBILITY (h->other))))) return FALSE; relocation = 0; } @@ -2561,14 +2562,14 @@ sh_elf64_check_relocs (bfd *abfd, struct /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_SH_GNU_VTINHERIT: - if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_SH_GNU_VTENTRY: - if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -2633,7 +2634,7 @@ sh_elf64_check_relocs (bfd *abfd, struct /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2716,7 +2717,7 @@ sh_elf64_check_relocs (bfd *abfd, struct /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2886,7 +2887,7 @@ sh64_elf64_get_symbol_type (Elf_Internal static bfd_boolean sh64_elf64_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, - const Elf_Internal_Sym *sym, const char **namep, + Elf_Internal_Sym *sym, const char **namep, flagword *flagsp ATTRIBUTE_UNUSED, asection **secp, bfd_vma *valp) { @@ -3298,7 +3299,7 @@ sh64_elf64_create_dynamic_sections (bfd h->type = STT_OBJECT; if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -3424,7 +3425,7 @@ sh64_elf64_adjust_dynamic_symbol (struct /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -3727,31 +3728,31 @@ sh64_elf64_size_dynamic_sections (bfd *o dynamic linker and used by the debugger. */ if (info->executable) { - if (! bfd_elf64_add_dynamic_entry (info, DT_DEBUG, 0)) + if (!_bfd_elf_add_dynamic_entry (info, DT_DEBUG, 0)) return FALSE; } if (plt) { - if (! bfd_elf64_add_dynamic_entry (info, DT_PLTGOT, 0) - || ! bfd_elf64_add_dynamic_entry (info, DT_PLTRELSZ, 0) - || ! bfd_elf64_add_dynamic_entry (info, DT_PLTREL, DT_RELA) - || ! bfd_elf64_add_dynamic_entry (info, DT_JMPREL, 0)) + if (!_bfd_elf_add_dynamic_entry (info, DT_PLTGOT, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_PLTRELSZ, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_PLTREL, DT_RELA) + || !_bfd_elf_add_dynamic_entry (info, DT_JMPREL, 0)) return FALSE; } if (relocs) { - if (! bfd_elf64_add_dynamic_entry (info, DT_RELA, 0) - || ! bfd_elf64_add_dynamic_entry (info, DT_RELASZ, 0) - || ! bfd_elf64_add_dynamic_entry (info, DT_RELAENT, - sizeof (Elf64_External_Rela))) + if (!_bfd_elf_add_dynamic_entry (info, DT_RELA, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_RELASZ, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_RELAENT, + sizeof (Elf64_External_Rela))) return FALSE; } if (reltext) { - if (! bfd_elf64_add_dynamic_entry (info, DT_TEXTREL, 0)) + if (!_bfd_elf_add_dynamic_entry (info, DT_TEXTREL, 0)) return FALSE; } } diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-sparc.c binutils-2.15.90.0.2/bfd/elf64-sparc.c --- binutils-2.15.90.0.1.1/bfd/elf64-sparc.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-sparc.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,6 +1,6 @@ /* SPARC-specific support for 64-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003 Free Software Foundation, Inc. + 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -61,7 +61,7 @@ static bfd_boolean sparc64_elf_size_dyna static int sparc64_elf_get_symbol_type PARAMS (( Elf_Internal_Sym *, int)); static bfd_boolean sparc64_elf_add_symbol_hook - PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, + PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *)); static bfd_boolean sparc64_elf_output_arch_syms PARAMS ((bfd *, struct bfd_link_info *, PTR, @@ -1178,7 +1178,7 @@ sparc64_elf_check_relocs (abfd, info, se /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1261,7 +1261,7 @@ sparc64_elf_check_relocs (abfd, info, se /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1385,7 +1385,7 @@ static bfd_boolean sparc64_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp) bfd *abfd; struct bfd_link_info *info; - const Elf_Internal_Sym *sym; + Elf_Internal_Sym *sym; const char **namep; flagword *flagsp ATTRIBUTE_UNUSED; asection **secp ATTRIBUTE_UNUSED; @@ -1876,7 +1876,7 @@ sparc64_elf_size_dynamic_sections (outpu the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) int reg; struct sparc64_elf_app_reg * app_regs; @@ -1989,17 +1989,6 @@ sparc64_elf_relax_section (abfd, section return TRUE; } -/* This is the condition under which finish_dynamic_symbol will be called - from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol - routine, we'll need to do something about initializing any .plt and - .got entries in relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \ - ((DYN) \ - && ((INFO)->shared \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Relocate a SPARC64 ELF section. */ static bfd_boolean @@ -2079,10 +2068,10 @@ sparc64_elf_relocate_section (output_bfd { bfd_boolean warned; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); if (warned) { /* To avoid generating warning messages about truncated @@ -2327,7 +2316,7 @@ sparc64_elf_relocate_section (output_bfd BFD_ASSERT (off != (bfd_vma) -1); dyn = elf_hash_table (info)->dynamic_sections_created; - if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h) + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) || (info->shared && (info->symbolic || h->dynindx == -1 diff -uprN binutils-2.15.90.0.1.1/bfd/elf64-x86-64.c binutils-2.15.90.0.2/bfd/elf64-x86-64.c --- binutils-2.15.90.0.1.1/bfd/elf64-x86-64.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elf64-x86-64.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* X86-64 specific support for 64-bit ELF - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Jan Hubicka . This file is part of BFD, the Binary File Descriptor library. @@ -951,14 +951,14 @@ elf64_x86_64_check_relocs (bfd *abfd, st /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_X86_64_GNU_VTINHERIT: - if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_X86_64_GNU_VTENTRY: - if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; @@ -1258,17 +1258,6 @@ elf64_x86_64_adjust_dynamic_symbol (stru return TRUE; } -/* This is the condition under which elf64_x86_64_finish_dynamic_symbol - will be called from elflink.h. If elflink.h doesn't call our - finish_dynamic_symbol routine, we'll need to do something about - initializing any .plt and .got entries in elf64_x86_64_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ - ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) - /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ @@ -1297,7 +1286,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1365,7 +1354,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1450,7 +1439,7 @@ allocate_dynrelocs (struct elf_link_hash if (h->dynindx == -1 && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { - if (! bfd_elf64_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -1683,7 +1672,7 @@ elf64_x86_64_size_dynamic_sections (bfd the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (info->executable) { @@ -1820,10 +1809,10 @@ elf64_x86_64_relocate_section (bfd *outp { bfd_boolean warned; - RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, - symtab_hdr, relocation, sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); } /* When generating a shared object, the relocations handled here are copied into the output file to be resolved at run time. */ diff -uprN binutils-2.15.90.0.1.1/bfd/elfarm-nabi.c binutils-2.15.90.0.2/bfd/elfarm-nabi.c --- binutils-2.15.90.0.1.1/bfd/elfarm-nabi.c 2002-12-16 12:22:52.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elfarm-nabi.c 2004-04-12 12:56:33.000000000 -0700 @@ -516,6 +516,47 @@ static reloc_howto_type elf32_arm_howto_ 0, /* dst_mask */ FALSE), /* pcrel_offset */ + HOWTO (R_ARM_ALU_PCREL7_0, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 12, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_ALU_PCREL_7_0", /* name */ + FALSE, /* partial_inplace */ + 0x00000fff, /* src_mask */ + 0x00000fff, /* dst_mask */ + TRUE), /* pcrel_offset */ + + HOWTO (R_ARM_ALU_PCREL15_8, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 12, /* bitsize */ + TRUE, /* pc_relative */ + 8, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_ALU_PCREL_15_8",/* name */ + FALSE, /* partial_inplace */ + 0x00000fff, /* src_mask */ + 0x00000fff, /* dst_mask */ + TRUE), /* pcrel_offset */ + + HOWTO (R_ARM_ALU_PCREL23_15, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 12, /* bitsize */ + TRUE, /* pc_relative */ + 16, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_ALU_PCREL_23_15",/* name */ + FALSE, /* partial_inplace */ + 0x00000fff, /* src_mask */ + 0x00000fff, /* dst_mask */ + TRUE), /* pcrel_offset */ }; /* GNU extension to record C++ vtable hierarchy */ diff -uprN binutils-2.15.90.0.1.1/bfd/elfcode.h binutils-2.15.90.0.2/bfd/elfcode.h --- binutils-2.15.90.0.1.1/bfd/elfcode.h 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elfcode.h 2004-04-12 12:56:33.000000000 -0700 @@ -115,24 +115,10 @@ Foundation, Inc., 59 Temple Place - Suit #define elf_no_info_to_howto NAME(bfd_elf,no_info_to_howto) #define elf_no_info_to_howto_rel NAME(bfd_elf,no_info_to_howto_rel) #define elf_find_section NAME(bfd_elf,find_section) -#define elf_bfd_link_add_symbols NAME(bfd_elf,bfd_link_add_symbols) -#define elf_add_dynamic_entry NAME(bfd_elf,add_dynamic_entry) #define elf_write_shdrs_and_ehdr NAME(bfd_elf,write_shdrs_and_ehdr) #define elf_write_out_phdrs NAME(bfd_elf,write_out_phdrs) #define elf_write_relocs NAME(bfd_elf,write_relocs) #define elf_slurp_reloc_table NAME(bfd_elf,slurp_reloc_table) -#define elf_bfd_discard_info NAME(bfd_elf,discard_info) -#define elf_reloc_symbol_deleted_p NAME(_bfd_elf,reloc_symbol_deleted_p) -#define elf_link_record_dynamic_symbol _bfd_elf_link_record_dynamic_symbol -#define elf_bfd_final_link NAME(bfd_elf,bfd_final_link) -#define elf_gc_sections NAME(_bfd_elf,gc_sections) -#define elf_gc_common_finalize_got_offsets \ - NAME(_bfd_elf,gc_common_finalize_got_offsets) -#define elf_gc_common_final_link NAME(_bfd_elf,gc_common_final_link) -#define elf_gc_record_vtinherit NAME(_bfd_elf,gc_record_vtinherit) -#define elf_gc_record_vtentry NAME(_bfd_elf,gc_record_vtentry) -#define elf_link_record_local_dynamic_symbol \ - NAME(_bfd_elf,link_record_local_dynamic_symbol) #if ARCH_SIZE == 64 #define ELF_R_INFO(X,Y) ELF64_R_INFO(X,Y) @@ -151,10 +137,6 @@ Foundation, Inc., 59 Temple Place - Suit #define LOG_FILE_ALIGN 2 #endif -#define elf_stringtab_init _bfd_elf_stringtab_init - -#define section_from_elf_index bfd_section_from_elf_index - #ifdef DEBUG static void elf_debug_section (int, Elf_Internal_Shdr *); static void elf_debug_file (Elf_Internal_Ehdr *); @@ -1111,8 +1093,8 @@ elf_slurp_symbol_table (bfd *abfd, asymb else if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE) { - sym->symbol.section = section_from_elf_index (abfd, - isym->st_shndx); + sym->symbol.section = bfd_section_from_elf_index (abfd, + isym->st_shndx); if (sym->symbol.section == NULL) { /* This symbol is in a section for which we did not @@ -1737,7 +1719,6 @@ NAME(_bfd_elf,bfd_from_remote_memory) } #include "elfcore.h" -#include "elflink.h" /* Size-dependent data and functions. */ const struct elf_size_info NAME(_bfd_elf,size_info) = { diff -uprN binutils-2.15.90.0.1.1/bfd/elflink.c binutils-2.15.90.0.2/bfd/elflink.c --- binutils-2.15.90.0.1.1/bfd/elflink.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elflink.c 2004-04-12 12:56:33.000000000 -0700 @@ -1,5 +1,5 @@ /* ELF linking support for BFD. - Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -24,6 +24,8 @@ Foundation, Inc., 59 Temple Place - Suit #include "libbfd.h" #define ARCH_SIZE 0 #include "elf-bfd.h" +#include "safe-ctype.h" +#include "libiberty.h" bfd_boolean _bfd_elf_create_got_section (bfd *abfd, struct bfd_link_info *info) @@ -89,7 +91,7 @@ _bfd_elf_create_got_section (bfd *abfd, h->type = STT_OBJECT; if (! info->executable - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; elf_hash_table (info)->hgot = h; @@ -219,7 +221,7 @@ _bfd_elf_link_create_dynamic_sections (b h->type = STT_OBJECT; if (! info->executable - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; s = bfd_make_section (abfd, ".hash"); @@ -284,7 +286,7 @@ _bfd_elf_create_dynamic_sections (bfd *a h->type = STT_OBJECT; if (! info->executable - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -346,8 +348,8 @@ _bfd_elf_create_dynamic_sections (bfd *a one. */ bfd_boolean -_bfd_elf_link_record_dynamic_symbol (struct bfd_link_info *info, - struct elf_link_hash_entry *h) +bfd_elf_link_record_dynamic_symbol (struct bfd_link_info *info, + struct elf_link_hash_entry *h) { if (h->dynindx == -1) { @@ -430,6 +432,13 @@ bfd_elf_record_link_assignment (bfd *out if (h == NULL) return FALSE; + /* Since we're defining the symbol, don't let it seem to have not + been defined. record_dynamic_symbol and size_dynamic_sections + may depend on this. */ + if (h->root.type == bfd_link_hash_undefweak + || h->root.type == bfd_link_hash_undefined) + h->root.type = bfd_link_hash_new; + if (h->root.type == bfd_link_hash_new) h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; @@ -458,7 +467,7 @@ bfd_elf_record_link_assignment (bfd *out || info->shared) && h->dynindx == -1) { - if (! _bfd_elf_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; /* If this is a weak defined symbol, and we know a corresponding @@ -467,7 +476,7 @@ bfd_elf_record_link_assignment (bfd *out if (h->weakdef != NULL && h->weakdef->dynindx == -1) { - if (! _bfd_elf_link_record_dynamic_symbol (info, h->weakdef)) + if (! bfd_elf_link_record_dynamic_symbol (info, h->weakdef)) return FALSE; } } @@ -480,9 +489,9 @@ bfd_elf_record_link_assignment (bfd *out in a discarded section, eg. a discarded link-once section symbol. */ int -elf_link_record_local_dynamic_symbol (struct bfd_link_info *info, - bfd *input_bfd, - long input_indx) +bfd_elf_link_record_local_dynamic_symbol (struct bfd_link_info *info, + bfd *input_bfd, + long input_indx) { bfd_size_type amt; struct elf_link_local_dynamic_entry *entry; @@ -646,8 +655,7 @@ _bfd_elf_link_renumber_dynsyms (bfd *out TYPE_CHANGE_OK if it is OK for the type to change. We set SIZE_CHANGE_OK if it is OK for the size to change. By OK to change, we mean that we shouldn't warn if the type or size does - change. DT_NEEDED indicates if it comes from a DT_NEEDED entry of - a shared object. */ + change. */ bfd_boolean _bfd_elf_merge_symbol (bfd *abfd, @@ -660,8 +668,7 @@ _bfd_elf_merge_symbol (bfd *abfd, bfd_boolean *skip, bfd_boolean *override, bfd_boolean *type_change_ok, - bfd_boolean *size_change_ok, - bfd_boolean dt_needed) + bfd_boolean *size_change_ok) { asection *sec; struct elf_link_hash_entry *h; @@ -669,7 +676,7 @@ _bfd_elf_merge_symbol (bfd *abfd, int bind; bfd *oldbfd; bfd_boolean newdyn, olddyn, olddef, newdef, newdyncommon, olddyncommon; - bfd_boolean newweakdef, oldweakdef, newweakundef, oldweakundef; + bfd_boolean newweak, oldweak; *skip = FALSE; *override = FALSE; @@ -807,7 +814,7 @@ _bfd_elf_merge_symbol (bfd *abfd, is the first time we see it in a dynamic object, we mark if it is weak. Otherwise, we clear it. */ if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) - { + { if (bind == STB_WEAK) h->elf_link_hash_flags |= ELF_LINK_DYNAMIC_WEAK; } @@ -830,7 +837,7 @@ _bfd_elf_merge_symbol (bfd *abfd, FIXME: Should we check type and size for protected symbol? */ if (ELF_ST_VISIBILITY (h->other) == STV_PROTECTED) - return _bfd_elf_link_record_dynamic_symbol (info, h); + return bfd_elf_link_record_dynamic_symbol (info, h); else return TRUE; } @@ -875,48 +882,39 @@ _bfd_elf_merge_symbol (bfd *abfd, return TRUE; } - /* We need to treat weak definition right, depending on if there is a - definition from a dynamic object. */ - if (bind == STB_WEAK) - { - if (olddef) - { - newweakdef = TRUE; - newweakundef = FALSE; - } - else - { - newweakdef = FALSE; - newweakundef = TRUE; - } - } - else - newweakdef = newweakundef = FALSE; + /* Differentiate strong and weak symbols. */ + newweak = bind == STB_WEAK; + oldweak = (h->root.type == bfd_link_hash_defweak + || h->root.type == bfd_link_hash_undefweak); + + /* If a new weak symbol comes from a regular file and the old symbol + comes from a dynamic library, we treat the new one as strong. + Similarly, an old weak symbol from a regular file is treated as + strong when the new symbol comes from a dynamic library. Further, + an old weak symbol from a dynamic library is treated as strong if + the new symbol is from a dynamic library. This reflects the way + glibc's ld.so works. */ + if (!newdyn && olddyn) + newweak = FALSE; + if (newdyn) + oldweak = FALSE; - /* If the new weak definition comes from a relocatable file and the - old symbol comes from a dynamic object, we treat the new one as - strong. */ - if (newweakdef && !newdyn && olddyn) - newweakdef = FALSE; + /* It's OK to change the type if either the existing symbol or the + new symbol is weak. A type change is also OK if the old symbol + is undefined and the new symbol is defined. */ - if (h->root.type == bfd_link_hash_defweak) - { - oldweakdef = TRUE; - oldweakundef = FALSE; - } - else if (h->root.type == bfd_link_hash_undefweak) - { - oldweakdef = FALSE; - oldweakundef = TRUE; - } - else - oldweakdef = oldweakundef = FALSE; + if (oldweak + || newweak + || (newdef + && h->root.type == bfd_link_hash_undefined)) + *type_change_ok = TRUE; - /* If the old weak definition comes from a relocatable file and the - new symbol comes from a dynamic object, we treat the old one as - strong. */ - if (oldweakdef && !olddyn && newdyn) - oldweakdef = FALSE; + /* It's OK to change the size if either the existing symbol or the + new symbol is weak, or if the old symbol is undefined. */ + + if (*type_change_ok + || h->root.type == bfd_link_hash_undefined) + *size_change_ok = TRUE; /* NEWDYNCOMMON and OLDDYNCOMMON indicate whether the new or old symbol, respectively, appears to be a common symbol in a dynamic @@ -943,11 +941,10 @@ _bfd_elf_merge_symbol (bfd *abfd, if (newdyn && newdef + && !newweak && (sec->flags & SEC_ALLOC) != 0 && (sec->flags & SEC_LOAD) == 0 && sym->st_size > 0 - && !newweakdef - && !newweakundef && ELF_ST_TYPE (sym->st_info) != STT_FUNC) newdyncommon = TRUE; else @@ -965,28 +962,6 @@ _bfd_elf_merge_symbol (bfd *abfd, else olddyncommon = FALSE; - /* It's OK to change the type if either the existing symbol or the - new symbol is weak unless it comes from a DT_NEEDED entry of - a shared object, in which case, the DT_NEEDED entry may not be - required at the run time. The type change is also OK if the - old symbol is undefined and the new symbol is defined. */ - - if ((! dt_needed && oldweakdef) - || oldweakundef - || newweakdef - || newweakundef - || (newdef - && (h->root.type == bfd_link_hash_undefined - || h->root.type == bfd_link_hash_undefweak))) - *type_change_ok = TRUE; - - /* It's OK to change the size if either the existing symbol or the - new symbol is weak, or if the old symbol is undefined. */ - - if (*type_change_ok - || h->root.type == bfd_link_hash_undefined) - *size_change_ok = TRUE; - /* If both the old and the new symbols look like common symbols in a dynamic object, set the size of the symbol to the larger of the two. */ @@ -1024,24 +999,14 @@ _bfd_elf_merge_symbol (bfd *abfd, represent variables; this can cause confusion in principle, but any such confusion would seem to indicate an erroneous program or shared library. We also permit a common symbol in a regular - object to override a weak symbol in a shared object. - - We prefer a non-weak definition in a shared library to a weak - definition in the executable unless it comes from a DT_NEEDED - entry of a shared object, in which case, the DT_NEEDED entry - may not be required at the run time. */ + object to override a weak symbol in a shared object. */ if (newdyn && newdef && (olddef || (h->root.type == bfd_link_hash_common - && (newweakdef - || newweakundef - || ELF_ST_TYPE (sym->st_info) == STT_FUNC))) - && (!oldweakdef - || dt_needed - || newweakdef - || newweakundef)) + && (newweak + || ELF_ST_TYPE (sym->st_info) == STT_FUNC)))) { *override = TRUE; newdef = FALSE; @@ -1085,20 +1050,17 @@ _bfd_elf_merge_symbol (bfd *abfd, As above, we again permit a common symbol in a regular object to override a definition in a shared object if the shared object - symbol is a function or is weak. - - As above, we permit a non-weak definition in a shared object to - override a weak definition in a regular object. */ + symbol is a function or is weak. */ flip = NULL; if (! newdyn && (newdef || (bfd_is_com_section (sec) - && (oldweakdef || h->type == STT_FUNC))) + && (oldweak + || h->type == STT_FUNC))) && olddyn && olddef - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && ((!newweakdef && !newweakundef) || oldweakdef)) + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0) { /* Change the hash table entry to undefined, and let _bfd_generic_link_add_one_symbol do the right thing with the @@ -1187,57 +1149,13 @@ _bfd_elf_merge_symbol (bfd *abfd, } } - /* Handle the special case of a weak definition in a regular object - followed by a non-weak definition in a shared object. In this - case, we prefer the definition in the shared object unless it - comes from a DT_NEEDED entry of a shared object, in which case, - the DT_NEEDED entry may not be required at the run time. */ - if (olddef - && ! dt_needed - && oldweakdef - && newdef - && newdyn - && !newweakdef - && !newweakundef) - { - /* To make this work we have to frob the flags so that the rest - of the code does not think we are using the regular - definition. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0) - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; - else if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0) - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; - h->elf_link_hash_flags &= ~ (ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_DEF_DYNAMIC); - - /* If H is the target of an indirection, we want the caller to - use H rather than the indirect symbol. Otherwise if we are - defining a new indirect symbol we will wind up attaching it - to the entry we are overriding. */ - *sym_hash = h; - } - - /* Handle the special case of a non-weak definition in a shared - object followed by a weak definition in a regular object. In - this case we prefer the definition in the shared object. To make - this work we have to tell the caller to not treat the new symbol - as a definition. */ - if (olddef - && olddyn - && !oldweakdef - && newdef - && ! newdyn - && (newweakdef || newweakundef)) - *override = TRUE; - return TRUE; } /* This function is called to create an indirect symbol from the default for the symbol with the default version if needed. The symbol is described by H, NAME, SYM, PSEC, VALUE, and OVERRIDE. We - set DYNSYM if the new indirect symbol is dynamic. DT_NEEDED - indicates if it comes from a DT_NEEDED entry of a shared object. */ + set DYNSYM if the new indirect symbol is dynamic. */ bfd_boolean _bfd_elf_add_default_symbol (bfd *abfd, @@ -1248,8 +1166,7 @@ _bfd_elf_add_default_symbol (bfd *abfd, asection **psec, bfd_vma *value, bfd_boolean *dynsym, - bfd_boolean override, - bfd_boolean dt_needed) + bfd_boolean override) { bfd_boolean type_change_ok; bfd_boolean size_change_ok; @@ -1310,7 +1227,7 @@ _bfd_elf_add_default_symbol (bfd *abfd, sec = *psec; if (!_bfd_elf_merge_symbol (abfd, info, shortname, sym, &sec, value, &hi, &skip, &override, &type_change_ok, - &size_change_ok, dt_needed)) + &size_change_ok)) return FALSE; if (skip) @@ -1359,7 +1276,7 @@ _bfd_elf_add_default_symbol (bfd *abfd, & (ELF_LINK_HASH_REF_REGULAR | ELF_LINK_HASH_DEF_REGULAR)) { - if (! _bfd_elf_link_record_dynamic_symbol (info, hi)) + if (! bfd_elf_link_record_dynamic_symbol (info, hi)) return FALSE; } } @@ -1377,12 +1294,6 @@ _bfd_elf_add_default_symbol (bfd *abfd, { struct elf_link_hash_entry *ht; - /* If the symbol became indirect, then we assume that we have - not seen a definition before. */ - BFD_ASSERT ((hi->elf_link_hash_flags - & (ELF_LINK_HASH_DEF_DYNAMIC - | ELF_LINK_HASH_DEF_REGULAR)) == 0); - ht = (struct elf_link_hash_entry *) hi->root.u.i.link; (*bed->elf_backend_copy_indirect_symbol) (bed, ht, hi); @@ -1423,7 +1334,7 @@ nondefault: sec = *psec; if (!_bfd_elf_merge_symbol (abfd, info, shortname, sym, &sec, value, &hi, &skip, &override, &type_change_ok, - &size_change_ok, dt_needed)) + &size_change_ok)) return FALSE; if (skip) @@ -1455,12 +1366,6 @@ nondefault: if (hi->root.type == bfd_link_hash_indirect) { - /* If the symbol became indirect, then we assume that we have - not seen a definition before. */ - BFD_ASSERT ((hi->elf_link_hash_flags - & (ELF_LINK_HASH_DEF_DYNAMIC - | ELF_LINK_HASH_DEF_REGULAR)) == 0); - (*bed->elf_backend_copy_indirect_symbol) (bed, h, hi); /* See if the new flags lead us to realize that the symbol @@ -1529,7 +1434,7 @@ _bfd_elf_export_symbol (struct elf_link_ if (!eif->verdefs) { doit: - if (! _bfd_elf_link_record_dynamic_symbol (eif->info, h)) + if (! bfd_elf_link_record_dynamic_symbol (eif->info, h)) { eif->failed = TRUE; return FALSE; @@ -1873,10 +1778,6 @@ elf_link_read_relocs_from_section (bfd * Elf_Internal_Shdr *symtab_hdr; size_t nsyms; - /* If there aren't any relocations, that's OK. */ - if (!shdr) - return TRUE; - /* Position ourselves at the start of the section. */ if (bfd_seek (abfd, shdr->sh_offset, SEEK_SET) != 0) return FALSE; @@ -1902,7 +1803,7 @@ elf_link_read_relocs_from_section (bfd * } erela = external_relocs; - erelaend = erela + NUM_SHDR_ENTRIES (shdr) * shdr->sh_entsize; + erelaend = erela + shdr->sh_size; irela = internal_relocs; while (erela < erelaend) { @@ -1988,12 +1889,13 @@ _bfd_elf_link_read_relocs (bfd *abfd, external_relocs, internal_relocs)) goto error_return; - if (!elf_link_read_relocs_from_section - (abfd, o, - elf_section_data (o)->rel_hdr2, - ((bfd_byte *) external_relocs) + rel_hdr->sh_size, - internal_relocs + (NUM_SHDR_ENTRIES (rel_hdr) - * bed->s->int_rels_per_ext_rel))) + if (elf_section_data (o)->rel_hdr2 + && (!elf_link_read_relocs_from_section + (abfd, o, + elf_section_data (o)->rel_hdr2, + ((bfd_byte *) external_relocs) + rel_hdr->sh_size, + internal_relocs + (NUM_SHDR_ENTRIES (rel_hdr) + * bed->s->int_rels_per_ext_rel)))) goto error_return; /* Cache the results for next time, if we can. */ @@ -2176,7 +2078,7 @@ _bfd_elf_fix_symbol_flags (struct elf_li && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0)) { - if (! _bfd_elf_link_record_dynamic_symbol (eif->info, h)) + if (! bfd_elf_link_record_dynamic_symbol (eif->info, h)) { eif->failed = TRUE; return FALSE; @@ -2685,190 +2587,1746 @@ elf_link_is_defined_archive_symbol (bfd return result; } -/* Add symbols from an ELF archive file to the linker hash table. We - don't use _bfd_generic_link_add_archive_symbols because of a - problem which arises on UnixWare. The UnixWare libc.so is an - archive which includes an entry libc.so.1 which defines a bunch of - symbols. The libc.so archive also includes a number of other - object files, which also define symbols, some of which are the same - as those defined in libc.so.1. Correct linking requires that we - consider each object file in turn, and include it if it defines any - symbols we need. _bfd_generic_link_add_archive_symbols does not do - this; it looks through the list of undefined symbols, and includes - any object file which defines them. When this algorithm is used on - UnixWare, it winds up pulling in libc.so.1 early and defining a - bunch of symbols. This means that some of the other objects in the - archive are not included in the link, which is incorrect since they - precede libc.so.1 in the archive. - - Fortunately, ELF archive handling is simpler than that done by - _bfd_generic_link_add_archive_symbols, which has to allow for a.out - oddities. In ELF, if we find a symbol in the archive map, and the - symbol is currently undefined, we know that we must pull in that - object file. - - Unfortunately, we do have to make multiple passes over the symbol - table until nothing further is resolved. */ +/* Add an entry to the .dynamic table. */ bfd_boolean -_bfd_elf_link_add_archive_symbols (bfd *abfd, - struct bfd_link_info *info) +_bfd_elf_add_dynamic_entry (struct bfd_link_info *info, + bfd_vma tag, + bfd_vma val) { - symindex c; - bfd_boolean *defined = NULL; - bfd_boolean *included = NULL; - carsym *symdefs; - bfd_boolean loop; - bfd_size_type amt; + struct elf_link_hash_table *hash_table; + const struct elf_backend_data *bed; + asection *s; + bfd_size_type newsize; + bfd_byte *newcontents; + Elf_Internal_Dyn dyn; - if (! bfd_has_map (abfd)) - { - /* An empty archive is a special case. */ - if (bfd_openr_next_archived_file (abfd, NULL) == NULL) - return TRUE; - bfd_set_error (bfd_error_no_armap); - return FALSE; - } + hash_table = elf_hash_table (info); + if (! is_elf_hash_table (hash_table)) + return FALSE; - /* Keep track of all symbols we know to be already defined, and all - files we know to be already included. This is to speed up the - second and subsequent passes. */ - c = bfd_ardata (abfd)->symdef_count; - if (c == 0) - return TRUE; - amt = c; - amt *= sizeof (bfd_boolean); - defined = bfd_zmalloc (amt); - included = bfd_zmalloc (amt); - if (defined == NULL || included == NULL) - goto error_return; + bed = get_elf_backend_data (hash_table->dynobj); + s = bfd_get_section_by_name (hash_table->dynobj, ".dynamic"); + BFD_ASSERT (s != NULL); - symdefs = bfd_ardata (abfd)->symdefs; + newsize = s->_raw_size + bed->s->sizeof_dyn; + newcontents = bfd_realloc (s->contents, newsize); + if (newcontents == NULL) + return FALSE; - do - { - file_ptr last; - symindex i; - carsym *symdef; - carsym *symdefend; + dyn.d_tag = tag; + dyn.d_un.d_val = val; + bed->s->swap_dyn_out (hash_table->dynobj, &dyn, newcontents + s->_raw_size); - loop = FALSE; - last = -1; + s->_raw_size = newsize; + s->contents = newcontents; - symdef = symdefs; - symdefend = symdef + c; - for (i = 0; symdef < symdefend; symdef++, i++) + return TRUE; +} + +/* Add a DT_NEEDED entry for this dynamic object if DO_IT is true, + otherwise just check whether one already exists. Returns -1 on error, + 1 if a DT_NEEDED tag already exists, and 0 on success. */ + +static int +elf_add_dt_needed_tag (struct bfd_link_info *info, + const char *soname, + bfd_boolean do_it) +{ + struct elf_link_hash_table *hash_table; + bfd_size_type oldsize; + bfd_size_type strindex; + + hash_table = elf_hash_table (info); + oldsize = _bfd_elf_strtab_size (hash_table->dynstr); + strindex = _bfd_elf_strtab_add (hash_table->dynstr, soname, FALSE); + if (strindex == (bfd_size_type) -1) + return -1; + + if (oldsize == _bfd_elf_strtab_size (hash_table->dynstr)) + { + asection *sdyn; + const struct elf_backend_data *bed; + bfd_byte *extdyn; + + bed = get_elf_backend_data (hash_table->dynobj); + sdyn = bfd_get_section_by_name (hash_table->dynobj, ".dynamic"); + BFD_ASSERT (sdyn != NULL); + + for (extdyn = sdyn->contents; + extdyn < sdyn->contents + sdyn->_raw_size; + extdyn += bed->s->sizeof_dyn) { - struct elf_link_hash_entry *h; - bfd *element; - struct bfd_link_hash_entry *undefs_tail; - symindex mark; + Elf_Internal_Dyn dyn; - if (defined[i] || included[i]) - continue; - if (symdef->file_offset == last) + bed->s->swap_dyn_in (hash_table->dynobj, extdyn, &dyn); + if (dyn.d_tag == DT_NEEDED + && dyn.d_un.d_val == strindex) { - included[i] = TRUE; - continue; + _bfd_elf_strtab_delref (hash_table->dynstr, strindex); + return 1; } + } + } - h = elf_link_hash_lookup (elf_hash_table (info), symdef->name, - FALSE, FALSE, FALSE); + if (do_it) + { + if (!_bfd_elf_add_dynamic_entry (info, DT_NEEDED, strindex)) + return -1; + } + else + /* We were just checking for existence of the tag. */ + _bfd_elf_strtab_delref (hash_table->dynstr, strindex); - if (h == NULL) - { - char *p, *copy; - size_t len, first; + return 0; +} - /* If this is a default version (the name contains @@), - look up the symbol again with only one `@' as well - as without the version. The effect is that references - to the symbol with and without the version will be - matched by the default symbol in the archive. */ +/* Sort symbol by value and section. */ +static int +elf_sort_symbol (const void *arg1, const void *arg2) +{ + const struct elf_link_hash_entry *h1; + const struct elf_link_hash_entry *h2; + bfd_signed_vma vdiff; + + h1 = *(const struct elf_link_hash_entry **) arg1; + h2 = *(const struct elf_link_hash_entry **) arg2; + vdiff = h1->root.u.def.value - h2->root.u.def.value; + if (vdiff != 0) + return vdiff > 0 ? 1 : -1; + else + { + long sdiff = h1->root.u.def.section - h2->root.u.def.section; + if (sdiff != 0) + return sdiff > 0 ? 1 : -1; + } + return 0; +} - p = strchr (symdef->name, ELF_VER_CHR); - if (p == NULL || p[1] != ELF_VER_CHR) - continue; +/* This function is used to adjust offsets into .dynstr for + dynamic symbols. This is called via elf_link_hash_traverse. */ - /* First check with only one `@'. */ - len = strlen (symdef->name); - copy = bfd_alloc (abfd, len); - if (copy == NULL) - goto error_return; - first = p - symdef->name + 1; - memcpy (copy, symdef->name, first); - memcpy (copy + first, symdef->name + first + 1, len - first); +static bfd_boolean +elf_adjust_dynstr_offsets (struct elf_link_hash_entry *h, void *data) +{ + struct elf_strtab_hash *dynstr = data; - h = elf_link_hash_lookup (elf_hash_table (info), copy, - FALSE, FALSE, FALSE); + if (h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; - if (h == NULL) - { - /* We also need to check references to the symbol - without the version. */ + if (h->dynindx != -1) + h->dynstr_index = _bfd_elf_strtab_offset (dynstr, h->dynstr_index); + return TRUE; +} - copy[first - 1] = '\0'; - h = elf_link_hash_lookup (elf_hash_table (info), - copy, FALSE, FALSE, FALSE); - } +/* Assign string offsets in .dynstr, update all structures referencing + them. */ - bfd_release (abfd, copy); - } +static bfd_boolean +elf_finalize_dynstr (bfd *output_bfd, struct bfd_link_info *info) +{ + struct elf_link_hash_table *hash_table = elf_hash_table (info); + struct elf_link_local_dynamic_entry *entry; + struct elf_strtab_hash *dynstr = hash_table->dynstr; + bfd *dynobj = hash_table->dynobj; + asection *sdyn; + bfd_size_type size; + const struct elf_backend_data *bed; + bfd_byte *extdyn; - if (h == NULL) - continue; + _bfd_elf_strtab_finalize (dynstr); + size = _bfd_elf_strtab_size (dynstr); - if (h->root.type == bfd_link_hash_common) - { - /* We currently have a common symbol. The archive map contains - a reference to this symbol, so we may want to include it. We - only want to include it however, if this archive element - contains a definition of the symbol, not just another common - declaration of it. + bed = get_elf_backend_data (dynobj); + sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); + BFD_ASSERT (sdyn != NULL); - Unfortunately some archivers (including GNU ar) will put - declarations of common symbols into their archive maps, as - well as real definitions, so we cannot just go by the archive - map alone. Instead we must read in the element's symbol - table and check that to see what kind of symbol definition - this is. */ - if (! elf_link_is_defined_archive_symbol (abfd, symdef)) - continue; - } - else if (h->root.type != bfd_link_hash_undefined) - { - if (h->root.type != bfd_link_hash_undefweak) - defined[i] = TRUE; - continue; - } + /* Update all .dynamic entries referencing .dynstr strings. */ + for (extdyn = sdyn->contents; + extdyn < sdyn->contents + sdyn->_raw_size; + extdyn += bed->s->sizeof_dyn) + { + Elf_Internal_Dyn dyn; - /* We need to include this archive member. */ - element = _bfd_get_elt_at_filepos (abfd, symdef->file_offset); - if (element == NULL) - goto error_return; + bed->s->swap_dyn_in (dynobj, extdyn, &dyn); + switch (dyn.d_tag) + { + case DT_STRSZ: + dyn.d_un.d_val = size; + break; + case DT_NEEDED: + case DT_SONAME: + case DT_RPATH: + case DT_RUNPATH: + case DT_FILTER: + case DT_AUXILIARY: + dyn.d_un.d_val = _bfd_elf_strtab_offset (dynstr, dyn.d_un.d_val); + break; + default: + continue; + } + bed->s->swap_dyn_out (dynobj, &dyn, extdyn); + } - if (! bfd_check_format (element, bfd_object)) - goto error_return; + /* Now update local dynamic symbols. */ + for (entry = hash_table->dynlocal; entry ; entry = entry->next) + entry->isym.st_name = _bfd_elf_strtab_offset (dynstr, + entry->isym.st_name); - /* Doublecheck that we have not included this object - already--it should be impossible, but there may be - something wrong with the archive. */ - if (element->archive_pass != 0) + /* And the rest of dynamic symbols. */ + elf_link_hash_traverse (hash_table, elf_adjust_dynstr_offsets, dynstr); + + /* Adjust version definitions. */ + if (elf_tdata (output_bfd)->cverdefs) + { + asection *s; + bfd_byte *p; + bfd_size_type i; + Elf_Internal_Verdef def; + Elf_Internal_Verdaux defaux; + + s = bfd_get_section_by_name (dynobj, ".gnu.version_d"); + p = s->contents; + do + { + _bfd_elf_swap_verdef_in (output_bfd, (Elf_External_Verdef *) p, + &def); + p += sizeof (Elf_External_Verdef); + for (i = 0; i < def.vd_cnt; ++i) { - bfd_set_error (bfd_error_bad_value); - goto error_return; + _bfd_elf_swap_verdaux_in (output_bfd, + (Elf_External_Verdaux *) p, &defaux); + defaux.vda_name = _bfd_elf_strtab_offset (dynstr, + defaux.vda_name); + _bfd_elf_swap_verdaux_out (output_bfd, + &defaux, (Elf_External_Verdaux *) p); + p += sizeof (Elf_External_Verdaux); } - element->archive_pass = 1; - - undefs_tail = info->hash->undefs_tail; + } + while (def.vd_next); + } - if (! (*info->callbacks->add_archive_element) (info, element, - symdef->name)) - goto error_return; - if (! bfd_link_add_symbols (element, info)) - goto error_return; + /* Adjust version references. */ + if (elf_tdata (output_bfd)->verref) + { + asection *s; + bfd_byte *p; + bfd_size_type i; + Elf_Internal_Verneed need; + Elf_Internal_Vernaux needaux; + + s = bfd_get_section_by_name (dynobj, ".gnu.version_r"); + p = s->contents; + do + { + _bfd_elf_swap_verneed_in (output_bfd, (Elf_External_Verneed *) p, + &need); + need.vn_file = _bfd_elf_strtab_offset (dynstr, need.vn_file); + _bfd_elf_swap_verneed_out (output_bfd, &need, + (Elf_External_Verneed *) p); + p += sizeof (Elf_External_Verneed); + for (i = 0; i < need.vn_cnt; ++i) + { + _bfd_elf_swap_vernaux_in (output_bfd, + (Elf_External_Vernaux *) p, &needaux); + needaux.vna_name = _bfd_elf_strtab_offset (dynstr, + needaux.vna_name); + _bfd_elf_swap_vernaux_out (output_bfd, + &needaux, + (Elf_External_Vernaux *) p); + p += sizeof (Elf_External_Vernaux); + } + } + while (need.vn_next); + } - /* If there are any new undefined symbols, we need to make + return TRUE; +} + +/* Add symbols from an ELF object file to the linker hash table. */ + +static bfd_boolean +elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) +{ + bfd_boolean (*add_symbol_hook) + (bfd *, struct bfd_link_info *, Elf_Internal_Sym *, + const char **, flagword *, asection **, bfd_vma *); + bfd_boolean (*check_relocs) + (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *); + bfd_boolean collect; + Elf_Internal_Shdr *hdr; + bfd_size_type symcount; + bfd_size_type extsymcount; + bfd_size_type extsymoff; + struct elf_link_hash_entry **sym_hash; + bfd_boolean dynamic; + Elf_External_Versym *extversym = NULL; + Elf_External_Versym *ever; + struct elf_link_hash_entry *weaks; + struct elf_link_hash_entry **nondeflt_vers = NULL; + bfd_size_type nondeflt_vers_cnt = 0; + Elf_Internal_Sym *isymbuf = NULL; + Elf_Internal_Sym *isym; + Elf_Internal_Sym *isymend; + const struct elf_backend_data *bed; + bfd_boolean add_needed; + struct elf_link_hash_table * hash_table; + bfd_size_type amt; + + hash_table = elf_hash_table (info); + + bed = get_elf_backend_data (abfd); + add_symbol_hook = bed->elf_add_symbol_hook; + collect = bed->collect; + + if ((abfd->flags & DYNAMIC) == 0) + dynamic = FALSE; + else + { + dynamic = TRUE; + + /* You can't use -r against a dynamic object. Also, there's no + hope of using a dynamic object which does not exactly match + the format of the output file. */ + if (info->relocatable + || !is_elf_hash_table (hash_table) + || hash_table->root.creator != abfd->xvec) + { + bfd_set_error (bfd_error_invalid_operation); + goto error_return; + } + } + + /* As a GNU extension, any input sections which are named + .gnu.warning.SYMBOL are treated as warning symbols for the given + symbol. This differs from .gnu.warning sections, which generate + warnings when they are included in an output file. */ + if (info->executable) + { + asection *s; + + for (s = abfd->sections; s != NULL; s = s->next) + { + const char *name; + + name = bfd_get_section_name (abfd, s); + if (strncmp (name, ".gnu.warning.", sizeof ".gnu.warning." - 1) == 0) + { + char *msg; + bfd_size_type sz; + bfd_size_type prefix_len; + const char * gnu_warning_prefix = _("warning: "); + + name += sizeof ".gnu.warning." - 1; + + /* If this is a shared object, then look up the symbol + in the hash table. If it is there, and it is already + been defined, then we will not be using the entry + from this shared object, so we don't need to warn. + FIXME: If we see the definition in a regular object + later on, we will warn, but we shouldn't. The only + fix is to keep track of what warnings we are supposed + to emit, and then handle them all at the end of the + link. */ + if (dynamic) + { + struct elf_link_hash_entry *h; + + h = elf_link_hash_lookup (hash_table, name, + FALSE, FALSE, TRUE); + + /* FIXME: What about bfd_link_hash_common? */ + if (h != NULL + && (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak)) + { + /* We don't want to issue this warning. Clobber + the section size so that the warning does not + get copied into the output file. */ + s->_raw_size = 0; + continue; + } + } + + sz = bfd_section_size (abfd, s); + prefix_len = strlen (gnu_warning_prefix); + msg = bfd_alloc (abfd, prefix_len + sz + 1); + if (msg == NULL) + goto error_return; + + strcpy (msg, gnu_warning_prefix); + if (! bfd_get_section_contents (abfd, s, msg + prefix_len, 0, sz)) + goto error_return; + + msg[prefix_len + sz] = '\0'; + + if (! (_bfd_generic_link_add_one_symbol + (info, abfd, name, BSF_WARNING, s, 0, msg, + FALSE, collect, NULL))) + goto error_return; + + if (! info->relocatable) + { + /* Clobber the section size so that the warning does + not get copied into the output file. */ + s->_raw_size = 0; + } + } + } + } + + add_needed = TRUE; + if (! dynamic) + { + /* If we are creating a shared library, create all the dynamic + sections immediately. We need to attach them to something, + so we attach them to this BFD, provided it is the right + format. FIXME: If there are no input BFD's of the same + format as the output, we can't make a shared library. */ + if (info->shared + && is_elf_hash_table (hash_table) + && hash_table->root.creator == abfd->xvec + && ! hash_table->dynamic_sections_created) + { + if (! _bfd_elf_link_create_dynamic_sections (abfd, info)) + goto error_return; + } + } + else if (!is_elf_hash_table (hash_table)) + goto error_return; + else + { + asection *s; + const char *soname = NULL; + struct bfd_link_needed_list *rpath = NULL, *runpath = NULL; + int ret; + + /* ld --just-symbols and dynamic objects don't mix very well. + Test for --just-symbols by looking at info set up by + _bfd_elf_link_just_syms. */ + if ((s = abfd->sections) != NULL + && s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) + goto error_return; + + /* If this dynamic lib was specified on the command line with + --as-needed in effect, then we don't want to add a DT_NEEDED + tag unless the lib is actually used. Similary for libs brought + in by another lib's DT_NEEDED. */ + add_needed = elf_dyn_lib_class (abfd) == DYN_NORMAL; + + s = bfd_get_section_by_name (abfd, ".dynamic"); + if (s != NULL) + { + bfd_byte *dynbuf; + bfd_byte *extdyn; + int elfsec; + unsigned long shlink; + + dynbuf = bfd_malloc (s->_raw_size); + if (dynbuf == NULL) + goto error_return; + + if (! bfd_get_section_contents (abfd, s, dynbuf, 0, s->_raw_size)) + goto error_free_dyn; + + elfsec = _bfd_elf_section_from_bfd_section (abfd, s); + if (elfsec == -1) + goto error_free_dyn; + shlink = elf_elfsections (abfd)[elfsec]->sh_link; + + for (extdyn = dynbuf; + extdyn < dynbuf + s->_raw_size; + extdyn += bed->s->sizeof_dyn) + { + Elf_Internal_Dyn dyn; + + bed->s->swap_dyn_in (abfd, extdyn, &dyn); + if (dyn.d_tag == DT_SONAME) + { + unsigned int tagv = dyn.d_un.d_val; + soname = bfd_elf_string_from_elf_section (abfd, shlink, tagv); + if (soname == NULL) + goto error_free_dyn; + } + if (dyn.d_tag == DT_NEEDED) + { + struct bfd_link_needed_list *n, **pn; + char *fnm, *anm; + unsigned int tagv = dyn.d_un.d_val; + + amt = sizeof (struct bfd_link_needed_list); + n = bfd_alloc (abfd, amt); + fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv); + if (n == NULL || fnm == NULL) + goto error_free_dyn; + amt = strlen (fnm) + 1; + anm = bfd_alloc (abfd, amt); + if (anm == NULL) + goto error_free_dyn; + memcpy (anm, fnm, amt); + n->name = anm; + n->by = abfd; + n->next = NULL; + for (pn = & hash_table->needed; + *pn != NULL; + pn = &(*pn)->next) + ; + *pn = n; + } + if (dyn.d_tag == DT_RUNPATH) + { + struct bfd_link_needed_list *n, **pn; + char *fnm, *anm; + unsigned int tagv = dyn.d_un.d_val; + + amt = sizeof (struct bfd_link_needed_list); + n = bfd_alloc (abfd, amt); + fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv); + if (n == NULL || fnm == NULL) + goto error_free_dyn; + amt = strlen (fnm) + 1; + anm = bfd_alloc (abfd, amt); + if (anm == NULL) + goto error_free_dyn; + memcpy (anm, fnm, amt); + n->name = anm; + n->by = abfd; + n->next = NULL; + for (pn = & runpath; + *pn != NULL; + pn = &(*pn)->next) + ; + *pn = n; + } + /* Ignore DT_RPATH if we have seen DT_RUNPATH. */ + if (!runpath && dyn.d_tag == DT_RPATH) + { + struct bfd_link_needed_list *n, **pn; + char *fnm, *anm; + unsigned int tagv = dyn.d_un.d_val; + + amt = sizeof (struct bfd_link_needed_list); + n = bfd_alloc (abfd, amt); + fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv); + if (n == NULL || fnm == NULL) + goto error_free_dyn; + amt = strlen (fnm) + 1; + anm = bfd_alloc (abfd, amt); + if (anm == NULL) + { + error_free_dyn: + free (dynbuf); + goto error_return; + } + memcpy (anm, fnm, amt); + n->name = anm; + n->by = abfd; + n->next = NULL; + for (pn = & rpath; + *pn != NULL; + pn = &(*pn)->next) + ; + *pn = n; + } + } + + free (dynbuf); + } + + /* DT_RUNPATH overrides DT_RPATH. Do _NOT_ bfd_release, as that + frees all more recently bfd_alloc'd blocks as well. */ + if (runpath) + rpath = runpath; + + if (rpath) + { + struct bfd_link_needed_list **pn; + for (pn = & hash_table->runpath; + *pn != NULL; + pn = &(*pn)->next) + ; + *pn = rpath; + } + + /* We do not want to include any of the sections in a dynamic + object in the output file. We hack by simply clobbering the + list of sections in the BFD. This could be handled more + cleanly by, say, a new section flag; the existing + SEC_NEVER_LOAD flag is not the one we want, because that one + still implies that the section takes up space in the output + file. */ + bfd_section_list_clear (abfd); + + /* If this is the first dynamic object found in the link, create + the special sections required for dynamic linking. */ + if (! _bfd_elf_link_create_dynamic_sections (abfd, info)) + goto error_return; + + /* Find the name to use in a DT_NEEDED entry that refers to this + object. If the object has a DT_SONAME entry, we use it. + Otherwise, if the generic linker stuck something in + elf_dt_name, we use that. Otherwise, we just use the file + name. */ + if (soname == NULL || *soname == '\0') + { + soname = elf_dt_name (abfd); + if (soname == NULL || *soname == '\0') + soname = bfd_get_filename (abfd); + } + + /* Save the SONAME because sometimes the linker emulation code + will need to know it. */ + elf_dt_name (abfd) = soname; + + ret = elf_add_dt_needed_tag (info, soname, add_needed); + if (ret < 0) + goto error_return; + + /* If we have already included this dynamic object in the + link, just ignore it. There is no reason to include a + particular dynamic object more than once. */ + if (ret > 0) + return TRUE; + } + + /* If this is a dynamic object, we always link against the .dynsym + symbol table, not the .symtab symbol table. The dynamic linker + will only see the .dynsym symbol table, so there is no reason to + look at .symtab for a dynamic object. */ + + if (! dynamic || elf_dynsymtab (abfd) == 0) + hdr = &elf_tdata (abfd)->symtab_hdr; + else + hdr = &elf_tdata (abfd)->dynsymtab_hdr; + + symcount = hdr->sh_size / bed->s->sizeof_sym; + + /* The sh_info field of the symtab header tells us where the + external symbols start. We don't care about the local symbols at + this point. */ + if (elf_bad_symtab (abfd)) + { + extsymcount = symcount; + extsymoff = 0; + } + else + { + extsymcount = symcount - hdr->sh_info; + extsymoff = hdr->sh_info; + } + + sym_hash = NULL; + if (extsymcount != 0) + { + isymbuf = bfd_elf_get_elf_syms (abfd, hdr, extsymcount, extsymoff, + NULL, NULL, NULL); + if (isymbuf == NULL) + goto error_return; + + /* We store a pointer to the hash table entry for each external + symbol. */ + amt = extsymcount * sizeof (struct elf_link_hash_entry *); + sym_hash = bfd_alloc (abfd, amt); + if (sym_hash == NULL) + goto error_free_sym; + elf_sym_hashes (abfd) = sym_hash; + } + + if (dynamic) + { + /* Read in any version definitions. */ + if (! _bfd_elf_slurp_version_tables (abfd)) + goto error_free_sym; + + /* Read in the symbol versions, but don't bother to convert them + to internal format. */ + if (elf_dynversym (abfd) != 0) + { + Elf_Internal_Shdr *versymhdr; + + versymhdr = &elf_tdata (abfd)->dynversym_hdr; + extversym = bfd_malloc (versymhdr->sh_size); + if (extversym == NULL) + goto error_free_sym; + amt = versymhdr->sh_size; + if (bfd_seek (abfd, versymhdr->sh_offset, SEEK_SET) != 0 + || bfd_bread (extversym, amt, abfd) != amt) + goto error_free_vers; + } + } + + weaks = NULL; + + ever = extversym != NULL ? extversym + extsymoff : NULL; + for (isym = isymbuf, isymend = isymbuf + extsymcount; + isym < isymend; + isym++, sym_hash++, ever = (ever != NULL ? ever + 1 : NULL)) + { + int bind; + bfd_vma value; + asection *sec; + flagword flags; + const char *name; + struct elf_link_hash_entry *h; + bfd_boolean definition; + bfd_boolean size_change_ok; + bfd_boolean type_change_ok; + bfd_boolean new_weakdef; + bfd_boolean override; + unsigned int old_alignment; + bfd *old_bfd; + + override = FALSE; + + flags = BSF_NO_FLAGS; + sec = NULL; + value = isym->st_value; + *sym_hash = NULL; + + bind = ELF_ST_BIND (isym->st_info); + if (bind == STB_LOCAL) + { + /* This should be impossible, since ELF requires that all + global symbols follow all local symbols, and that sh_info + point to the first global symbol. Unfortunately, Irix 5 + screws this up. */ + continue; + } + else if (bind == STB_GLOBAL) + { + if (isym->st_shndx != SHN_UNDEF + && isym->st_shndx != SHN_COMMON) + flags = BSF_GLOBAL; + } + else if (bind == STB_WEAK) + flags = BSF_WEAK; + else + { + /* Leave it up to the processor backend. */ + } + + if (isym->st_shndx == SHN_UNDEF) + sec = bfd_und_section_ptr; + else if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE) + { + sec = bfd_section_from_elf_index (abfd, isym->st_shndx); + if (sec == NULL) + sec = bfd_abs_section_ptr; + else if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0) + value -= sec->vma; + } + else if (isym->st_shndx == SHN_ABS) + sec = bfd_abs_section_ptr; + else if (isym->st_shndx == SHN_COMMON) + { + sec = bfd_com_section_ptr; + /* What ELF calls the size we call the value. What ELF + calls the value we call the alignment. */ + value = isym->st_size; + } + else + { + /* Leave it up to the processor backend. */ + } + + name = bfd_elf_string_from_elf_section (abfd, hdr->sh_link, + isym->st_name); + if (name == NULL) + goto error_free_vers; + + if (isym->st_shndx == SHN_COMMON + && ELF_ST_TYPE (isym->st_info) == STT_TLS) + { + asection *tcomm = bfd_get_section_by_name (abfd, ".tcommon"); + + if (tcomm == NULL) + { + tcomm = bfd_make_section (abfd, ".tcommon"); + if (tcomm == NULL + || !bfd_set_section_flags (abfd, tcomm, (SEC_ALLOC + | SEC_IS_COMMON + | SEC_LINKER_CREATED + | SEC_THREAD_LOCAL))) + goto error_free_vers; + } + sec = tcomm; + } + else if (add_symbol_hook) + { + if (! (*add_symbol_hook) (abfd, info, isym, &name, &flags, &sec, + &value)) + goto error_free_vers; + + /* The hook function sets the name to NULL if this symbol + should be skipped for some reason. */ + if (name == NULL) + continue; + } + + /* Sanity check that all possibilities were handled. */ + if (sec == NULL) + { + bfd_set_error (bfd_error_bad_value); + goto error_free_vers; + } + + if (bfd_is_und_section (sec) + || bfd_is_com_section (sec)) + definition = FALSE; + else + definition = TRUE; + + size_change_ok = FALSE; + type_change_ok = get_elf_backend_data (abfd)->type_change_ok; + old_alignment = 0; + old_bfd = NULL; + + if (is_elf_hash_table (hash_table)) + { + Elf_Internal_Versym iver; + unsigned int vernum = 0; + bfd_boolean skip; + + if (ever != NULL) + { + _bfd_elf_swap_versym_in (abfd, ever, &iver); + vernum = iver.vs_vers & VERSYM_VERSION; + + /* If this is a hidden symbol, or if it is not version + 1, we append the version name to the symbol name. + However, we do not modify a non-hidden absolute + symbol, because it might be the version symbol + itself. FIXME: What if it isn't? */ + if ((iver.vs_vers & VERSYM_HIDDEN) != 0 + || (vernum > 1 && ! bfd_is_abs_section (sec))) + { + const char *verstr; + size_t namelen, verlen, newlen; + char *newname, *p; + + if (isym->st_shndx != SHN_UNDEF) + { + if (vernum > elf_tdata (abfd)->dynverdef_hdr.sh_info) + { + (*_bfd_error_handler) + (_("%s: %s: invalid version %u (max %d)"), + bfd_archive_filename (abfd), name, vernum, + elf_tdata (abfd)->dynverdef_hdr.sh_info); + bfd_set_error (bfd_error_bad_value); + goto error_free_vers; + } + else if (vernum > 1) + verstr = + elf_tdata (abfd)->verdef[vernum - 1].vd_nodename; + else + verstr = ""; + } + else + { + /* We cannot simply test for the number of + entries in the VERNEED section since the + numbers for the needed versions do not start + at 0. */ + Elf_Internal_Verneed *t; + + verstr = NULL; + for (t = elf_tdata (abfd)->verref; + t != NULL; + t = t->vn_nextref) + { + Elf_Internal_Vernaux *a; + + for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr) + { + if (a->vna_other == vernum) + { + verstr = a->vna_nodename; + break; + } + } + if (a != NULL) + break; + } + if (verstr == NULL) + { + (*_bfd_error_handler) + (_("%s: %s: invalid needed version %d"), + bfd_archive_filename (abfd), name, vernum); + bfd_set_error (bfd_error_bad_value); + goto error_free_vers; + } + } + + namelen = strlen (name); + verlen = strlen (verstr); + newlen = namelen + verlen + 2; + if ((iver.vs_vers & VERSYM_HIDDEN) == 0 + && isym->st_shndx != SHN_UNDEF) + ++newlen; + + newname = bfd_alloc (abfd, newlen); + if (newname == NULL) + goto error_free_vers; + memcpy (newname, name, namelen); + p = newname + namelen; + *p++ = ELF_VER_CHR; + /* If this is a defined non-hidden version symbol, + we add another @ to the name. This indicates the + default version of the symbol. */ + if ((iver.vs_vers & VERSYM_HIDDEN) == 0 + && isym->st_shndx != SHN_UNDEF) + *p++ = ELF_VER_CHR; + memcpy (p, verstr, verlen + 1); + + name = newname; + } + } + + if (!_bfd_elf_merge_symbol (abfd, info, name, isym, &sec, &value, + sym_hash, &skip, &override, + &type_change_ok, &size_change_ok)) + goto error_free_vers; + + if (skip) + continue; + + if (override) + definition = FALSE; + + h = *sym_hash; + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* Remember the old alignment if this is a common symbol, so + that we don't reduce the alignment later on. We can't + check later, because _bfd_generic_link_add_one_symbol + will set a default for the alignment which we want to + override. We also remember the old bfd where the existing + definition comes from. */ + switch (h->root.type) + { + default: + break; + + case bfd_link_hash_defined: + case bfd_link_hash_defweak: + old_bfd = h->root.u.def.section->owner; + break; + + case bfd_link_hash_common: + old_bfd = h->root.u.c.p->section->owner; + old_alignment = h->root.u.c.p->alignment_power; + break; + } + + if (elf_tdata (abfd)->verdef != NULL + && ! override + && vernum > 1 + && definition) + h->verinfo.verdef = &elf_tdata (abfd)->verdef[vernum - 1]; + } + + if (! (_bfd_generic_link_add_one_symbol + (info, abfd, name, flags, sec, value, NULL, FALSE, collect, + (struct bfd_link_hash_entry **) sym_hash))) + goto error_free_vers; + + h = *sym_hash; + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + *sym_hash = h; + + new_weakdef = FALSE; + if (dynamic + && definition + && (flags & BSF_WEAK) != 0 + && ELF_ST_TYPE (isym->st_info) != STT_FUNC + && is_elf_hash_table (hash_table) + && h->weakdef == NULL) + { + /* Keep a list of all weak defined non function symbols from + a dynamic object, using the weakdef field. Later in this + function we will set the weakdef field to the correct + value. We only put non-function symbols from dynamic + objects on this list, because that happens to be the only + time we need to know the normal symbol corresponding to a + weak symbol, and the information is time consuming to + figure out. If the weakdef field is not already NULL, + then this symbol was already defined by some previous + dynamic object, and we will be using that previous + definition anyhow. */ + + h->weakdef = weaks; + weaks = h; + new_weakdef = TRUE; + } + + /* Set the alignment of a common symbol. */ + if (isym->st_shndx == SHN_COMMON + && h->root.type == bfd_link_hash_common) + { + unsigned int align; + + align = bfd_log2 (isym->st_value); + if (align > old_alignment + /* Permit an alignment power of zero if an alignment of one + is specified and no other alignments have been specified. */ + || (isym->st_value == 1 && old_alignment == 0)) + h->root.u.c.p->alignment_power = align; + else + h->root.u.c.p->alignment_power = old_alignment; + } + + if (is_elf_hash_table (hash_table)) + { + int old_flags; + bfd_boolean dynsym; + int new_flag; + + /* Check the alignment when a common symbol is involved. This + can change when a common symbol is overridden by a normal + definition or a common symbol is ignored due to the old + normal definition. We need to make sure the maximum + alignment is maintained. */ + if ((old_alignment || isym->st_shndx == SHN_COMMON) + && h->root.type != bfd_link_hash_common) + { + unsigned int common_align; + unsigned int normal_align; + unsigned int symbol_align; + bfd *normal_bfd; + bfd *common_bfd; + + symbol_align = ffs (h->root.u.def.value) - 1; + if (h->root.u.def.section->owner != NULL + && (h->root.u.def.section->owner->flags & DYNAMIC) == 0) + { + normal_align = h->root.u.def.section->alignment_power; + if (normal_align > symbol_align) + normal_align = symbol_align; + } + else + normal_align = symbol_align; + + if (old_alignment) + { + common_align = old_alignment; + common_bfd = old_bfd; + normal_bfd = abfd; + } + else + { + common_align = bfd_log2 (isym->st_value); + common_bfd = abfd; + normal_bfd = old_bfd; + } + + if (normal_align < common_align) + (*_bfd_error_handler) + (_("Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s"), + 1 << normal_align, + name, + bfd_archive_filename (normal_bfd), + 1 << common_align, + bfd_archive_filename (common_bfd)); + } + + /* Remember the symbol size and type. */ + if (isym->st_size != 0 + && (definition || h->size == 0)) + { + if (h->size != 0 && h->size != isym->st_size && ! size_change_ok) + (*_bfd_error_handler) + (_("Warning: size of symbol `%s' changed from %lu in %s to %lu in %s"), + name, (unsigned long) h->size, + bfd_archive_filename (old_bfd), + (unsigned long) isym->st_size, + bfd_archive_filename (abfd)); + + h->size = isym->st_size; + } + + /* If this is a common symbol, then we always want H->SIZE + to be the size of the common symbol. The code just above + won't fix the size if a common symbol becomes larger. We + don't warn about a size change here, because that is + covered by --warn-common. */ + if (h->root.type == bfd_link_hash_common) + h->size = h->root.u.c.size; + + if (ELF_ST_TYPE (isym->st_info) != STT_NOTYPE + && (definition || h->type == STT_NOTYPE)) + { + if (h->type != STT_NOTYPE + && h->type != ELF_ST_TYPE (isym->st_info) + && ! type_change_ok) + (*_bfd_error_handler) + (_("Warning: type of symbol `%s' changed from %d to %d in %s"), + name, h->type, ELF_ST_TYPE (isym->st_info), + bfd_archive_filename (abfd)); + + h->type = ELF_ST_TYPE (isym->st_info); + } + + /* If st_other has a processor-specific meaning, specific + code might be needed here. We never merge the visibility + attribute with the one from a dynamic object. */ + if (bed->elf_backend_merge_symbol_attribute) + (*bed->elf_backend_merge_symbol_attribute) (h, isym, definition, + dynamic); + + if (isym->st_other != 0 && !dynamic) + { + unsigned char hvis, symvis, other, nvis; + + /* Take the balance of OTHER from the definition. */ + other = (definition ? isym->st_other : h->other); + other &= ~ ELF_ST_VISIBILITY (-1); + + /* Combine visibilities, using the most constraining one. */ + hvis = ELF_ST_VISIBILITY (h->other); + symvis = ELF_ST_VISIBILITY (isym->st_other); + if (! hvis) + nvis = symvis; + else if (! symvis) + nvis = hvis; + else + nvis = hvis < symvis ? hvis : symvis; + + h->other = other | nvis; + } + + /* Set a flag in the hash table entry indicating the type of + reference or definition we just found. Keep a count of + the number of dynamic symbols we find. A dynamic symbol + is one which is referenced or defined by both a regular + object and a shared object. */ + old_flags = h->elf_link_hash_flags; + dynsym = FALSE; + if (! dynamic) + { + if (! definition) + { + new_flag = ELF_LINK_HASH_REF_REGULAR; + if (bind != STB_WEAK) + new_flag |= ELF_LINK_HASH_REF_REGULAR_NONWEAK; + } + else + new_flag = ELF_LINK_HASH_DEF_REGULAR; + if (! info->executable + || (old_flags & (ELF_LINK_HASH_DEF_DYNAMIC + | ELF_LINK_HASH_REF_DYNAMIC)) != 0) + dynsym = TRUE; + } + else + { + if (! definition) + new_flag = ELF_LINK_HASH_REF_DYNAMIC; + else + new_flag = ELF_LINK_HASH_DEF_DYNAMIC; + if ((old_flags & (ELF_LINK_HASH_DEF_REGULAR + | ELF_LINK_HASH_REF_REGULAR)) != 0 + || (h->weakdef != NULL + && ! new_weakdef + && h->weakdef->dynindx != -1)) + dynsym = TRUE; + } + + h->elf_link_hash_flags |= new_flag; + + /* Check to see if we need to add an indirect symbol for + the default name. */ + if (definition || h->root.type == bfd_link_hash_common) + if (!_bfd_elf_add_default_symbol (abfd, info, h, name, isym, + &sec, &value, &dynsym, + override)) + goto error_free_vers; + + if (definition && !dynamic) + { + char *p = strchr (name, ELF_VER_CHR); + if (p != NULL && p[1] != ELF_VER_CHR) + { + /* Queue non-default versions so that .symver x, x@FOO + aliases can be checked. */ + if (! nondeflt_vers) + { + amt = (isymend - isym + 1) + * sizeof (struct elf_link_hash_entry *); + nondeflt_vers = bfd_malloc (amt); + } + nondeflt_vers [nondeflt_vers_cnt++] = h; + } + } + + if (dynsym && h->dynindx == -1) + { + if (! bfd_elf_link_record_dynamic_symbol (info, h)) + goto error_free_vers; + if (h->weakdef != NULL + && ! new_weakdef + && h->weakdef->dynindx == -1) + { + if (! bfd_elf_link_record_dynamic_symbol (info, h->weakdef)) + goto error_free_vers; + } + } + else if (dynsym && h->dynindx != -1) + /* If the symbol already has a dynamic index, but + visibility says it should not be visible, turn it into + a local symbol. */ + switch (ELF_ST_VISIBILITY (h->other)) + { + case STV_INTERNAL: + case STV_HIDDEN: + (*bed->elf_backend_hide_symbol) (info, h, TRUE); + dynsym = FALSE; + break; + } + + if (!add_needed + && definition + && dynsym + && (h->elf_link_hash_flags + & ELF_LINK_HASH_REF_REGULAR) != 0) + { + int ret; + const char *soname = elf_dt_name (abfd); + + /* A symbol from a library loaded via DT_NEEDED of some + other library is referenced by a regular object. + Add a DT_NEEDED entry for it. */ + add_needed = TRUE; + ret = elf_add_dt_needed_tag (info, soname, add_needed); + if (ret < 0) + goto error_free_vers; + + BFD_ASSERT (ret == 0); + } + } + } + + /* Now that all the symbols from this input file are created, handle + .symver foo, foo@BAR such that any relocs against foo become foo@BAR. */ + if (nondeflt_vers != NULL) + { + bfd_size_type cnt, symidx; + + for (cnt = 0; cnt < nondeflt_vers_cnt; ++cnt) + { + struct elf_link_hash_entry *h = nondeflt_vers[cnt], *hi; + char *shortname, *p; + + p = strchr (h->root.root.string, ELF_VER_CHR); + if (p == NULL + || (h->root.type != bfd_link_hash_defined + && h->root.type != bfd_link_hash_defweak)) + continue; + + amt = p - h->root.root.string; + shortname = bfd_malloc (amt + 1); + memcpy (shortname, h->root.root.string, amt); + shortname[amt] = '\0'; + + hi = (struct elf_link_hash_entry *) + bfd_link_hash_lookup (&hash_table->root, shortname, + FALSE, FALSE, FALSE); + if (hi != NULL + && hi->root.type == h->root.type + && hi->root.u.def.value == h->root.u.def.value + && hi->root.u.def.section == h->root.u.def.section) + { + (*bed->elf_backend_hide_symbol) (info, hi, TRUE); + hi->root.type = bfd_link_hash_indirect; + hi->root.u.i.link = (struct bfd_link_hash_entry *) h; + (*bed->elf_backend_copy_indirect_symbol) (bed, h, hi); + sym_hash = elf_sym_hashes (abfd); + if (sym_hash) + for (symidx = 0; symidx < extsymcount; ++symidx) + if (sym_hash[symidx] == hi) + { + sym_hash[symidx] = h; + break; + } + } + free (shortname); + } + free (nondeflt_vers); + nondeflt_vers = NULL; + } + + if (extversym != NULL) + { + free (extversym); + extversym = NULL; + } + + if (isymbuf != NULL) + free (isymbuf); + isymbuf = NULL; + + /* Now set the weakdefs field correctly for all the weak defined + symbols we found. The only way to do this is to search all the + symbols. Since we only need the information for non functions in + dynamic objects, that's the only time we actually put anything on + the list WEAKS. We need this information so that if a regular + object refers to a symbol defined weakly in a dynamic object, the + real symbol in the dynamic object is also put in the dynamic + symbols; we also must arrange for both symbols to point to the + same memory location. We could handle the general case of symbol + aliasing, but a general symbol alias can only be generated in + assembler code, handling it correctly would be very time + consuming, and other ELF linkers don't handle general aliasing + either. */ + if (weaks != NULL) + { + struct elf_link_hash_entry **hpp; + struct elf_link_hash_entry **hppend; + struct elf_link_hash_entry **sorted_sym_hash; + struct elf_link_hash_entry *h; + size_t sym_count; + + /* Since we have to search the whole symbol list for each weak + defined symbol, search time for N weak defined symbols will be + O(N^2). Binary search will cut it down to O(NlogN). */ + amt = extsymcount * sizeof (struct elf_link_hash_entry *); + sorted_sym_hash = bfd_malloc (amt); + if (sorted_sym_hash == NULL) + goto error_return; + sym_hash = sorted_sym_hash; + hpp = elf_sym_hashes (abfd); + hppend = hpp + extsymcount; + sym_count = 0; + for (; hpp < hppend; hpp++) + { + h = *hpp; + if (h != NULL + && h->root.type == bfd_link_hash_defined + && h->type != STT_FUNC) + { + *sym_hash = h; + sym_hash++; + sym_count++; + } + } + + qsort (sorted_sym_hash, sym_count, + sizeof (struct elf_link_hash_entry *), + elf_sort_symbol); + + while (weaks != NULL) + { + struct elf_link_hash_entry *hlook; + asection *slook; + bfd_vma vlook; + long ilook; + size_t i, j, idx; + + hlook = weaks; + weaks = hlook->weakdef; + hlook->weakdef = NULL; + + BFD_ASSERT (hlook->root.type == bfd_link_hash_defined + || hlook->root.type == bfd_link_hash_defweak + || hlook->root.type == bfd_link_hash_common + || hlook->root.type == bfd_link_hash_indirect); + slook = hlook->root.u.def.section; + vlook = hlook->root.u.def.value; + + ilook = -1; + i = 0; + j = sym_count; + while (i < j) + { + bfd_signed_vma vdiff; + idx = (i + j) / 2; + h = sorted_sym_hash [idx]; + vdiff = vlook - h->root.u.def.value; + if (vdiff < 0) + j = idx; + else if (vdiff > 0) + i = idx + 1; + else + { + long sdiff = slook - h->root.u.def.section; + if (sdiff < 0) + j = idx; + else if (sdiff > 0) + i = idx + 1; + else + { + ilook = idx; + break; + } + } + } + + /* We didn't find a value/section match. */ + if (ilook == -1) + continue; + + for (i = ilook; i < sym_count; i++) + { + h = sorted_sym_hash [i]; + + /* Stop if value or section doesn't match. */ + if (h->root.u.def.value != vlook + || h->root.u.def.section != slook) + break; + else if (h != hlook) + { + hlook->weakdef = h; + + /* If the weak definition is in the list of dynamic + symbols, make sure the real definition is put + there as well. */ + if (hlook->dynindx != -1 && h->dynindx == -1) + { + if (! bfd_elf_link_record_dynamic_symbol (info, h)) + goto error_return; + } + + /* If the real definition is in the list of dynamic + symbols, make sure the weak definition is put + there as well. If we don't do this, then the + dynamic loader might not merge the entries for the + real definition and the weak definition. */ + if (h->dynindx != -1 && hlook->dynindx == -1) + { + if (! bfd_elf_link_record_dynamic_symbol (info, hlook)) + goto error_return; + } + break; + } + } + } + + free (sorted_sym_hash); + } + + /* If this object is the same format as the output object, and it is + not a shared library, then let the backend look through the + relocs. + + This is required to build global offset table entries and to + arrange for dynamic relocs. It is not required for the + particular common case of linking non PIC code, even when linking + against shared libraries, but unfortunately there is no way of + knowing whether an object file has been compiled PIC or not. + Looking through the relocs is not particularly time consuming. + The problem is that we must either (1) keep the relocs in memory, + which causes the linker to require additional runtime memory or + (2) read the relocs twice from the input file, which wastes time. + This would be a good case for using mmap. + + I have no idea how to handle linking PIC code into a file of a + different format. It probably can't be done. */ + check_relocs = get_elf_backend_data (abfd)->check_relocs; + if (! dynamic + && is_elf_hash_table (hash_table) + && hash_table->root.creator == abfd->xvec + && check_relocs != NULL) + { + asection *o; + + for (o = abfd->sections; o != NULL; o = o->next) + { + Elf_Internal_Rela *internal_relocs; + bfd_boolean ok; + + if ((o->flags & SEC_RELOC) == 0 + || o->reloc_count == 0 + || ((info->strip == strip_all || info->strip == strip_debugger) + && (o->flags & SEC_DEBUGGING) != 0) + || bfd_is_abs_section (o->output_section)) + continue; + + internal_relocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL, + info->keep_memory); + if (internal_relocs == NULL) + goto error_return; + + ok = (*check_relocs) (abfd, info, o, internal_relocs); + + if (elf_section_data (o)->relocs != internal_relocs) + free (internal_relocs); + + if (! ok) + goto error_return; + } + } + + /* If this is a non-traditional link, try to optimize the handling + of the .stab/.stabstr sections. */ + if (! dynamic + && ! info->traditional_format + && is_elf_hash_table (hash_table) + && (info->strip != strip_all && info->strip != strip_debugger)) + { + asection *stabstr; + + stabstr = bfd_get_section_by_name (abfd, ".stabstr"); + if (stabstr != NULL) + { + bfd_size_type string_offset = 0; + asection *stab; + + for (stab = abfd->sections; stab; stab = stab->next) + if (strncmp (".stab", stab->name, 5) == 0 + && (!stab->name[5] || + (stab->name[5] == '.' && ISDIGIT (stab->name[6]))) + && (stab->flags & SEC_MERGE) == 0 + && !bfd_is_abs_section (stab->output_section)) + { + struct bfd_elf_section_data *secdata; + + secdata = elf_section_data (stab); + if (! _bfd_link_section_stabs (abfd, + & hash_table->stab_info, + stab, stabstr, + &secdata->sec_info, + &string_offset)) + goto error_return; + if (secdata->sec_info) + stab->sec_info_type = ELF_INFO_TYPE_STABS; + } + } + } + + if (! info->relocatable + && ! dynamic + && is_elf_hash_table (hash_table)) + { + asection *s; + + for (s = abfd->sections; s != NULL; s = s->next) + if ((s->flags & SEC_MERGE) != 0 + && !bfd_is_abs_section (s->output_section)) + { + struct bfd_elf_section_data *secdata; + + secdata = elf_section_data (s); + if (! _bfd_merge_section (abfd, + & hash_table->merge_info, + s, &secdata->sec_info)) + goto error_return; + else if (secdata->sec_info) + s->sec_info_type = ELF_INFO_TYPE_MERGE; + } + } + + if (is_elf_hash_table (hash_table)) + { + /* Add this bfd to the loaded list. */ + struct elf_link_loaded_list *n; + + n = bfd_alloc (abfd, sizeof (struct elf_link_loaded_list)); + if (n == NULL) + goto error_return; + n->abfd = abfd; + n->next = hash_table->loaded; + hash_table->loaded = n; + } + + return TRUE; + + error_free_vers: + if (nondeflt_vers != NULL) + free (nondeflt_vers); + if (extversym != NULL) + free (extversym); + error_free_sym: + if (isymbuf != NULL) + free (isymbuf); + error_return: + return FALSE; +} + +/* Add symbols from an ELF archive file to the linker hash table. We + don't use _bfd_generic_link_add_archive_symbols because of a + problem which arises on UnixWare. The UnixWare libc.so is an + archive which includes an entry libc.so.1 which defines a bunch of + symbols. The libc.so archive also includes a number of other + object files, which also define symbols, some of which are the same + as those defined in libc.so.1. Correct linking requires that we + consider each object file in turn, and include it if it defines any + symbols we need. _bfd_generic_link_add_archive_symbols does not do + this; it looks through the list of undefined symbols, and includes + any object file which defines them. When this algorithm is used on + UnixWare, it winds up pulling in libc.so.1 early and defining a + bunch of symbols. This means that some of the other objects in the + archive are not included in the link, which is incorrect since they + precede libc.so.1 in the archive. + + Fortunately, ELF archive handling is simpler than that done by + _bfd_generic_link_add_archive_symbols, which has to allow for a.out + oddities. In ELF, if we find a symbol in the archive map, and the + symbol is currently undefined, we know that we must pull in that + object file. + + Unfortunately, we do have to make multiple passes over the symbol + table until nothing further is resolved. */ + +static bfd_boolean +elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info) +{ + symindex c; + bfd_boolean *defined = NULL; + bfd_boolean *included = NULL; + carsym *symdefs; + bfd_boolean loop; + bfd_size_type amt; + + if (! bfd_has_map (abfd)) + { + /* An empty archive is a special case. */ + if (bfd_openr_next_archived_file (abfd, NULL) == NULL) + return TRUE; + bfd_set_error (bfd_error_no_armap); + return FALSE; + } + + /* Keep track of all symbols we know to be already defined, and all + files we know to be already included. This is to speed up the + second and subsequent passes. */ + c = bfd_ardata (abfd)->symdef_count; + if (c == 0) + return TRUE; + amt = c; + amt *= sizeof (bfd_boolean); + defined = bfd_zmalloc (amt); + included = bfd_zmalloc (amt); + if (defined == NULL || included == NULL) + goto error_return; + + symdefs = bfd_ardata (abfd)->symdefs; + + do + { + file_ptr last; + symindex i; + carsym *symdef; + carsym *symdefend; + + loop = FALSE; + last = -1; + + symdef = symdefs; + symdefend = symdef + c; + for (i = 0; symdef < symdefend; symdef++, i++) + { + struct elf_link_hash_entry *h; + bfd *element; + struct bfd_link_hash_entry *undefs_tail; + symindex mark; + + if (defined[i] || included[i]) + continue; + if (symdef->file_offset == last) + { + included[i] = TRUE; + continue; + } + + h = elf_link_hash_lookup (elf_hash_table (info), symdef->name, + FALSE, FALSE, FALSE); + + if (h == NULL) + { + char *p, *copy; + size_t len, first; + + /* If this is a default version (the name contains @@), + look up the symbol again with only one `@' as well + as without the version. The effect is that references + to the symbol with and without the version will be + matched by the default symbol in the archive. */ + + p = strchr (symdef->name, ELF_VER_CHR); + if (p == NULL || p[1] != ELF_VER_CHR) + continue; + + /* First check with only one `@'. */ + len = strlen (symdef->name); + copy = bfd_alloc (abfd, len); + if (copy == NULL) + goto error_return; + first = p - symdef->name + 1; + memcpy (copy, symdef->name, first); + memcpy (copy + first, symdef->name + first + 1, len - first); + + h = elf_link_hash_lookup (elf_hash_table (info), copy, + FALSE, FALSE, FALSE); + + if (h == NULL) + { + /* We also need to check references to the symbol + without the version. */ + + copy[first - 1] = '\0'; + h = elf_link_hash_lookup (elf_hash_table (info), + copy, FALSE, FALSE, FALSE); + } + + bfd_release (abfd, copy); + } + + if (h == NULL) + continue; + + if (h->root.type == bfd_link_hash_common) + { + /* We currently have a common symbol. The archive map contains + a reference to this symbol, so we may want to include it. We + only want to include it however, if this archive element + contains a definition of the symbol, not just another common + declaration of it. + + Unfortunately some archivers (including GNU ar) will put + declarations of common symbols into their archive maps, as + well as real definitions, so we cannot just go by the archive + map alone. Instead we must read in the element's symbol + table and check that to see what kind of symbol definition + this is. */ + if (! elf_link_is_defined_archive_symbol (abfd, symdef)) + continue; + } + else if (h->root.type != bfd_link_hash_undefined) + { + if (h->root.type != bfd_link_hash_undefweak) + defined[i] = TRUE; + continue; + } + + /* We need to include this archive member. */ + element = _bfd_get_elt_at_filepos (abfd, symdef->file_offset); + if (element == NULL) + goto error_return; + + if (! bfd_check_format (element, bfd_object)) + goto error_return; + + /* Doublecheck that we have not included this object + already--it should be impossible, but there may be + something wrong with the archive. */ + if (element->archive_pass != 0) + { + bfd_set_error (bfd_error_bad_value); + goto error_return; + } + element->archive_pass = 1; + + undefs_tail = info->hash->undefs_tail; + + if (! (*info->callbacks->add_archive_element) (info, element, + symdef->name)) + goto error_return; + if (! bfd_link_add_symbols (element, info)) + goto error_return; + + /* If there are any new undefined symbols, we need to make another pass through the archive in order to see whether they can be defined. FIXME: This isn't perfect, because common symbols wind up on undefs_tail and because an @@ -2878,34 +4336,4569 @@ _bfd_elf_link_add_archive_symbols (bfd * if (undefs_tail != info->hash->undefs_tail) loop = TRUE; - /* Look backward to mark all symbols from this object file - which we have already seen in this pass. */ - mark = i; - do + /* Look backward to mark all symbols from this object file + which we have already seen in this pass. */ + mark = i; + do + { + included[mark] = TRUE; + if (mark == 0) + break; + --mark; + } + while (symdefs[mark].file_offset == symdef->file_offset); + + /* We mark subsequent symbols from this object file as we go + on through the loop. */ + last = symdef->file_offset; + } + } + while (loop); + + free (defined); + free (included); + + return TRUE; + + error_return: + if (defined != NULL) + free (defined); + if (included != NULL) + free (included); + return FALSE; +} + +/* Given an ELF BFD, add symbols to the global hash table as + appropriate. */ + +bfd_boolean +bfd_elf_link_add_symbols (bfd *abfd, struct bfd_link_info *info) +{ + switch (bfd_get_format (abfd)) + { + case bfd_object: + return elf_link_add_object_symbols (abfd, info); + case bfd_archive: + return elf_link_add_archive_symbols (abfd, info); + default: + bfd_set_error (bfd_error_wrong_format); + return FALSE; + } +} + +/* This function will be called though elf_link_hash_traverse to store + all hash value of the exported symbols in an array. */ + +static bfd_boolean +elf_collect_hash_codes (struct elf_link_hash_entry *h, void *data) +{ + unsigned long **valuep = data; + const char *name; + char *p; + unsigned long ha; + char *alc = NULL; + + if (h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* Ignore indirect symbols. These are added by the versioning code. */ + if (h->dynindx == -1) + return TRUE; + + name = h->root.root.string; + p = strchr (name, ELF_VER_CHR); + if (p != NULL) + { + alc = bfd_malloc (p - name + 1); + memcpy (alc, name, p - name); + alc[p - name] = '\0'; + name = alc; + } + + /* Compute the hash value. */ + ha = bfd_elf_hash (name); + + /* Store the found hash value in the array given as the argument. */ + *(*valuep)++ = ha; + + /* And store it in the struct so that we can put it in the hash table + later. */ + h->elf_hash_value = ha; + + if (alc != NULL) + free (alc); + + return TRUE; +} + +/* Array used to determine the number of hash table buckets to use + based on the number of symbols there are. If there are fewer than + 3 symbols we use 1 bucket, fewer than 17 symbols we use 3 buckets, + fewer than 37 we use 17 buckets, and so forth. We never use more + than 32771 buckets. */ + +static const size_t elf_buckets[] = +{ + 1, 3, 17, 37, 67, 97, 131, 197, 263, 521, 1031, 2053, 4099, 8209, + 16411, 32771, 0 +}; + +/* Compute bucket count for hashing table. We do not use a static set + of possible tables sizes anymore. Instead we determine for all + possible reasonable sizes of the table the outcome (i.e., the + number of collisions etc) and choose the best solution. The + weighting functions are not too simple to allow the table to grow + without bounds. Instead one of the weighting factors is the size. + Therefore the result is always a good payoff between few collisions + (= short chain lengths) and table size. */ +static size_t +compute_bucket_count (struct bfd_link_info *info) +{ + size_t dynsymcount = elf_hash_table (info)->dynsymcount; + size_t best_size = 0; + unsigned long int *hashcodes; + unsigned long int *hashcodesp; + unsigned long int i; + bfd_size_type amt; + + /* Compute the hash values for all exported symbols. At the same + time store the values in an array so that we could use them for + optimizations. */ + amt = dynsymcount; + amt *= sizeof (unsigned long int); + hashcodes = bfd_malloc (amt); + if (hashcodes == NULL) + return 0; + hashcodesp = hashcodes; + + /* Put all hash values in HASHCODES. */ + elf_link_hash_traverse (elf_hash_table (info), + elf_collect_hash_codes, &hashcodesp); + + /* We have a problem here. The following code to optimize the table + size requires an integer type with more the 32 bits. If + BFD_HOST_U_64_BIT is set we know about such a type. */ +#ifdef BFD_HOST_U_64_BIT + if (info->optimize) + { + unsigned long int nsyms = hashcodesp - hashcodes; + size_t minsize; + size_t maxsize; + BFD_HOST_U_64_BIT best_chlen = ~((BFD_HOST_U_64_BIT) 0); + unsigned long int *counts ; + bfd *dynobj = elf_hash_table (info)->dynobj; + const struct elf_backend_data *bed = get_elf_backend_data (dynobj); + + /* Possible optimization parameters: if we have NSYMS symbols we say + that the hashing table must at least have NSYMS/4 and at most + 2*NSYMS buckets. */ + minsize = nsyms / 4; + if (minsize == 0) + minsize = 1; + best_size = maxsize = nsyms * 2; + + /* Create array where we count the collisions in. We must use bfd_malloc + since the size could be large. */ + amt = maxsize; + amt *= sizeof (unsigned long int); + counts = bfd_malloc (amt); + if (counts == NULL) + { + free (hashcodes); + return 0; + } + + /* Compute the "optimal" size for the hash table. The criteria is a + minimal chain length. The minor criteria is (of course) the size + of the table. */ + for (i = minsize; i < maxsize; ++i) + { + /* Walk through the array of hashcodes and count the collisions. */ + BFD_HOST_U_64_BIT max; + unsigned long int j; + unsigned long int fact; + + memset (counts, '\0', i * sizeof (unsigned long int)); + + /* Determine how often each hash bucket is used. */ + for (j = 0; j < nsyms; ++j) + ++counts[hashcodes[j] % i]; + + /* For the weight function we need some information about the + pagesize on the target. This is information need not be 100% + accurate. Since this information is not available (so far) we + define it here to a reasonable default value. If it is crucial + to have a better value some day simply define this value. */ +# ifndef BFD_TARGET_PAGESIZE +# define BFD_TARGET_PAGESIZE (4096) +# endif + + /* We in any case need 2 + NSYMS entries for the size values and + the chains. */ + max = (2 + nsyms) * (bed->s->arch_size / 8); + +# if 1 + /* Variant 1: optimize for short chains. We add the squares + of all the chain lengths (which favors many small chain + over a few long chains). */ + for (j = 0; j < i; ++j) + max += counts[j] * counts[j]; + + /* This adds penalties for the overall size of the table. */ + fact = i / (BFD_TARGET_PAGESIZE / (bed->s->arch_size / 8)) + 1; + max *= fact * fact; +# else + /* Variant 2: Optimize a lot more for small table. Here we + also add squares of the size but we also add penalties for + empty slots (the +1 term). */ + for (j = 0; j < i; ++j) + max += (1 + counts[j]) * (1 + counts[j]); + + /* The overall size of the table is considered, but not as + strong as in variant 1, where it is squared. */ + fact = i / (BFD_TARGET_PAGESIZE / (bed->s->arch_size / 8)) + 1; + max *= fact; +# endif + + /* Compare with current best results. */ + if (max < best_chlen) + { + best_chlen = max; + best_size = i; + } + } + + free (counts); + } + else +#endif /* defined (BFD_HOST_U_64_BIT) */ + { + /* This is the fallback solution if no 64bit type is available or if we + are not supposed to spend much time on optimizations. We select the + bucket count using a fixed set of numbers. */ + for (i = 0; elf_buckets[i] != 0; i++) + { + best_size = elf_buckets[i]; + if (dynsymcount < elf_buckets[i + 1]) + break; + } + } + + /* Free the arrays we needed. */ + free (hashcodes); + + return best_size; +} + +/* Set up the sizes and contents of the ELF dynamic sections. This is + called by the ELF linker emulation before_allocation routine. We + must set the sizes of the sections before the linker sets the + addresses of the various sections. */ + +bfd_boolean +bfd_elf_size_dynamic_sections (bfd *output_bfd, + const char *soname, + const char *rpath, + const char *filter_shlib, + const char * const *auxiliary_filters, + struct bfd_link_info *info, + asection **sinterpptr, + struct bfd_elf_version_tree *verdefs) +{ + bfd_size_type soname_indx; + bfd *dynobj; + const struct elf_backend_data *bed; + struct elf_assign_sym_version_info asvinfo; + + *sinterpptr = NULL; + + soname_indx = (bfd_size_type) -1; + + if (!is_elf_hash_table (info->hash)) + return TRUE; + + if (info->execstack) + elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; + else if (info->noexecstack) + elf_tdata (output_bfd)->stack_flags = PF_R | PF_W; + else + { + bfd *inputobj; + asection *notesec = NULL; + int exec = 0; + + for (inputobj = info->input_bfds; + inputobj; + inputobj = inputobj->link_next) + { + asection *s; + + if (inputobj->flags & DYNAMIC) + continue; + s = bfd_get_section_by_name (inputobj, ".note.GNU-stack"); + if (s) + { + if (s->flags & SEC_CODE) + exec = PF_X; + notesec = s; + } + else + exec = PF_X; + } + if (notesec) + { + elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | exec; + if (exec && info->relocatable + && notesec->output_section != bfd_abs_section_ptr) + notesec->output_section->flags |= SEC_CODE; + } + } + + /* Any syms created from now on start with -1 in + got.refcount/offset and plt.refcount/offset. */ + elf_hash_table (info)->init_refcount = elf_hash_table (info)->init_offset; + + /* The backend may have to create some sections regardless of whether + we're dynamic or not. */ + bed = get_elf_backend_data (output_bfd); + if (bed->elf_backend_always_size_sections + && ! (*bed->elf_backend_always_size_sections) (output_bfd, info)) + return FALSE; + + dynobj = elf_hash_table (info)->dynobj; + + /* If there were no dynamic objects in the link, there is nothing to + do here. */ + if (dynobj == NULL) + return TRUE; + + if (! _bfd_elf_maybe_strip_eh_frame_hdr (info)) + return FALSE; + + if (elf_hash_table (info)->dynamic_sections_created) + { + struct elf_info_failed eif; + struct elf_link_hash_entry *h; + asection *dynstr; + struct bfd_elf_version_tree *t; + struct bfd_elf_version_expr *d; + bfd_boolean all_defined; + + *sinterpptr = bfd_get_section_by_name (dynobj, ".interp"); + BFD_ASSERT (*sinterpptr != NULL || !info->executable); + + if (soname != NULL) + { + soname_indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, + soname, TRUE); + if (soname_indx == (bfd_size_type) -1 + || !_bfd_elf_add_dynamic_entry (info, DT_SONAME, soname_indx)) + return FALSE; + } + + if (info->symbolic) + { + if (!_bfd_elf_add_dynamic_entry (info, DT_SYMBOLIC, 0)) + return FALSE; + info->flags |= DF_SYMBOLIC; + } + + if (rpath != NULL) + { + bfd_size_type indx; + + indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, rpath, + TRUE); + if (indx == (bfd_size_type) -1 + || !_bfd_elf_add_dynamic_entry (info, DT_RPATH, indx)) + return FALSE; + + if (info->new_dtags) + { + _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, indx); + if (!_bfd_elf_add_dynamic_entry (info, DT_RUNPATH, indx)) + return FALSE; + } + } + + if (filter_shlib != NULL) + { + bfd_size_type indx; + + indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, + filter_shlib, TRUE); + if (indx == (bfd_size_type) -1 + || !_bfd_elf_add_dynamic_entry (info, DT_FILTER, indx)) + return FALSE; + } + + if (auxiliary_filters != NULL) + { + const char * const *p; + + for (p = auxiliary_filters; *p != NULL; p++) + { + bfd_size_type indx; + + indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, + *p, TRUE); + if (indx == (bfd_size_type) -1 + || !_bfd_elf_add_dynamic_entry (info, DT_AUXILIARY, indx)) + return FALSE; + } + } + + eif.info = info; + eif.verdefs = verdefs; + eif.failed = FALSE; + + /* If we are supposed to export all symbols into the dynamic symbol + table (this is not the normal case), then do so. */ + if (info->export_dynamic) + { + elf_link_hash_traverse (elf_hash_table (info), + _bfd_elf_export_symbol, + &eif); + if (eif.failed) + return FALSE; + } + + /* Make all global versions with definition. */ + for (t = verdefs; t != NULL; t = t->next) + for (d = t->globals.list; d != NULL; d = d->next) + if (!d->symver && d->symbol) + { + const char *verstr, *name; + size_t namelen, verlen, newlen; + char *newname, *p; + struct elf_link_hash_entry *newh; + + name = d->symbol; + namelen = strlen (name); + verstr = t->name; + verlen = strlen (verstr); + newlen = namelen + verlen + 3; + + newname = bfd_malloc (newlen); + if (newname == NULL) + return FALSE; + memcpy (newname, name, namelen); + + /* Check the hidden versioned definition. */ + p = newname + namelen; + *p++ = ELF_VER_CHR; + memcpy (p, verstr, verlen + 1); + newh = elf_link_hash_lookup (elf_hash_table (info), + newname, FALSE, FALSE, + FALSE); + if (newh == NULL + || (newh->root.type != bfd_link_hash_defined + && newh->root.type != bfd_link_hash_defweak)) + { + /* Check the default versioned definition. */ + *p++ = ELF_VER_CHR; + memcpy (p, verstr, verlen + 1); + newh = elf_link_hash_lookup (elf_hash_table (info), + newname, FALSE, FALSE, + FALSE); + } + free (newname); + + /* Mark this version if there is a definition and it is + not defined in a shared object. */ + if (newh != NULL + && ((newh->elf_link_hash_flags + & ELF_LINK_HASH_DEF_DYNAMIC) == 0) + && (newh->root.type == bfd_link_hash_defined + || newh->root.type == bfd_link_hash_defweak)) + d->symver = 1; + } + + /* Attach all the symbols to their version information. */ + asvinfo.output_bfd = output_bfd; + asvinfo.info = info; + asvinfo.verdefs = verdefs; + asvinfo.failed = FALSE; + + elf_link_hash_traverse (elf_hash_table (info), + _bfd_elf_link_assign_sym_version, + &asvinfo); + if (asvinfo.failed) + return FALSE; + + if (!info->allow_undefined_version) + { + /* Check if all global versions have a definition. */ + all_defined = TRUE; + for (t = verdefs; t != NULL; t = t->next) + for (d = t->globals.list; d != NULL; d = d->next) + if (!d->symver && !d->script) + { + (*_bfd_error_handler) + (_("%s: undefined version: %s"), + d->pattern, t->name); + all_defined = FALSE; + } + + if (!all_defined) + { + bfd_set_error (bfd_error_bad_value); + return FALSE; + } + } + + /* Find all symbols which were defined in a dynamic object and make + the backend pick a reasonable value for them. */ + elf_link_hash_traverse (elf_hash_table (info), + _bfd_elf_adjust_dynamic_symbol, + &eif); + if (eif.failed) + return FALSE; + + /* Add some entries to the .dynamic section. We fill in some of the + values later, in elf_bfd_final_link, but we must add the entries + now so that we know the final size of the .dynamic section. */ + + /* If there are initialization and/or finalization functions to + call then add the corresponding DT_INIT/DT_FINI entries. */ + h = (info->init_function + ? elf_link_hash_lookup (elf_hash_table (info), + info->init_function, FALSE, + FALSE, FALSE) + : NULL); + if (h != NULL + && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR + | ELF_LINK_HASH_DEF_REGULAR)) != 0) + { + if (!_bfd_elf_add_dynamic_entry (info, DT_INIT, 0)) + return FALSE; + } + h = (info->fini_function + ? elf_link_hash_lookup (elf_hash_table (info), + info->fini_function, FALSE, + FALSE, FALSE) + : NULL); + if (h != NULL + && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR + | ELF_LINK_HASH_DEF_REGULAR)) != 0) + { + if (!_bfd_elf_add_dynamic_entry (info, DT_FINI, 0)) + return FALSE; + } + + if (bfd_get_section_by_name (output_bfd, ".preinit_array") != NULL) + { + /* DT_PREINIT_ARRAY is not allowed in shared library. */ + if (! info->executable) + { + bfd *sub; + asection *o; + + for (sub = info->input_bfds; sub != NULL; + sub = sub->link_next) + for (o = sub->sections; o != NULL; o = o->next) + if (elf_section_data (o)->this_hdr.sh_type + == SHT_PREINIT_ARRAY) + { + (*_bfd_error_handler) + (_("%s: .preinit_array section is not allowed in DSO"), + bfd_archive_filename (sub)); + break; + } + + bfd_set_error (bfd_error_nonrepresentable_section); + return FALSE; + } + + if (!_bfd_elf_add_dynamic_entry (info, DT_PREINIT_ARRAY, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_PREINIT_ARRAYSZ, 0)) + return FALSE; + } + if (bfd_get_section_by_name (output_bfd, ".init_array") != NULL) + { + if (!_bfd_elf_add_dynamic_entry (info, DT_INIT_ARRAY, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_INIT_ARRAYSZ, 0)) + return FALSE; + } + if (bfd_get_section_by_name (output_bfd, ".fini_array") != NULL) + { + if (!_bfd_elf_add_dynamic_entry (info, DT_FINI_ARRAY, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_FINI_ARRAYSZ, 0)) + return FALSE; + } + + dynstr = bfd_get_section_by_name (dynobj, ".dynstr"); + /* If .dynstr is excluded from the link, we don't want any of + these tags. Strictly, we should be checking each section + individually; This quick check covers for the case where + someone does a /DISCARD/ : { *(*) }. */ + if (dynstr != NULL && dynstr->output_section != bfd_abs_section_ptr) + { + bfd_size_type strsize; + + strsize = _bfd_elf_strtab_size (elf_hash_table (info)->dynstr); + if (!_bfd_elf_add_dynamic_entry (info, DT_HASH, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_STRTAB, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_SYMTAB, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_STRSZ, strsize) + || !_bfd_elf_add_dynamic_entry (info, DT_SYMENT, + bed->s->sizeof_sym)) + return FALSE; + } + } + + /* The backend must work out the sizes of all the other dynamic + sections. */ + if (bed->elf_backend_size_dynamic_sections + && ! (*bed->elf_backend_size_dynamic_sections) (output_bfd, info)) + return FALSE; + + if (elf_hash_table (info)->dynamic_sections_created) + { + bfd_size_type dynsymcount; + asection *s; + size_t bucketcount = 0; + size_t hash_entry_size; + unsigned int dtagcount; + + /* Set up the version definition section. */ + s = bfd_get_section_by_name (dynobj, ".gnu.version_d"); + BFD_ASSERT (s != NULL); + + /* We may have created additional version definitions if we are + just linking a regular application. */ + verdefs = asvinfo.verdefs; + + /* Skip anonymous version tag. */ + if (verdefs != NULL && verdefs->vernum == 0) + verdefs = verdefs->next; + + if (verdefs == NULL) + _bfd_strip_section_from_output (info, s); + else + { + unsigned int cdefs; + bfd_size_type size; + struct bfd_elf_version_tree *t; + bfd_byte *p; + Elf_Internal_Verdef def; + Elf_Internal_Verdaux defaux; + + cdefs = 0; + size = 0; + + /* Make space for the base version. */ + size += sizeof (Elf_External_Verdef); + size += sizeof (Elf_External_Verdaux); + ++cdefs; + + for (t = verdefs; t != NULL; t = t->next) + { + struct bfd_elf_version_deps *n; + + size += sizeof (Elf_External_Verdef); + size += sizeof (Elf_External_Verdaux); + ++cdefs; + + for (n = t->deps; n != NULL; n = n->next) + size += sizeof (Elf_External_Verdaux); + } + + s->_raw_size = size; + s->contents = bfd_alloc (output_bfd, s->_raw_size); + if (s->contents == NULL && s->_raw_size != 0) + return FALSE; + + /* Fill in the version definition section. */ + + p = s->contents; + + def.vd_version = VER_DEF_CURRENT; + def.vd_flags = VER_FLG_BASE; + def.vd_ndx = 1; + def.vd_cnt = 1; + def.vd_aux = sizeof (Elf_External_Verdef); + def.vd_next = (sizeof (Elf_External_Verdef) + + sizeof (Elf_External_Verdaux)); + + if (soname_indx != (bfd_size_type) -1) + { + _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, + soname_indx); + def.vd_hash = bfd_elf_hash (soname); + defaux.vda_name = soname_indx; + } + else + { + const char *name; + bfd_size_type indx; + + name = basename (output_bfd->filename); + def.vd_hash = bfd_elf_hash (name); + indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, + name, FALSE); + if (indx == (bfd_size_type) -1) + return FALSE; + defaux.vda_name = indx; + } + defaux.vda_next = 0; + + _bfd_elf_swap_verdef_out (output_bfd, &def, + (Elf_External_Verdef *) p); + p += sizeof (Elf_External_Verdef); + _bfd_elf_swap_verdaux_out (output_bfd, &defaux, + (Elf_External_Verdaux *) p); + p += sizeof (Elf_External_Verdaux); + + for (t = verdefs; t != NULL; t = t->next) + { + unsigned int cdeps; + struct bfd_elf_version_deps *n; + struct elf_link_hash_entry *h; + struct bfd_link_hash_entry *bh; + + cdeps = 0; + for (n = t->deps; n != NULL; n = n->next) + ++cdeps; + + /* Add a symbol representing this version. */ + bh = NULL; + if (! (_bfd_generic_link_add_one_symbol + (info, dynobj, t->name, BSF_GLOBAL, bfd_abs_section_ptr, + 0, NULL, FALSE, + get_elf_backend_data (dynobj)->collect, &bh))) + return FALSE; + h = (struct elf_link_hash_entry *) bh; + h->elf_link_hash_flags &= ~ ELF_LINK_NON_ELF; + h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->type = STT_OBJECT; + h->verinfo.vertree = t; + + if (! bfd_elf_link_record_dynamic_symbol (info, h)) + return FALSE; + + def.vd_version = VER_DEF_CURRENT; + def.vd_flags = 0; + if (t->globals.list == NULL + && t->locals.list == NULL + && ! t->used) + def.vd_flags |= VER_FLG_WEAK; + def.vd_ndx = t->vernum + 1; + def.vd_cnt = cdeps + 1; + def.vd_hash = bfd_elf_hash (t->name); + def.vd_aux = sizeof (Elf_External_Verdef); + def.vd_next = 0; + if (t->next != NULL) + def.vd_next = (sizeof (Elf_External_Verdef) + + (cdeps + 1) * sizeof (Elf_External_Verdaux)); + + _bfd_elf_swap_verdef_out (output_bfd, &def, + (Elf_External_Verdef *) p); + p += sizeof (Elf_External_Verdef); + + defaux.vda_name = h->dynstr_index; + _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, + h->dynstr_index); + defaux.vda_next = 0; + if (t->deps != NULL) + defaux.vda_next = sizeof (Elf_External_Verdaux); + t->name_indx = defaux.vda_name; + + _bfd_elf_swap_verdaux_out (output_bfd, &defaux, + (Elf_External_Verdaux *) p); + p += sizeof (Elf_External_Verdaux); + + for (n = t->deps; n != NULL; n = n->next) + { + if (n->version_needed == NULL) + { + /* This can happen if there was an error in the + version script. */ + defaux.vda_name = 0; + } + else + { + defaux.vda_name = n->version_needed->name_indx; + _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, + defaux.vda_name); + } + if (n->next == NULL) + defaux.vda_next = 0; + else + defaux.vda_next = sizeof (Elf_External_Verdaux); + + _bfd_elf_swap_verdaux_out (output_bfd, &defaux, + (Elf_External_Verdaux *) p); + p += sizeof (Elf_External_Verdaux); + } + } + + if (!_bfd_elf_add_dynamic_entry (info, DT_VERDEF, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_VERDEFNUM, cdefs)) + return FALSE; + + elf_tdata (output_bfd)->cverdefs = cdefs; + } + + if ((info->new_dtags && info->flags) || (info->flags & DF_STATIC_TLS)) + { + if (!_bfd_elf_add_dynamic_entry (info, DT_FLAGS, info->flags)) + return FALSE; + } + else if (info->flags & DF_BIND_NOW) + { + if (!_bfd_elf_add_dynamic_entry (info, DT_BIND_NOW, 0)) + return FALSE; + } + + if (info->flags_1) + { + if (info->executable) + info->flags_1 &= ~ (DF_1_INITFIRST + | DF_1_NODELETE + | DF_1_NOOPEN); + if (!_bfd_elf_add_dynamic_entry (info, DT_FLAGS_1, info->flags_1)) + return FALSE; + } + + /* Work out the size of the version reference section. */ + + s = bfd_get_section_by_name (dynobj, ".gnu.version_r"); + BFD_ASSERT (s != NULL); + { + struct elf_find_verdep_info sinfo; + + sinfo.output_bfd = output_bfd; + sinfo.info = info; + sinfo.vers = elf_tdata (output_bfd)->cverdefs; + if (sinfo.vers == 0) + sinfo.vers = 1; + sinfo.failed = FALSE; + + elf_link_hash_traverse (elf_hash_table (info), + _bfd_elf_link_find_version_dependencies, + &sinfo); + + if (elf_tdata (output_bfd)->verref == NULL) + _bfd_strip_section_from_output (info, s); + else + { + Elf_Internal_Verneed *t; + unsigned int size; + unsigned int crefs; + bfd_byte *p; + + /* Build the version definition section. */ + size = 0; + crefs = 0; + for (t = elf_tdata (output_bfd)->verref; + t != NULL; + t = t->vn_nextref) + { + Elf_Internal_Vernaux *a; + + size += sizeof (Elf_External_Verneed); + ++crefs; + for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr) + size += sizeof (Elf_External_Vernaux); + } + + s->_raw_size = size; + s->contents = bfd_alloc (output_bfd, s->_raw_size); + if (s->contents == NULL) + return FALSE; + + p = s->contents; + for (t = elf_tdata (output_bfd)->verref; + t != NULL; + t = t->vn_nextref) + { + unsigned int caux; + Elf_Internal_Vernaux *a; + bfd_size_type indx; + + caux = 0; + for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr) + ++caux; + + t->vn_version = VER_NEED_CURRENT; + t->vn_cnt = caux; + indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, + elf_dt_name (t->vn_bfd) != NULL + ? elf_dt_name (t->vn_bfd) + : basename (t->vn_bfd->filename), + FALSE); + if (indx == (bfd_size_type) -1) + return FALSE; + t->vn_file = indx; + t->vn_aux = sizeof (Elf_External_Verneed); + if (t->vn_nextref == NULL) + t->vn_next = 0; + else + t->vn_next = (sizeof (Elf_External_Verneed) + + caux * sizeof (Elf_External_Vernaux)); + + _bfd_elf_swap_verneed_out (output_bfd, t, + (Elf_External_Verneed *) p); + p += sizeof (Elf_External_Verneed); + + for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr) + { + a->vna_hash = bfd_elf_hash (a->vna_nodename); + indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, + a->vna_nodename, FALSE); + if (indx == (bfd_size_type) -1) + return FALSE; + a->vna_name = indx; + if (a->vna_nextptr == NULL) + a->vna_next = 0; + else + a->vna_next = sizeof (Elf_External_Vernaux); + + _bfd_elf_swap_vernaux_out (output_bfd, a, + (Elf_External_Vernaux *) p); + p += sizeof (Elf_External_Vernaux); + } + } + + if (!_bfd_elf_add_dynamic_entry (info, DT_VERNEED, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_VERNEEDNUM, crefs)) + return FALSE; + + elf_tdata (output_bfd)->cverrefs = crefs; + } + } + + /* Assign dynsym indicies. In a shared library we generate a + section symbol for each output section, which come first. + Next come all of the back-end allocated local dynamic syms, + followed by the rest of the global symbols. */ + + dynsymcount = _bfd_elf_link_renumber_dynsyms (output_bfd, info); + + /* Work out the size of the symbol version section. */ + s = bfd_get_section_by_name (dynobj, ".gnu.version"); + BFD_ASSERT (s != NULL); + if (dynsymcount == 0 + || (verdefs == NULL && elf_tdata (output_bfd)->verref == NULL)) + { + _bfd_strip_section_from_output (info, s); + /* The DYNSYMCOUNT might have changed if we were going to + output a dynamic symbol table entry for S. */ + dynsymcount = _bfd_elf_link_renumber_dynsyms (output_bfd, info); + } + else + { + s->_raw_size = dynsymcount * sizeof (Elf_External_Versym); + s->contents = bfd_zalloc (output_bfd, s->_raw_size); + if (s->contents == NULL) + return FALSE; + + if (!_bfd_elf_add_dynamic_entry (info, DT_VERSYM, 0)) + return FALSE; + } + + /* Set the size of the .dynsym and .hash sections. We counted + the number of dynamic symbols in elf_link_add_object_symbols. + We will build the contents of .dynsym and .hash when we build + the final symbol table, because until then we do not know the + correct value to give the symbols. We built the .dynstr + section as we went along in elf_link_add_object_symbols. */ + s = bfd_get_section_by_name (dynobj, ".dynsym"); + BFD_ASSERT (s != NULL); + s->_raw_size = dynsymcount * bed->s->sizeof_sym; + s->contents = bfd_alloc (output_bfd, s->_raw_size); + if (s->contents == NULL && s->_raw_size != 0) + return FALSE; + + if (dynsymcount != 0) + { + Elf_Internal_Sym isym; + + /* The first entry in .dynsym is a dummy symbol. */ + isym.st_value = 0; + isym.st_size = 0; + isym.st_name = 0; + isym.st_info = 0; + isym.st_other = 0; + isym.st_shndx = 0; + bed->s->swap_symbol_out (output_bfd, &isym, s->contents, 0); + } + + /* Compute the size of the hashing table. As a side effect this + computes the hash values for all the names we export. */ + bucketcount = compute_bucket_count (info); + + s = bfd_get_section_by_name (dynobj, ".hash"); + BFD_ASSERT (s != NULL); + hash_entry_size = elf_section_data (s)->this_hdr.sh_entsize; + s->_raw_size = ((2 + bucketcount + dynsymcount) * hash_entry_size); + s->contents = bfd_zalloc (output_bfd, s->_raw_size); + if (s->contents == NULL) + return FALSE; + + bfd_put (8 * hash_entry_size, output_bfd, bucketcount, s->contents); + bfd_put (8 * hash_entry_size, output_bfd, dynsymcount, + s->contents + hash_entry_size); + + elf_hash_table (info)->bucketcount = bucketcount; + + s = bfd_get_section_by_name (dynobj, ".dynstr"); + BFD_ASSERT (s != NULL); + + elf_finalize_dynstr (output_bfd, info); + + s->_raw_size = _bfd_elf_strtab_size (elf_hash_table (info)->dynstr); + + for (dtagcount = 0; dtagcount <= info->spare_dynamic_tags; ++dtagcount) + if (!_bfd_elf_add_dynamic_entry (info, DT_NULL, 0)) + return FALSE; + } + + return TRUE; +} + +/* Final phase of ELF linker. */ + +/* A structure we use to avoid passing large numbers of arguments. */ + +struct elf_final_link_info +{ + /* General link information. */ + struct bfd_link_info *info; + /* Output BFD. */ + bfd *output_bfd; + /* Symbol string table. */ + struct bfd_strtab_hash *symstrtab; + /* .dynsym section. */ + asection *dynsym_sec; + /* .hash section. */ + asection *hash_sec; + /* symbol version section (.gnu.version). */ + asection *symver_sec; + /* Buffer large enough to hold contents of any section. */ + bfd_byte *contents; + /* Buffer large enough to hold external relocs of any section. */ + void *external_relocs; + /* Buffer large enough to hold internal relocs of any section. */ + Elf_Internal_Rela *internal_relocs; + /* Buffer large enough to hold external local symbols of any input + BFD. */ + bfd_byte *external_syms; + /* And a buffer for symbol section indices. */ + Elf_External_Sym_Shndx *locsym_shndx; + /* Buffer large enough to hold internal local symbols of any input + BFD. */ + Elf_Internal_Sym *internal_syms; + /* Array large enough to hold a symbol index for each local symbol + of any input BFD. */ + long *indices; + /* Array large enough to hold a section pointer for each local + symbol of any input BFD. */ + asection **sections; + /* Buffer to hold swapped out symbols. */ + bfd_byte *symbuf; + /* And one for symbol section indices. */ + Elf_External_Sym_Shndx *symshndxbuf; + /* Number of swapped out symbols in buffer. */ + size_t symbuf_count; + /* Number of symbols which fit in symbuf. */ + size_t symbuf_size; + /* And same for symshndxbuf. */ + size_t shndxbuf_size; +}; + +/* This struct is used to pass information to elf_link_output_extsym. */ + +struct elf_outext_info +{ + bfd_boolean failed; + bfd_boolean localsyms; + struct elf_final_link_info *finfo; +}; + +/* When performing a relocatable link, the input relocations are + preserved. But, if they reference global symbols, the indices + referenced must be updated. Update all the relocations in + REL_HDR (there are COUNT of them), using the data in REL_HASH. */ + +static void +elf_link_adjust_relocs (bfd *abfd, + Elf_Internal_Shdr *rel_hdr, + unsigned int count, + struct elf_link_hash_entry **rel_hash) +{ + unsigned int i; + const struct elf_backend_data *bed = get_elf_backend_data (abfd); + bfd_byte *erela; + void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *); + void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *); + bfd_vma r_type_mask; + int r_sym_shift; + + if (rel_hdr->sh_entsize == bed->s->sizeof_rel) + { + swap_in = bed->s->swap_reloc_in; + swap_out = bed->s->swap_reloc_out; + } + else if (rel_hdr->sh_entsize == bed->s->sizeof_rela) + { + swap_in = bed->s->swap_reloca_in; + swap_out = bed->s->swap_reloca_out; + } + else + abort (); + + if (bed->s->int_rels_per_ext_rel > MAX_INT_RELS_PER_EXT_REL) + abort (); + + if (bed->s->arch_size == 32) + { + r_type_mask = 0xff; + r_sym_shift = 8; + } + else + { + r_type_mask = 0xffffffff; + r_sym_shift = 32; + } + + erela = rel_hdr->contents; + for (i = 0; i < count; i++, rel_hash++, erela += rel_hdr->sh_entsize) + { + Elf_Internal_Rela irela[MAX_INT_RELS_PER_EXT_REL]; + unsigned int j; + + if (*rel_hash == NULL) + continue; + + BFD_ASSERT ((*rel_hash)->indx >= 0); + + (*swap_in) (abfd, erela, irela); + for (j = 0; j < bed->s->int_rels_per_ext_rel; j++) + irela[j].r_info = ((bfd_vma) (*rel_hash)->indx << r_sym_shift + | (irela[j].r_info & r_type_mask)); + (*swap_out) (abfd, irela, erela); + } +} + +struct elf_link_sort_rela +{ + union { + bfd_vma offset; + bfd_vma sym_mask; + } u; + enum elf_reloc_type_class type; + /* We use this as an array of size int_rels_per_ext_rel. */ + Elf_Internal_Rela rela[1]; +}; + +static int +elf_link_sort_cmp1 (const void *A, const void *B) +{ + const struct elf_link_sort_rela *a = A; + const struct elf_link_sort_rela *b = B; + int relativea, relativeb; + + relativea = a->type == reloc_class_relative; + relativeb = b->type == reloc_class_relative; + + if (relativea < relativeb) + return 1; + if (relativea > relativeb) + return -1; + if ((a->rela->r_info & a->u.sym_mask) < (b->rela->r_info & b->u.sym_mask)) + return -1; + if ((a->rela->r_info & a->u.sym_mask) > (b->rela->r_info & b->u.sym_mask)) + return 1; + if (a->rela->r_offset < b->rela->r_offset) + return -1; + if (a->rela->r_offset > b->rela->r_offset) + return 1; + return 0; +} + +static int +elf_link_sort_cmp2 (const void *A, const void *B) +{ + const struct elf_link_sort_rela *a = A; + const struct elf_link_sort_rela *b = B; + int copya, copyb; + + if (a->u.offset < b->u.offset) + return -1; + if (a->u.offset > b->u.offset) + return 1; + copya = (a->type == reloc_class_copy) * 2 + (a->type == reloc_class_plt); + copyb = (b->type == reloc_class_copy) * 2 + (b->type == reloc_class_plt); + if (copya < copyb) + return -1; + if (copya > copyb) + return 1; + if (a->rela->r_offset < b->rela->r_offset) + return -1; + if (a->rela->r_offset > b->rela->r_offset) + return 1; + return 0; +} + +static size_t +elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec) +{ + asection *reldyn; + bfd_size_type count, size; + size_t i, ret, sort_elt, ext_size; + bfd_byte *sort, *s_non_relative, *p; + struct elf_link_sort_rela *sq; + const struct elf_backend_data *bed = get_elf_backend_data (abfd); + int i2e = bed->s->int_rels_per_ext_rel; + void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *); + void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *); + struct bfd_link_order *lo; + bfd_vma r_sym_mask; + + reldyn = bfd_get_section_by_name (abfd, ".rela.dyn"); + if (reldyn == NULL || reldyn->_raw_size == 0) + { + reldyn = bfd_get_section_by_name (abfd, ".rel.dyn"); + if (reldyn == NULL || reldyn->_raw_size == 0) + return 0; + ext_size = bed->s->sizeof_rel; + swap_in = bed->s->swap_reloc_in; + swap_out = bed->s->swap_reloc_out; + } + else + { + ext_size = bed->s->sizeof_rela; + swap_in = bed->s->swap_reloca_in; + swap_out = bed->s->swap_reloca_out; + } + count = reldyn->_raw_size / ext_size; + + size = 0; + for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next) + if (lo->type == bfd_indirect_link_order) + { + asection *o = lo->u.indirect.section; + size += o->_raw_size; + } + + if (size != reldyn->_raw_size) + return 0; + + sort_elt = (sizeof (struct elf_link_sort_rela) + + (i2e - 1) * sizeof (Elf_Internal_Rela)); + sort = bfd_zmalloc (sort_elt * count); + if (sort == NULL) + { + (*info->callbacks->warning) + (info, _("Not enough memory to sort relocations"), 0, abfd, 0, 0); + return 0; + } + + if (bed->s->arch_size == 32) + r_sym_mask = ~(bfd_vma) 0xff; + else + r_sym_mask = ~(bfd_vma) 0xffffffff; + + for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next) + if (lo->type == bfd_indirect_link_order) + { + bfd_byte *erel, *erelend; + asection *o = lo->u.indirect.section; + + erel = o->contents; + erelend = o->contents + o->_raw_size; + p = sort + o->output_offset / ext_size * sort_elt; + while (erel < erelend) + { + struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p; + (*swap_in) (abfd, erel, s->rela); + s->type = (*bed->elf_backend_reloc_type_class) (s->rela); + s->u.sym_mask = r_sym_mask; + p += sort_elt; + erel += ext_size; + } + } + + qsort (sort, count, sort_elt, elf_link_sort_cmp1); + + for (i = 0, p = sort; i < count; i++, p += sort_elt) + { + struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p; + if (s->type != reloc_class_relative) + break; + } + ret = i; + s_non_relative = p; + + sq = (struct elf_link_sort_rela *) s_non_relative; + for (; i < count; i++, p += sort_elt) + { + struct elf_link_sort_rela *sp = (struct elf_link_sort_rela *) p; + if (((sp->rela->r_info ^ sq->rela->r_info) & r_sym_mask) != 0) + sq = sp; + sp->u.offset = sq->rela->r_offset; + } + + qsort (s_non_relative, count - ret, sort_elt, elf_link_sort_cmp2); + + for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next) + if (lo->type == bfd_indirect_link_order) + { + bfd_byte *erel, *erelend; + asection *o = lo->u.indirect.section; + + erel = o->contents; + erelend = o->contents + o->_raw_size; + p = sort + o->output_offset / ext_size * sort_elt; + while (erel < erelend) + { + struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p; + (*swap_out) (abfd, s->rela, erel); + p += sort_elt; + erel += ext_size; + } + } + + free (sort); + *psec = reldyn; + return ret; +} + +/* Flush the output symbols to the file. */ + +static bfd_boolean +elf_link_flush_output_syms (struct elf_final_link_info *finfo, + const struct elf_backend_data *bed) +{ + if (finfo->symbuf_count > 0) + { + Elf_Internal_Shdr *hdr; + file_ptr pos; + bfd_size_type amt; + + hdr = &elf_tdata (finfo->output_bfd)->symtab_hdr; + pos = hdr->sh_offset + hdr->sh_size; + amt = finfo->symbuf_count * bed->s->sizeof_sym; + if (bfd_seek (finfo->output_bfd, pos, SEEK_SET) != 0 + || bfd_bwrite (finfo->symbuf, amt, finfo->output_bfd) != amt) + return FALSE; + + hdr->sh_size += amt; + finfo->symbuf_count = 0; + } + + return TRUE; +} + +/* Add a symbol to the output symbol table. */ + +static bfd_boolean +elf_link_output_sym (struct elf_final_link_info *finfo, + const char *name, + Elf_Internal_Sym *elfsym, + asection *input_sec, + struct elf_link_hash_entry *h) +{ + bfd_byte *dest; + Elf_External_Sym_Shndx *destshndx; + bfd_boolean (*output_symbol_hook) + (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *, + struct elf_link_hash_entry *); + const struct elf_backend_data *bed; + + bed = get_elf_backend_data (finfo->output_bfd); + output_symbol_hook = bed->elf_backend_link_output_symbol_hook; + if (output_symbol_hook != NULL) + { + if (! (*output_symbol_hook) (finfo->info, name, elfsym, input_sec, h)) + return FALSE; + } + + if (name == NULL || *name == '\0') + elfsym->st_name = 0; + else if (input_sec->flags & SEC_EXCLUDE) + elfsym->st_name = 0; + else + { + elfsym->st_name = (unsigned long) _bfd_stringtab_add (finfo->symstrtab, + name, TRUE, FALSE); + if (elfsym->st_name == (unsigned long) -1) + return FALSE; + } + + if (finfo->symbuf_count >= finfo->symbuf_size) + { + if (! elf_link_flush_output_syms (finfo, bed)) + return FALSE; + } + + dest = finfo->symbuf + finfo->symbuf_count * bed->s->sizeof_sym; + destshndx = finfo->symshndxbuf; + if (destshndx != NULL) + { + if (bfd_get_symcount (finfo->output_bfd) >= finfo->shndxbuf_size) + { + bfd_size_type amt; + + amt = finfo->shndxbuf_size * sizeof (Elf_External_Sym_Shndx); + finfo->symshndxbuf = destshndx = bfd_realloc (destshndx, amt * 2); + if (destshndx == NULL) + return FALSE; + memset ((char *) destshndx + amt, 0, amt); + finfo->shndxbuf_size *= 2; + } + destshndx += bfd_get_symcount (finfo->output_bfd); + } + + bed->s->swap_symbol_out (finfo->output_bfd, elfsym, dest, destshndx); + finfo->symbuf_count += 1; + bfd_get_symcount (finfo->output_bfd) += 1; + + return TRUE; +} + +/* For DSOs loaded in via a DT_NEEDED entry, emulate ld.so in + allowing an unsatisfied unversioned symbol in the DSO to match a + versioned symbol that would normally require an explicit version. + We also handle the case that a DSO references a hidden symbol + which may be satisfied by a versioned symbol in another DSO. */ + +static bfd_boolean +elf_link_check_versioned_symbol (struct bfd_link_info *info, + const struct elf_backend_data *bed, + struct elf_link_hash_entry *h) +{ + bfd *abfd; + struct elf_link_loaded_list *loaded; + + if (!is_elf_hash_table (info->hash)) + return FALSE; + + switch (h->root.type) + { + default: + abfd = NULL; + break; + + case bfd_link_hash_undefined: + case bfd_link_hash_undefweak: + abfd = h->root.u.undef.abfd; + if ((abfd->flags & DYNAMIC) == 0 + || elf_dyn_lib_class (abfd) != DYN_DT_NEEDED) + return FALSE; + break; + + case bfd_link_hash_defined: + case bfd_link_hash_defweak: + abfd = h->root.u.def.section->owner; + break; + + case bfd_link_hash_common: + abfd = h->root.u.c.p->section->owner; + break; + } + BFD_ASSERT (abfd != NULL); + + for (loaded = elf_hash_table (info)->loaded; + loaded != NULL; + loaded = loaded->next) + { + bfd *input; + Elf_Internal_Shdr *hdr; + bfd_size_type symcount; + bfd_size_type extsymcount; + bfd_size_type extsymoff; + Elf_Internal_Shdr *versymhdr; + Elf_Internal_Sym *isym; + Elf_Internal_Sym *isymend; + Elf_Internal_Sym *isymbuf; + Elf_External_Versym *ever; + Elf_External_Versym *extversym; + + input = loaded->abfd; + + /* We check each DSO for a possible hidden versioned definition. */ + if (input == abfd + || (input->flags & DYNAMIC) == 0 + || elf_dynversym (input) == 0) + continue; + + hdr = &elf_tdata (input)->dynsymtab_hdr; + + symcount = hdr->sh_size / bed->s->sizeof_sym; + if (elf_bad_symtab (input)) + { + extsymcount = symcount; + extsymoff = 0; + } + else + { + extsymcount = symcount - hdr->sh_info; + extsymoff = hdr->sh_info; + } + + if (extsymcount == 0) + continue; + + isymbuf = bfd_elf_get_elf_syms (input, hdr, extsymcount, extsymoff, + NULL, NULL, NULL); + if (isymbuf == NULL) + return FALSE; + + /* Read in any version definitions. */ + versymhdr = &elf_tdata (input)->dynversym_hdr; + extversym = bfd_malloc (versymhdr->sh_size); + if (extversym == NULL) + goto error_ret; + + if (bfd_seek (input, versymhdr->sh_offset, SEEK_SET) != 0 + || (bfd_bread (extversym, versymhdr->sh_size, input) + != versymhdr->sh_size)) + { + free (extversym); + error_ret: + free (isymbuf); + return FALSE; + } + + ever = extversym + extsymoff; + isymend = isymbuf + extsymcount; + for (isym = isymbuf; isym < isymend; isym++, ever++) + { + const char *name; + Elf_Internal_Versym iver; + unsigned short version_index; + + if (ELF_ST_BIND (isym->st_info) == STB_LOCAL + || isym->st_shndx == SHN_UNDEF) + continue; + + name = bfd_elf_string_from_elf_section (input, + hdr->sh_link, + isym->st_name); + if (strcmp (name, h->root.root.string) != 0) + continue; + + _bfd_elf_swap_versym_in (input, ever, &iver); + + if ((iver.vs_vers & VERSYM_HIDDEN) == 0) + { + /* If we have a non-hidden versioned sym, then it should + have provided a definition for the undefined sym. */ + abort (); + } + + version_index = iver.vs_vers & VERSYM_VERSION; + if (version_index == 1 || version_index == 2) + { + /* This is the base or first version. We can use it. */ + free (extversym); + free (isymbuf); + return TRUE; + } + } + + free (extversym); + free (isymbuf); + } + + return FALSE; +} + +/* Add an external symbol to the symbol table. This is called from + the hash table traversal routine. When generating a shared object, + we go through the symbol table twice. The first time we output + anything that might have been forced to local scope in a version + script. The second time we output the symbols that are still + global symbols. */ + +static bfd_boolean +elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) +{ + struct elf_outext_info *eoinfo = data; + struct elf_final_link_info *finfo = eoinfo->finfo; + bfd_boolean strip; + Elf_Internal_Sym sym; + asection *input_sec; + const struct elf_backend_data *bed; + + if (h->root.type == bfd_link_hash_warning) + { + h = (struct elf_link_hash_entry *) h->root.u.i.link; + if (h->root.type == bfd_link_hash_new) + return TRUE; + } + + /* Decide whether to output this symbol in this pass. */ + if (eoinfo->localsyms) + { + if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + return TRUE; + } + else + { + if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + return TRUE; + } + + bed = get_elf_backend_data (finfo->output_bfd); + + /* If we have an undefined symbol reference here then it must have + come from a shared library that is being linked in. (Undefined + references in regular files have already been handled). If we + are reporting errors for this situation then do so now. */ + if (h->root.type == bfd_link_hash_undefined + && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 + && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 + && ! elf_link_check_versioned_symbol (finfo->info, bed, h) + && finfo->info->unresolved_syms_in_shared_libs != RM_IGNORE) + { + if (! ((*finfo->info->callbacks->undefined_symbol) + (finfo->info, h->root.root.string, h->root.u.undef.abfd, + NULL, 0, finfo->info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR))) + { + eoinfo->failed = TRUE; + return FALSE; + } + } + + /* We should also warn if a forced local symbol is referenced from + shared libraries. */ + if (! finfo->info->relocatable + && (! finfo->info->shared) + && (h->elf_link_hash_flags + & (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC | ELF_LINK_DYNAMIC_DEF | ELF_LINK_DYNAMIC_WEAK)) + == (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC) + && ! elf_link_check_versioned_symbol (finfo->info, bed, h)) + { + (*_bfd_error_handler) + (_("%s: %s symbol `%s' in %s is referenced by DSO"), + bfd_get_filename (finfo->output_bfd), + ELF_ST_VISIBILITY (h->other) == STV_INTERNAL + ? "internal" + : ELF_ST_VISIBILITY (h->other) == STV_HIDDEN + ? "hidden" : "local", + h->root.root.string, + bfd_archive_filename (h->root.u.def.section->owner)); + eoinfo->failed = TRUE; + return FALSE; + } + + /* We don't want to output symbols that have never been mentioned by + a regular file, or that we have been told to strip. However, if + h->indx is set to -2, the symbol is used by a reloc and we must + output it. */ + if (h->indx == -2) + strip = FALSE; + else if (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0) + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + strip = TRUE; + else if (finfo->info->strip == strip_all) + strip = TRUE; + else if (finfo->info->strip == strip_some + && bfd_hash_lookup (finfo->info->keep_hash, + h->root.root.string, FALSE, FALSE) == NULL) + strip = TRUE; + else if (finfo->info->strip_discarded + && (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) + && elf_discarded_section (h->root.u.def.section)) + strip = TRUE; + else + strip = FALSE; + + /* If we're stripping it, and it's not a dynamic symbol, there's + nothing else to do unless it is a forced local symbol. */ + if (strip + && h->dynindx == -1 + && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + return TRUE; + + sym.st_value = 0; + sym.st_size = h->size; + sym.st_other = h->other; + if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + sym.st_info = ELF_ST_INFO (STB_LOCAL, h->type); + else if (h->root.type == bfd_link_hash_undefweak + || h->root.type == bfd_link_hash_defweak) + sym.st_info = ELF_ST_INFO (STB_WEAK, h->type); + else + sym.st_info = ELF_ST_INFO (STB_GLOBAL, h->type); + + switch (h->root.type) + { + default: + case bfd_link_hash_new: + case bfd_link_hash_warning: + abort (); + return FALSE; + + case bfd_link_hash_undefined: + case bfd_link_hash_undefweak: + input_sec = bfd_und_section_ptr; + sym.st_shndx = SHN_UNDEF; + break; + + case bfd_link_hash_defined: + case bfd_link_hash_defweak: + { + input_sec = h->root.u.def.section; + if (input_sec->output_section != NULL) + { + sym.st_shndx = + _bfd_elf_section_from_bfd_section (finfo->output_bfd, + input_sec->output_section); + if (sym.st_shndx == SHN_BAD) + { + (*_bfd_error_handler) + (_("%s: could not find output section %s for input section %s"), + bfd_get_filename (finfo->output_bfd), + input_sec->output_section->name, + input_sec->name); + eoinfo->failed = TRUE; + return FALSE; + } + + /* ELF symbols in relocatable files are section relative, + but in nonrelocatable files they are virtual + addresses. */ + sym.st_value = h->root.u.def.value + input_sec->output_offset; + if (! finfo->info->relocatable) + { + sym.st_value += input_sec->output_section->vma; + if (h->type == STT_TLS) + { + /* STT_TLS symbols are relative to PT_TLS segment + base. */ + BFD_ASSERT (elf_hash_table (finfo->info)->tls_sec != NULL); + sym.st_value -= elf_hash_table (finfo->info)->tls_sec->vma; + } + } + } + else + { + BFD_ASSERT (input_sec->owner == NULL + || (input_sec->owner->flags & DYNAMIC) != 0); + sym.st_shndx = SHN_UNDEF; + input_sec = bfd_und_section_ptr; + } + } + break; + + case bfd_link_hash_common: + input_sec = h->root.u.c.p->section; + sym.st_shndx = SHN_COMMON; + sym.st_value = 1 << h->root.u.c.p->alignment_power; + break; + + case bfd_link_hash_indirect: + /* These symbols are created by symbol versioning. They point + to the decorated version of the name. For example, if the + symbol foo@@GNU_1.2 is the default, which should be used when + foo is used with no version, then we add an indirect symbol + foo which points to foo@@GNU_1.2. We ignore these symbols, + since the indirected symbol is already in the hash table. */ + return TRUE; + } + + /* Give the processor backend a chance to tweak the symbol value, + and also to finish up anything that needs to be done for this + symbol. FIXME: Not calling elf_backend_finish_dynamic_symbol for + forced local syms when non-shared is due to a historical quirk. */ + if ((h->dynindx != -1 + || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + && ((finfo->info->shared + && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT + || h->root.type != bfd_link_hash_undefweak)) + || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && elf_hash_table (finfo->info)->dynamic_sections_created) + { + if (! ((*bed->elf_backend_finish_dynamic_symbol) + (finfo->output_bfd, finfo->info, h, &sym))) + { + eoinfo->failed = TRUE; + return FALSE; + } + } + + /* If we are marking the symbol as undefined, and there are no + non-weak references to this symbol from a regular object, then + mark the symbol as weak undefined; if there are non-weak + references, mark the symbol as strong. We can't do this earlier, + because it might not be marked as undefined until the + finish_dynamic_symbol routine gets through with it. */ + if (sym.st_shndx == SHN_UNDEF + && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0 + && (ELF_ST_BIND (sym.st_info) == STB_GLOBAL + || ELF_ST_BIND (sym.st_info) == STB_WEAK)) + { + int bindtype; + + if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) != 0) + bindtype = STB_GLOBAL; + else + bindtype = STB_WEAK; + sym.st_info = ELF_ST_INFO (bindtype, ELF_ST_TYPE (sym.st_info)); + } + + /* If a non-weak symbol with non-default visibility is not defined + locally, it is a fatal error. */ + if (! finfo->info->relocatable + && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT + && ELF_ST_BIND (sym.st_info) != STB_WEAK + && h->root.type == bfd_link_hash_undefined + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + { + (*_bfd_error_handler) + (_("%s: %s symbol `%s' isn't defined"), + bfd_get_filename (finfo->output_bfd), + ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED + ? "protected" + : ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL + ? "internal" : "hidden", + h->root.root.string); + eoinfo->failed = TRUE; + return FALSE; + } + + /* If this symbol should be put in the .dynsym section, then put it + there now. We already know the symbol index. We also fill in + the entry in the .hash section. */ + if (h->dynindx != -1 + && elf_hash_table (finfo->info)->dynamic_sections_created) + { + size_t bucketcount; + size_t bucket; + size_t hash_entry_size; + bfd_byte *bucketpos; + bfd_vma chain; + bfd_byte *esym; + + sym.st_name = h->dynstr_index; + esym = finfo->dynsym_sec->contents + h->dynindx * bed->s->sizeof_sym; + bed->s->swap_symbol_out (finfo->output_bfd, &sym, esym, 0); + + bucketcount = elf_hash_table (finfo->info)->bucketcount; + bucket = h->elf_hash_value % bucketcount; + hash_entry_size + = elf_section_data (finfo->hash_sec)->this_hdr.sh_entsize; + bucketpos = ((bfd_byte *) finfo->hash_sec->contents + + (bucket + 2) * hash_entry_size); + chain = bfd_get (8 * hash_entry_size, finfo->output_bfd, bucketpos); + bfd_put (8 * hash_entry_size, finfo->output_bfd, h->dynindx, bucketpos); + bfd_put (8 * hash_entry_size, finfo->output_bfd, chain, + ((bfd_byte *) finfo->hash_sec->contents + + (bucketcount + 2 + h->dynindx) * hash_entry_size)); + + if (finfo->symver_sec != NULL && finfo->symver_sec->contents != NULL) + { + Elf_Internal_Versym iversym; + Elf_External_Versym *eversym; + + if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + { + if (h->verinfo.verdef == NULL) + iversym.vs_vers = 0; + else + iversym.vs_vers = h->verinfo.verdef->vd_exp_refno + 1; + } + else + { + if (h->verinfo.vertree == NULL) + iversym.vs_vers = 1; + else + iversym.vs_vers = h->verinfo.vertree->vernum + 1; + } + + if ((h->elf_link_hash_flags & ELF_LINK_HIDDEN) != 0) + iversym.vs_vers |= VERSYM_HIDDEN; + + eversym = (Elf_External_Versym *) finfo->symver_sec->contents; + eversym += h->dynindx; + _bfd_elf_swap_versym_out (finfo->output_bfd, &iversym, eversym); + } + } + + /* If we're stripping it, then it was just a dynamic symbol, and + there's nothing else to do. */ + if (strip || (input_sec->flags & SEC_EXCLUDE) != 0) + return TRUE; + + h->indx = bfd_get_symcount (finfo->output_bfd); + + if (! elf_link_output_sym (finfo, h->root.root.string, &sym, input_sec, h)) + { + eoinfo->failed = TRUE; + return FALSE; + } + + return TRUE; +} + +static bfd_boolean +elf_section_ignore_discarded_relocs (asection *sec) +{ + const struct elf_backend_data *bed; + + switch (sec->sec_info_type) + { + case ELF_INFO_TYPE_STABS: + case ELF_INFO_TYPE_EH_FRAME: + return TRUE; + default: + break; + } + + bed = get_elf_backend_data (sec->owner); + if (bed->elf_backend_ignore_discarded_relocs != NULL + && (*bed->elf_backend_ignore_discarded_relocs) (sec)) + return TRUE; + + return FALSE; +} + +/* Link an input file into the linker output file. This function + handles all the sections and relocations of the input file at once. + This is so that we only have to read the local symbols once, and + don't have to keep them in memory. */ + +static bfd_boolean +elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd) +{ + bfd_boolean (*relocate_section) + (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, + Elf_Internal_Rela *, Elf_Internal_Sym *, asection **); + bfd *output_bfd; + Elf_Internal_Shdr *symtab_hdr; + size_t locsymcount; + size_t extsymoff; + Elf_Internal_Sym *isymbuf; + Elf_Internal_Sym *isym; + Elf_Internal_Sym *isymend; + long *pindex; + asection **ppsection; + asection *o; + const struct elf_backend_data *bed; + bfd_boolean emit_relocs; + struct elf_link_hash_entry **sym_hashes; + + output_bfd = finfo->output_bfd; + bed = get_elf_backend_data (output_bfd); + relocate_section = bed->elf_backend_relocate_section; + + /* If this is a dynamic object, we don't want to do anything here: + we don't want the local symbols, and we don't want the section + contents. */ + if ((input_bfd->flags & DYNAMIC) != 0) + return TRUE; + + emit_relocs = (finfo->info->relocatable + || finfo->info->emitrelocations + || bed->elf_backend_emit_relocs); + + symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; + if (elf_bad_symtab (input_bfd)) + { + locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym; + extsymoff = 0; + } + else + { + locsymcount = symtab_hdr->sh_info; + extsymoff = symtab_hdr->sh_info; + } + + /* Read the local symbols. */ + isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents; + if (isymbuf == NULL && locsymcount != 0) + { + isymbuf = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, locsymcount, 0, + finfo->internal_syms, + finfo->external_syms, + finfo->locsym_shndx); + if (isymbuf == NULL) + return FALSE; + } + + /* Find local symbol sections and adjust values of symbols in + SEC_MERGE sections. Write out those local symbols we know are + going into the output file. */ + isymend = isymbuf + locsymcount; + for (isym = isymbuf, pindex = finfo->indices, ppsection = finfo->sections; + isym < isymend; + isym++, pindex++, ppsection++) + { + asection *isec; + const char *name; + Elf_Internal_Sym osym; + + *pindex = -1; + + if (elf_bad_symtab (input_bfd)) + { + if (ELF_ST_BIND (isym->st_info) != STB_LOCAL) + { + *ppsection = NULL; + continue; + } + } + + if (isym->st_shndx == SHN_UNDEF) + isec = bfd_und_section_ptr; + else if (isym->st_shndx < SHN_LORESERVE + || isym->st_shndx > SHN_HIRESERVE) + { + isec = bfd_section_from_elf_index (input_bfd, isym->st_shndx); + if (isec + && isec->sec_info_type == ELF_INFO_TYPE_MERGE + && ELF_ST_TYPE (isym->st_info) != STT_SECTION) + isym->st_value = + _bfd_merged_section_offset (output_bfd, &isec, + elf_section_data (isec)->sec_info, + isym->st_value, 0); + } + else if (isym->st_shndx == SHN_ABS) + isec = bfd_abs_section_ptr; + else if (isym->st_shndx == SHN_COMMON) + isec = bfd_com_section_ptr; + else + { + /* Who knows? */ + isec = NULL; + } + + *ppsection = isec; + + /* Don't output the first, undefined, symbol. */ + if (ppsection == finfo->sections) + continue; + + if (ELF_ST_TYPE (isym->st_info) == STT_SECTION) + { + /* We never output section symbols. Instead, we use the + section symbol of the corresponding section in the output + file. */ + continue; + } + + /* If we are stripping all symbols, we don't want to output this + one. */ + if (finfo->info->strip == strip_all) + continue; + + /* If we are discarding all local symbols, we don't want to + output this one. If we are generating a relocatable output + file, then some of the local symbols may be required by + relocs; we output them below as we discover that they are + needed. */ + if (finfo->info->discard == discard_all) + continue; + + /* If this symbol is defined in a section which we are + discarding, we don't need to keep it, but note that + linker_mark is only reliable for sections that have contents. + For the benefit of the MIPS ELF linker, we check SEC_EXCLUDE + as well as linker_mark. */ + if ((isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE) + && isec != NULL + && ((! isec->linker_mark && (isec->flags & SEC_HAS_CONTENTS) != 0) + || (! finfo->info->relocatable + && (isec->flags & SEC_EXCLUDE) != 0))) + continue; + + /* Get the name of the symbol. */ + name = bfd_elf_string_from_elf_section (input_bfd, symtab_hdr->sh_link, + isym->st_name); + if (name == NULL) + return FALSE; + + /* See if we are discarding symbols with this name. */ + if ((finfo->info->strip == strip_some + && (bfd_hash_lookup (finfo->info->keep_hash, name, FALSE, FALSE) + == NULL)) + || (((finfo->info->discard == discard_sec_merge + && (isec->flags & SEC_MERGE) && ! finfo->info->relocatable) + || finfo->info->discard == discard_l) + && bfd_is_local_label_name (input_bfd, name))) + continue; + + /* If we get here, we are going to output this symbol. */ + + osym = *isym; + + /* Adjust the section index for the output file. */ + osym.st_shndx = _bfd_elf_section_from_bfd_section (output_bfd, + isec->output_section); + if (osym.st_shndx == SHN_BAD) + return FALSE; + + *pindex = bfd_get_symcount (output_bfd); + + /* ELF symbols in relocatable files are section relative, but + in executable files they are virtual addresses. Note that + this code assumes that all ELF sections have an associated + BFD section with a reasonable value for output_offset; below + we assume that they also have a reasonable value for + output_section. Any special sections must be set up to meet + these requirements. */ + osym.st_value += isec->output_offset; + if (! finfo->info->relocatable) + { + osym.st_value += isec->output_section->vma; + if (ELF_ST_TYPE (osym.st_info) == STT_TLS) + { + /* STT_TLS symbols are relative to PT_TLS segment base. */ + BFD_ASSERT (elf_hash_table (finfo->info)->tls_sec != NULL); + osym.st_value -= elf_hash_table (finfo->info)->tls_sec->vma; + } + } + + if (! elf_link_output_sym (finfo, name, &osym, isec, NULL)) + return FALSE; + } + + /* Relocate the contents of each section. */ + sym_hashes = elf_sym_hashes (input_bfd); + for (o = input_bfd->sections; o != NULL; o = o->next) + { + bfd_byte *contents; + + if (! o->linker_mark) + { + /* This section was omitted from the link. */ + continue; + } + + if ((o->flags & SEC_HAS_CONTENTS) == 0 + || (o->_raw_size == 0 && (o->flags & SEC_RELOC) == 0)) + continue; + + if ((o->flags & SEC_LINKER_CREATED) != 0) + { + /* Section was created by _bfd_elf_link_create_dynamic_sections + or somesuch. */ + continue; + } + + /* Get the contents of the section. They have been cached by a + relaxation routine. Note that o is a section in an input + file, so the contents field will not have been set by any of + the routines which work on output files. */ + if (elf_section_data (o)->this_hdr.contents != NULL) + contents = elf_section_data (o)->this_hdr.contents; + else + { + contents = finfo->contents; + if (! bfd_get_section_contents (input_bfd, o, contents, 0, + o->_raw_size)) + return FALSE; + } + + if ((o->flags & SEC_RELOC) != 0) + { + Elf_Internal_Rela *internal_relocs; + bfd_vma r_type_mask; + int r_sym_shift; + + /* Get the swapped relocs. */ + internal_relocs + = _bfd_elf_link_read_relocs (input_bfd, o, finfo->external_relocs, + finfo->internal_relocs, FALSE); + if (internal_relocs == NULL + && o->reloc_count > 0) + return FALSE; + + if (bed->s->arch_size == 32) + { + r_type_mask = 0xff; + r_sym_shift = 8; + } + else + { + r_type_mask = 0xffffffff; + r_sym_shift = 32; + } + + /* Run through the relocs looking for any against symbols + from discarded sections and section symbols from + removed link-once sections. Complain about relocs + against discarded sections. Zero relocs against removed + link-once sections. Preserve debug information as much + as we can. */ + if (!elf_section_ignore_discarded_relocs (o)) + { + Elf_Internal_Rela *rel, *relend; + + rel = internal_relocs; + relend = rel + o->reloc_count * bed->s->int_rels_per_ext_rel; + for ( ; rel < relend; rel++) + { + unsigned long r_symndx = rel->r_info >> r_sym_shift; + asection *sec; + + if (r_symndx >= locsymcount + || (elf_bad_symtab (input_bfd) + && finfo->sections[r_symndx] == NULL)) + { + struct elf_link_hash_entry *h; + + h = sym_hashes[r_symndx - extsymoff]; + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* Complain if the definition comes from a + discarded section. */ + sec = h->root.u.def.section; + if ((h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) + && elf_discarded_section (sec)) + { + if ((o->flags & SEC_DEBUGGING) != 0) + { + BFD_ASSERT (r_symndx != 0); + /* Try to preserve debug information. */ + if ((o->flags & SEC_DEBUGGING) != 0 + && sec->kept_section != NULL + && sec->_raw_size == sec->kept_section->_raw_size) + h->root.u.def.section + = sec->kept_section; + else + memset (rel, 0, sizeof (*rel)); + } + else + finfo->info->callbacks->error_handler + (LD_DEFINITION_IN_DISCARDED_SECTION, + _("%T: discarded in section `%s' from %s\n"), + h->root.root.string, + h->root.root.string, + h->root.u.def.section->name, + bfd_archive_filename (h->root.u.def.section->owner)); + } + } + else + { + sec = finfo->sections[r_symndx]; + + if (sec != NULL && elf_discarded_section (sec)) + { + if ((o->flags & SEC_DEBUGGING) != 0 + || (sec->flags & SEC_LINK_ONCE) != 0) + { + BFD_ASSERT (r_symndx != 0); + /* Try to preserve debug information. */ + if ((o->flags & SEC_DEBUGGING) != 0 + && sec->kept_section != NULL + && sec->_raw_size == sec->kept_section->_raw_size) + finfo->sections[r_symndx] + = sec->kept_section; + else + { + rel->r_info &= r_type_mask; + rel->r_addend = 0; + } + } + else + { + static int count; + int ok; + char *buf; + + ok = asprintf (&buf, "local symbol %d", + count++); + if (ok <= 0) + buf = (char *) "local symbol"; + finfo->info->callbacks->error_handler + (LD_DEFINITION_IN_DISCARDED_SECTION, + _("%T: discarded in section `%s' from %s\n"), + buf, buf, sec->name, + bfd_archive_filename (input_bfd)); + if (ok != -1) + free (buf); + } + } + } + } + } + + /* Relocate the section by invoking a back end routine. + + The back end routine is responsible for adjusting the + section contents as necessary, and (if using Rela relocs + and generating a relocatable output file) adjusting the + reloc addend as necessary. + + The back end routine does not have to worry about setting + the reloc address or the reloc symbol index. + + The back end routine is given a pointer to the swapped in + internal symbols, and can access the hash table entries + for the external symbols via elf_sym_hashes (input_bfd). + + When generating relocatable output, the back end routine + must handle STB_LOCAL/STT_SECTION symbols specially. The + output symbol is going to be a section symbol + corresponding to the output section, which will require + the addend to be adjusted. */ + + if (! (*relocate_section) (output_bfd, finfo->info, + input_bfd, o, contents, + internal_relocs, + isymbuf, + finfo->sections)) + return FALSE; + + if (emit_relocs) + { + Elf_Internal_Rela *irela; + Elf_Internal_Rela *irelaend; + bfd_vma last_offset; + struct elf_link_hash_entry **rel_hash; + Elf_Internal_Shdr *input_rel_hdr, *input_rel_hdr2; + unsigned int next_erel; + bfd_boolean (*reloc_emitter) + (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *); + bfd_boolean rela_normal; + + input_rel_hdr = &elf_section_data (o)->rel_hdr; + rela_normal = (bed->rela_normal + && (input_rel_hdr->sh_entsize + == bed->s->sizeof_rela)); + + /* Adjust the reloc addresses and symbol indices. */ + + irela = internal_relocs; + irelaend = irela + o->reloc_count * bed->s->int_rels_per_ext_rel; + rel_hash = (elf_section_data (o->output_section)->rel_hashes + + elf_section_data (o->output_section)->rel_count + + elf_section_data (o->output_section)->rel_count2); + last_offset = o->output_offset; + if (!finfo->info->relocatable) + last_offset += o->output_section->vma; + for (next_erel = 0; irela < irelaend; irela++, next_erel++) + { + unsigned long r_symndx; + asection *sec; + Elf_Internal_Sym sym; + + if (next_erel == bed->s->int_rels_per_ext_rel) + { + rel_hash++; + next_erel = 0; + } + + irela->r_offset = _bfd_elf_section_offset (output_bfd, + finfo->info, o, + irela->r_offset); + if (irela->r_offset >= (bfd_vma) -2) + { + /* This is a reloc for a deleted entry or somesuch. + Turn it into an R_*_NONE reloc, at the same + offset as the last reloc. elf_eh_frame.c and + elf_bfd_discard_info rely on reloc offsets + being ordered. */ + irela->r_offset = last_offset; + irela->r_info = 0; + irela->r_addend = 0; + continue; + } + + irela->r_offset += o->output_offset; + + /* Relocs in an executable have to be virtual addresses. */ + if (!finfo->info->relocatable) + irela->r_offset += o->output_section->vma; + + last_offset = irela->r_offset; + + r_symndx = irela->r_info >> r_sym_shift; + if (r_symndx == STN_UNDEF) + continue; + + if (r_symndx >= locsymcount + || (elf_bad_symtab (input_bfd) + && finfo->sections[r_symndx] == NULL)) + { + struct elf_link_hash_entry *rh; + unsigned long indx; + + /* This is a reloc against a global symbol. We + have not yet output all the local symbols, so + we do not know the symbol index of any global + symbol. We set the rel_hash entry for this + reloc to point to the global hash table entry + for this symbol. The symbol index is then + set at the end of elf_bfd_final_link. */ + indx = r_symndx - extsymoff; + rh = elf_sym_hashes (input_bfd)[indx]; + while (rh->root.type == bfd_link_hash_indirect + || rh->root.type == bfd_link_hash_warning) + rh = (struct elf_link_hash_entry *) rh->root.u.i.link; + + /* Setting the index to -2 tells + elf_link_output_extsym that this symbol is + used by a reloc. */ + BFD_ASSERT (rh->indx < 0); + rh->indx = -2; + + *rel_hash = rh; + + continue; + } + + /* This is a reloc against a local symbol. */ + + *rel_hash = NULL; + sym = isymbuf[r_symndx]; + sec = finfo->sections[r_symndx]; + if (ELF_ST_TYPE (sym.st_info) == STT_SECTION) + { + /* I suppose the backend ought to fill in the + section of any STT_SECTION symbol against a + processor specific section. If we have + discarded a section, the output_section will + be the absolute section. */ + if (bfd_is_abs_section (sec) + || (sec != NULL + && bfd_is_abs_section (sec->output_section))) + r_symndx = 0; + else if (sec == NULL || sec->owner == NULL) + { + bfd_set_error (bfd_error_bad_value); + return FALSE; + } + else + { + r_symndx = sec->output_section->target_index; + BFD_ASSERT (r_symndx != 0); + } + + /* Adjust the addend according to where the + section winds up in the output section. */ + if (rela_normal) + irela->r_addend += sec->output_offset; + } + else + { + if (finfo->indices[r_symndx] == -1) + { + unsigned long shlink; + const char *name; + asection *osec; + + if (finfo->info->strip == strip_all) + { + /* You can't do ld -r -s. */ + bfd_set_error (bfd_error_invalid_operation); + return FALSE; + } + + /* This symbol was skipped earlier, but + since it is needed by a reloc, we + must output it now. */ + shlink = symtab_hdr->sh_link; + name = (bfd_elf_string_from_elf_section + (input_bfd, shlink, sym.st_name)); + if (name == NULL) + return FALSE; + + osec = sec->output_section; + sym.st_shndx = + _bfd_elf_section_from_bfd_section (output_bfd, + osec); + if (sym.st_shndx == SHN_BAD) + return FALSE; + + sym.st_value += sec->output_offset; + if (! finfo->info->relocatable) + { + sym.st_value += osec->vma; + if (ELF_ST_TYPE (sym.st_info) == STT_TLS) + { + /* STT_TLS symbols are relative to PT_TLS + segment base. */ + BFD_ASSERT (elf_hash_table (finfo->info) + ->tls_sec != NULL); + sym.st_value -= (elf_hash_table (finfo->info) + ->tls_sec->vma); + } + } + + finfo->indices[r_symndx] + = bfd_get_symcount (output_bfd); + + if (! elf_link_output_sym (finfo, name, &sym, sec, + NULL)) + return FALSE; + } + + r_symndx = finfo->indices[r_symndx]; + } + + irela->r_info = ((bfd_vma) r_symndx << r_sym_shift + | (irela->r_info & r_type_mask)); + } + + /* Swap out the relocs. */ + if (bed->elf_backend_emit_relocs + && !(finfo->info->relocatable + || finfo->info->emitrelocations)) + reloc_emitter = bed->elf_backend_emit_relocs; + else + reloc_emitter = _bfd_elf_link_output_relocs; + + if (input_rel_hdr->sh_size != 0 + && ! (*reloc_emitter) (output_bfd, o, input_rel_hdr, + internal_relocs)) + return FALSE; + + input_rel_hdr2 = elf_section_data (o)->rel_hdr2; + if (input_rel_hdr2 && input_rel_hdr2->sh_size != 0) + { + internal_relocs += (NUM_SHDR_ENTRIES (input_rel_hdr) + * bed->s->int_rels_per_ext_rel); + if (! (*reloc_emitter) (output_bfd, o, input_rel_hdr2, + internal_relocs)) + return FALSE; + } + } + } + + /* Write out the modified section contents. */ + if (bed->elf_backend_write_section + && (*bed->elf_backend_write_section) (output_bfd, o, contents)) + { + /* Section written out. */ + } + else switch (o->sec_info_type) + { + case ELF_INFO_TYPE_STABS: + if (! (_bfd_write_section_stabs + (output_bfd, + &elf_hash_table (finfo->info)->stab_info, + o, &elf_section_data (o)->sec_info, contents))) + return FALSE; + break; + case ELF_INFO_TYPE_MERGE: + if (! _bfd_write_merged_section (output_bfd, o, + elf_section_data (o)->sec_info)) + return FALSE; + break; + case ELF_INFO_TYPE_EH_FRAME: + { + if (! _bfd_elf_write_section_eh_frame (output_bfd, finfo->info, + o, contents)) + return FALSE; + } + break; + default: + { + bfd_size_type sec_size; + + sec_size = (o->_cooked_size != 0 ? o->_cooked_size : o->_raw_size); + if (! (o->flags & SEC_EXCLUDE) + && ! bfd_set_section_contents (output_bfd, o->output_section, + contents, + (file_ptr) o->output_offset, + sec_size)) + return FALSE; + } + break; + } + } + + return TRUE; +} + +/* Generate a reloc when linking an ELF file. This is a reloc + requested by the linker, and does come from any input file. This + is used to build constructor and destructor tables when linking + with -Ur. */ + +static bfd_boolean +elf_reloc_link_order (bfd *output_bfd, + struct bfd_link_info *info, + asection *output_section, + struct bfd_link_order *link_order) +{ + reloc_howto_type *howto; + long indx; + bfd_vma offset; + bfd_vma addend; + struct elf_link_hash_entry **rel_hash_ptr; + Elf_Internal_Shdr *rel_hdr; + const struct elf_backend_data *bed = get_elf_backend_data (output_bfd); + Elf_Internal_Rela irel[MAX_INT_RELS_PER_EXT_REL]; + bfd_byte *erel; + unsigned int i; + + howto = bfd_reloc_type_lookup (output_bfd, link_order->u.reloc.p->reloc); + if (howto == NULL) + { + bfd_set_error (bfd_error_bad_value); + return FALSE; + } + + addend = link_order->u.reloc.p->addend; + + /* Figure out the symbol index. */ + rel_hash_ptr = (elf_section_data (output_section)->rel_hashes + + elf_section_data (output_section)->rel_count + + elf_section_data (output_section)->rel_count2); + if (link_order->type == bfd_section_reloc_link_order) + { + indx = link_order->u.reloc.p->u.section->target_index; + BFD_ASSERT (indx != 0); + *rel_hash_ptr = NULL; + } + else + { + struct elf_link_hash_entry *h; + + /* Treat a reloc against a defined symbol as though it were + actually against the section. */ + h = ((struct elf_link_hash_entry *) + bfd_wrapped_link_hash_lookup (output_bfd, info, + link_order->u.reloc.p->u.name, + FALSE, FALSE, TRUE)); + if (h != NULL + && (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak)) + { + asection *section; + + section = h->root.u.def.section; + indx = section->output_section->target_index; + *rel_hash_ptr = NULL; + /* It seems that we ought to add the symbol value to the + addend here, but in practice it has already been added + because it was passed to constructor_callback. */ + addend += section->output_section->vma + section->output_offset; + } + else if (h != NULL) + { + /* Setting the index to -2 tells elf_link_output_extsym that + this symbol is used by a reloc. */ + h->indx = -2; + *rel_hash_ptr = h; + indx = 0; + } + else + { + if (! ((*info->callbacks->unattached_reloc) + (info, link_order->u.reloc.p->u.name, NULL, NULL, 0))) + return FALSE; + indx = 0; + } + } + + /* If this is an inplace reloc, we must write the addend into the + object file. */ + if (howto->partial_inplace && addend != 0) + { + bfd_size_type size; + bfd_reloc_status_type rstat; + bfd_byte *buf; + bfd_boolean ok; + const char *sym_name; + + size = bfd_get_reloc_size (howto); + buf = bfd_zmalloc (size); + if (buf == NULL) + return FALSE; + rstat = _bfd_relocate_contents (howto, output_bfd, addend, buf); + switch (rstat) + { + case bfd_reloc_ok: + break; + + default: + case bfd_reloc_outofrange: + abort (); + + case bfd_reloc_overflow: + if (link_order->type == bfd_section_reloc_link_order) + sym_name = bfd_section_name (output_bfd, + link_order->u.reloc.p->u.section); + else + sym_name = link_order->u.reloc.p->u.name; + if (! ((*info->callbacks->reloc_overflow) + (info, sym_name, howto->name, addend, NULL, NULL, 0))) + { + free (buf); + return FALSE; + } + break; + } + ok = bfd_set_section_contents (output_bfd, output_section, buf, + link_order->offset, size); + free (buf); + if (! ok) + return FALSE; + } + + /* The address of a reloc is relative to the section in a + relocatable file, and is a virtual address in an executable + file. */ + offset = link_order->offset; + if (! info->relocatable) + offset += output_section->vma; + + for (i = 0; i < bed->s->int_rels_per_ext_rel; i++) + { + irel[i].r_offset = offset; + irel[i].r_info = 0; + irel[i].r_addend = 0; + } + if (bed->s->arch_size == 32) + irel[0].r_info = ELF32_R_INFO (indx, howto->type); + else + irel[0].r_info = ELF64_R_INFO (indx, howto->type); + + rel_hdr = &elf_section_data (output_section)->rel_hdr; + erel = rel_hdr->contents; + if (rel_hdr->sh_type == SHT_REL) + { + erel += (elf_section_data (output_section)->rel_count + * bed->s->sizeof_rel); + (*bed->s->swap_reloc_out) (output_bfd, irel, erel); + } + else + { + irel[0].r_addend = addend; + erel += (elf_section_data (output_section)->rel_count + * bed->s->sizeof_rela); + (*bed->s->swap_reloca_out) (output_bfd, irel, erel); + } + + ++elf_section_data (output_section)->rel_count; + + return TRUE; +} + +/* Do the final step of an ELF link. */ + +bfd_boolean +bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) +{ + bfd_boolean dynamic; + bfd_boolean emit_relocs; + bfd *dynobj; + struct elf_final_link_info finfo; + register asection *o; + register struct bfd_link_order *p; + register bfd *sub; + bfd_size_type max_contents_size; + bfd_size_type max_external_reloc_size; + bfd_size_type max_internal_reloc_count; + bfd_size_type max_sym_count; + bfd_size_type max_sym_shndx_count; + file_ptr off; + Elf_Internal_Sym elfsym; + unsigned int i; + Elf_Internal_Shdr *symtab_hdr; + Elf_Internal_Shdr *symtab_shndx_hdr; + Elf_Internal_Shdr *symstrtab_hdr; + const struct elf_backend_data *bed = get_elf_backend_data (abfd); + struct elf_outext_info eoinfo; + bfd_boolean merged; + size_t relativecount = 0; + asection *reldyn = 0; + bfd_size_type amt; + + if (! is_elf_hash_table (info->hash)) + return FALSE; + + if (info->shared) + abfd->flags |= DYNAMIC; + + dynamic = elf_hash_table (info)->dynamic_sections_created; + dynobj = elf_hash_table (info)->dynobj; + + emit_relocs = (info->relocatable + || info->emitrelocations + || bed->elf_backend_emit_relocs); + + finfo.info = info; + finfo.output_bfd = abfd; + finfo.symstrtab = _bfd_elf_stringtab_init (); + if (finfo.symstrtab == NULL) + return FALSE; + + if (! dynamic) + { + finfo.dynsym_sec = NULL; + finfo.hash_sec = NULL; + finfo.symver_sec = NULL; + } + else + { + finfo.dynsym_sec = bfd_get_section_by_name (dynobj, ".dynsym"); + finfo.hash_sec = bfd_get_section_by_name (dynobj, ".hash"); + BFD_ASSERT (finfo.dynsym_sec != NULL && finfo.hash_sec != NULL); + finfo.symver_sec = bfd_get_section_by_name (dynobj, ".gnu.version"); + /* Note that it is OK if symver_sec is NULL. */ + } + + finfo.contents = NULL; + finfo.external_relocs = NULL; + finfo.internal_relocs = NULL; + finfo.external_syms = NULL; + finfo.locsym_shndx = NULL; + finfo.internal_syms = NULL; + finfo.indices = NULL; + finfo.sections = NULL; + finfo.symbuf = NULL; + finfo.symshndxbuf = NULL; + finfo.symbuf_count = 0; + finfo.shndxbuf_size = 0; + + /* Count up the number of relocations we will output for each output + section, so that we know the sizes of the reloc sections. We + also figure out some maximum sizes. */ + max_contents_size = 0; + max_external_reloc_size = 0; + max_internal_reloc_count = 0; + max_sym_count = 0; + max_sym_shndx_count = 0; + merged = FALSE; + for (o = abfd->sections; o != NULL; o = o->next) + { + struct bfd_elf_section_data *esdo = elf_section_data (o); + o->reloc_count = 0; + + for (p = o->link_order_head; p != NULL; p = p->next) + { + unsigned int reloc_count = 0; + struct bfd_elf_section_data *esdi = NULL; + unsigned int *rel_count1; + + if (p->type == bfd_section_reloc_link_order + || p->type == bfd_symbol_reloc_link_order) + reloc_count = 1; + else if (p->type == bfd_indirect_link_order) + { + asection *sec; + + sec = p->u.indirect.section; + esdi = elf_section_data (sec); + + /* Mark all sections which are to be included in the + link. This will normally be every section. We need + to do this so that we can identify any sections which + the linker has decided to not include. */ + sec->linker_mark = TRUE; + + if (sec->flags & SEC_MERGE) + merged = TRUE; + + if (info->relocatable || info->emitrelocations) + reloc_count = sec->reloc_count; + else if (bed->elf_backend_count_relocs) + { + Elf_Internal_Rela * relocs; + + relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL, + info->keep_memory); + + reloc_count = (*bed->elf_backend_count_relocs) (sec, relocs); + + if (elf_section_data (o)->relocs != relocs) + free (relocs); + } + + if (sec->_raw_size > max_contents_size) + max_contents_size = sec->_raw_size; + if (sec->_cooked_size > max_contents_size) + max_contents_size = sec->_cooked_size; + + /* We are interested in just local symbols, not all + symbols. */ + if (bfd_get_flavour (sec->owner) == bfd_target_elf_flavour + && (sec->owner->flags & DYNAMIC) == 0) + { + size_t sym_count; + + if (elf_bad_symtab (sec->owner)) + sym_count = (elf_tdata (sec->owner)->symtab_hdr.sh_size + / bed->s->sizeof_sym); + else + sym_count = elf_tdata (sec->owner)->symtab_hdr.sh_info; + + if (sym_count > max_sym_count) + max_sym_count = sym_count; + + if (sym_count > max_sym_shndx_count + && elf_symtab_shndx (sec->owner) != 0) + max_sym_shndx_count = sym_count; + + if ((sec->flags & SEC_RELOC) != 0) + { + size_t ext_size; + + ext_size = elf_section_data (sec)->rel_hdr.sh_size; + if (ext_size > max_external_reloc_size) + max_external_reloc_size = ext_size; + if (sec->reloc_count > max_internal_reloc_count) + max_internal_reloc_count = sec->reloc_count; + } + } + } + + if (reloc_count == 0) + continue; + + o->reloc_count += reloc_count; + + /* MIPS may have a mix of REL and RELA relocs on sections. + To support this curious ABI we keep reloc counts in + elf_section_data too. We must be careful to add the + relocations from the input section to the right output + count. FIXME: Get rid of one count. We have + o->reloc_count == esdo->rel_count + esdo->rel_count2. */ + rel_count1 = &esdo->rel_count; + if (esdi != NULL) + { + bfd_boolean same_size; + bfd_size_type entsize1; + + entsize1 = esdi->rel_hdr.sh_entsize; + BFD_ASSERT (entsize1 == bed->s->sizeof_rel + || entsize1 == bed->s->sizeof_rela); + same_size = !o->use_rela_p == (entsize1 == bed->s->sizeof_rel); + + if (!same_size) + rel_count1 = &esdo->rel_count2; + + if (esdi->rel_hdr2 != NULL) + { + bfd_size_type entsize2 = esdi->rel_hdr2->sh_entsize; + unsigned int alt_count; + unsigned int *rel_count2; + + BFD_ASSERT (entsize2 != entsize1 + && (entsize2 == bed->s->sizeof_rel + || entsize2 == bed->s->sizeof_rela)); + + rel_count2 = &esdo->rel_count2; + if (!same_size) + rel_count2 = &esdo->rel_count; + + /* The following is probably too simplistic if the + backend counts output relocs unusually. */ + BFD_ASSERT (bed->elf_backend_count_relocs == NULL); + alt_count = NUM_SHDR_ENTRIES (esdi->rel_hdr2); + *rel_count2 += alt_count; + reloc_count -= alt_count; + } + } + *rel_count1 += reloc_count; + } + + if (o->reloc_count > 0) + o->flags |= SEC_RELOC; + else + { + /* Explicitly clear the SEC_RELOC flag. The linker tends to + set it (this is probably a bug) and if it is set + assign_section_numbers will create a reloc section. */ + o->flags &=~ SEC_RELOC; + } + + /* If the SEC_ALLOC flag is not set, force the section VMA to + zero. This is done in elf_fake_sections as well, but forcing + the VMA to 0 here will ensure that relocs against these + sections are handled correctly. */ + if ((o->flags & SEC_ALLOC) == 0 + && ! o->user_set_vma) + o->vma = 0; + } + + if (! info->relocatable && merged) + elf_link_hash_traverse (elf_hash_table (info), + _bfd_elf_link_sec_merge_syms, abfd); + + /* Figure out the file positions for everything but the symbol table + and the relocs. We set symcount to force assign_section_numbers + to create a symbol table. */ + bfd_get_symcount (abfd) = info->strip == strip_all ? 0 : 1; + BFD_ASSERT (! abfd->output_has_begun); + if (! _bfd_elf_compute_section_file_positions (abfd, info)) + goto error_return; + + /* That created the reloc sections. Set their sizes, and assign + them file positions, and allocate some buffers. */ + for (o = abfd->sections; o != NULL; o = o->next) + { + if ((o->flags & SEC_RELOC) != 0) + { + if (!(_bfd_elf_link_size_reloc_section + (abfd, &elf_section_data (o)->rel_hdr, o))) + goto error_return; + + if (elf_section_data (o)->rel_hdr2 + && !(_bfd_elf_link_size_reloc_section + (abfd, elf_section_data (o)->rel_hdr2, o))) + goto error_return; + } + + /* Now, reset REL_COUNT and REL_COUNT2 so that we can use them + to count upwards while actually outputting the relocations. */ + elf_section_data (o)->rel_count = 0; + elf_section_data (o)->rel_count2 = 0; + } + + _bfd_elf_assign_file_positions_for_relocs (abfd); + + /* We have now assigned file positions for all the sections except + .symtab and .strtab. We start the .symtab section at the current + file position, and write directly to it. We build the .strtab + section in memory. */ + bfd_get_symcount (abfd) = 0; + symtab_hdr = &elf_tdata (abfd)->symtab_hdr; + /* sh_name is set in prep_headers. */ + symtab_hdr->sh_type = SHT_SYMTAB; + /* sh_flags, sh_addr and sh_size all start off zero. */ + symtab_hdr->sh_entsize = bed->s->sizeof_sym; + /* sh_link is set in assign_section_numbers. */ + /* sh_info is set below. */ + /* sh_offset is set just below. */ + symtab_hdr->sh_addralign = 1 << bed->s->log_file_align; + + off = elf_tdata (abfd)->next_file_pos; + off = _bfd_elf_assign_file_position_for_section (symtab_hdr, off, TRUE); + + /* Note that at this point elf_tdata (abfd)->next_file_pos is + incorrect. We do not yet know the size of the .symtab section. + We correct next_file_pos below, after we do know the size. */ + + /* Allocate a buffer to hold swapped out symbols. This is to avoid + continuously seeking to the right position in the file. */ + if (! info->keep_memory || max_sym_count < 20) + finfo.symbuf_size = 20; + else + finfo.symbuf_size = max_sym_count; + amt = finfo.symbuf_size; + amt *= bed->s->sizeof_sym; + finfo.symbuf = bfd_malloc (amt); + if (finfo.symbuf == NULL) + goto error_return; + if (elf_numsections (abfd) > SHN_LORESERVE) + { + /* Wild guess at number of output symbols. realloc'd as needed. */ + amt = 2 * max_sym_count + elf_numsections (abfd) + 1000; + finfo.shndxbuf_size = amt; + amt *= sizeof (Elf_External_Sym_Shndx); + finfo.symshndxbuf = bfd_zmalloc (amt); + if (finfo.symshndxbuf == NULL) + goto error_return; + } + + /* Start writing out the symbol table. The first symbol is always a + dummy symbol. */ + if (info->strip != strip_all + || emit_relocs) + { + elfsym.st_value = 0; + elfsym.st_size = 0; + elfsym.st_info = 0; + elfsym.st_other = 0; + elfsym.st_shndx = SHN_UNDEF; + if (! elf_link_output_sym (&finfo, NULL, &elfsym, bfd_und_section_ptr, + NULL)) + goto error_return; + } + +#if 0 + /* Some standard ELF linkers do this, but we don't because it causes + bootstrap comparison failures. */ + /* Output a file symbol for the output file as the second symbol. + We output this even if we are discarding local symbols, although + I'm not sure if this is correct. */ + elfsym.st_value = 0; + elfsym.st_size = 0; + elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE); + elfsym.st_other = 0; + elfsym.st_shndx = SHN_ABS; + if (! elf_link_output_sym (&finfo, bfd_get_filename (abfd), + &elfsym, bfd_abs_section_ptr, NULL)) + goto error_return; +#endif + + /* Output a symbol for each section. We output these even if we are + discarding local symbols, since they are used for relocs. These + symbols have no names. We store the index of each one in the + index field of the section, so that we can find it again when + outputting relocs. */ + if (info->strip != strip_all + || emit_relocs) + { + elfsym.st_size = 0; + elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); + elfsym.st_other = 0; + for (i = 1; i < elf_numsections (abfd); i++) + { + o = bfd_section_from_elf_index (abfd, i); + if (o != NULL) + o->target_index = bfd_get_symcount (abfd); + elfsym.st_shndx = i; + if (info->relocatable || o == NULL) + elfsym.st_value = 0; + else + elfsym.st_value = o->vma; + if (! elf_link_output_sym (&finfo, NULL, &elfsym, o, NULL)) + goto error_return; + if (i == SHN_LORESERVE - 1) + i += SHN_HIRESERVE + 1 - SHN_LORESERVE; + } + } + + /* Allocate some memory to hold information read in from the input + files. */ + if (max_contents_size != 0) + { + finfo.contents = bfd_malloc (max_contents_size); + if (finfo.contents == NULL) + goto error_return; + } + + if (max_external_reloc_size != 0) + { + finfo.external_relocs = bfd_malloc (max_external_reloc_size); + if (finfo.external_relocs == NULL) + goto error_return; + } + + if (max_internal_reloc_count != 0) + { + amt = max_internal_reloc_count * bed->s->int_rels_per_ext_rel; + amt *= sizeof (Elf_Internal_Rela); + finfo.internal_relocs = bfd_malloc (amt); + if (finfo.internal_relocs == NULL) + goto error_return; + } + + if (max_sym_count != 0) + { + amt = max_sym_count * bed->s->sizeof_sym; + finfo.external_syms = bfd_malloc (amt); + if (finfo.external_syms == NULL) + goto error_return; + + amt = max_sym_count * sizeof (Elf_Internal_Sym); + finfo.internal_syms = bfd_malloc (amt); + if (finfo.internal_syms == NULL) + goto error_return; + + amt = max_sym_count * sizeof (long); + finfo.indices = bfd_malloc (amt); + if (finfo.indices == NULL) + goto error_return; + + amt = max_sym_count * sizeof (asection *); + finfo.sections = bfd_malloc (amt); + if (finfo.sections == NULL) + goto error_return; + } + + if (max_sym_shndx_count != 0) + { + amt = max_sym_shndx_count * sizeof (Elf_External_Sym_Shndx); + finfo.locsym_shndx = bfd_malloc (amt); + if (finfo.locsym_shndx == NULL) + goto error_return; + } + + if (elf_hash_table (info)->tls_sec) + { + bfd_vma base, end = 0; + asection *sec; + + for (sec = elf_hash_table (info)->tls_sec; + sec && (sec->flags & SEC_THREAD_LOCAL); + sec = sec->next) + { + bfd_vma size = sec->_raw_size; + + if (size == 0 && (sec->flags & SEC_HAS_CONTENTS) == 0) + { + struct bfd_link_order *o; + + for (o = sec->link_order_head; o != NULL; o = o->next) + if (size < o->offset + o->size) + size = o->offset + o->size; + } + end = sec->vma + size; + } + base = elf_hash_table (info)->tls_sec->vma; + end = align_power (end, elf_hash_table (info)->tls_sec->alignment_power); + elf_hash_table (info)->tls_size = end - base; + } + + /* Since ELF permits relocations to be against local symbols, we + must have the local symbols available when we do the relocations. + Since we would rather only read the local symbols once, and we + would rather not keep them in memory, we handle all the + relocations for a single input file at the same time. + + Unfortunately, there is no way to know the total number of local + symbols until we have seen all of them, and the local symbol + indices precede the global symbol indices. This means that when + we are generating relocatable output, and we see a reloc against + a global symbol, we can not know the symbol index until we have + finished examining all the local symbols to see which ones we are + going to output. To deal with this, we keep the relocations in + memory, and don't output them until the end of the link. This is + an unfortunate waste of memory, but I don't see a good way around + it. Fortunately, it only happens when performing a relocatable + link, which is not the common case. FIXME: If keep_memory is set + we could write the relocs out and then read them again; I don't + know how bad the memory loss will be. */ + + for (sub = info->input_bfds; sub != NULL; sub = sub->link_next) + sub->output_has_begun = FALSE; + for (o = abfd->sections; o != NULL; o = o->next) + { + for (p = o->link_order_head; p != NULL; p = p->next) + { + if (p->type == bfd_indirect_link_order + && (bfd_get_flavour ((sub = p->u.indirect.section->owner)) + == bfd_target_elf_flavour) + && elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass) + { + if (! sub->output_has_begun) + { + if (! elf_link_input_bfd (&finfo, sub)) + goto error_return; + sub->output_has_begun = TRUE; + } + } + else if (p->type == bfd_section_reloc_link_order + || p->type == bfd_symbol_reloc_link_order) + { + if (! elf_reloc_link_order (abfd, info, o, p)) + goto error_return; + } + else + { + if (! _bfd_default_link_order (abfd, info, o, p)) + goto error_return; + } + } + } + + /* Output any global symbols that got converted to local in a + version script or due to symbol visibility. We do this in a + separate step since ELF requires all local symbols to appear + prior to any global symbols. FIXME: We should only do this if + some global symbols were, in fact, converted to become local. + FIXME: Will this work correctly with the Irix 5 linker? */ + eoinfo.failed = FALSE; + eoinfo.finfo = &finfo; + eoinfo.localsyms = TRUE; + elf_link_hash_traverse (elf_hash_table (info), elf_link_output_extsym, + &eoinfo); + if (eoinfo.failed) + return FALSE; + + /* That wrote out all the local symbols. Finish up the symbol table + with the global symbols. Even if we want to strip everything we + can, we still need to deal with those global symbols that got + converted to local in a version script. */ + + /* The sh_info field records the index of the first non local symbol. */ + symtab_hdr->sh_info = bfd_get_symcount (abfd); + + if (dynamic + && finfo.dynsym_sec->output_section != bfd_abs_section_ptr) + { + Elf_Internal_Sym sym; + bfd_byte *dynsym = finfo.dynsym_sec->contents; + long last_local = 0; + + /* Write out the section symbols for the output sections. */ + if (info->shared) + { + asection *s; + + sym.st_size = 0; + sym.st_name = 0; + sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); + sym.st_other = 0; + + for (s = abfd->sections; s != NULL; s = s->next) + { + int indx; + bfd_byte *dest; + long dynindx; + + indx = elf_section_data (s)->this_idx; + dynindx = elf_section_data (s)->dynindx; + BFD_ASSERT (indx > 0); + sym.st_shndx = indx; + sym.st_value = s->vma; + dest = dynsym + dynindx * bed->s->sizeof_sym; + bed->s->swap_symbol_out (abfd, &sym, dest, 0); + } + + last_local = bfd_count_sections (abfd); + } + + /* Write out the local dynsyms. */ + if (elf_hash_table (info)->dynlocal) + { + struct elf_link_local_dynamic_entry *e; + for (e = elf_hash_table (info)->dynlocal; e ; e = e->next) + { + asection *s; + bfd_byte *dest; + + sym.st_size = e->isym.st_size; + sym.st_other = e->isym.st_other; + + /* Copy the internal symbol as is. + Note that we saved a word of storage and overwrote + the original st_name with the dynstr_index. */ + sym = e->isym; + + if (e->isym.st_shndx != SHN_UNDEF + && (e->isym.st_shndx < SHN_LORESERVE + || e->isym.st_shndx > SHN_HIRESERVE)) + { + s = bfd_section_from_elf_index (e->input_bfd, + e->isym.st_shndx); + + sym.st_shndx = + elf_section_data (s->output_section)->this_idx; + sym.st_value = (s->output_section->vma + + s->output_offset + + e->isym.st_value); + } + + if (last_local < e->dynindx) + last_local = e->dynindx; + + dest = dynsym + e->dynindx * bed->s->sizeof_sym; + bed->s->swap_symbol_out (abfd, &sym, dest, 0); + } + } + + elf_section_data (finfo.dynsym_sec->output_section)->this_hdr.sh_info = + last_local + 1; + } + + /* We get the global symbols from the hash table. */ + eoinfo.failed = FALSE; + eoinfo.localsyms = FALSE; + eoinfo.finfo = &finfo; + elf_link_hash_traverse (elf_hash_table (info), elf_link_output_extsym, + &eoinfo); + if (eoinfo.failed) + return FALSE; + + /* If backend needs to output some symbols not present in the hash + table, do it now. */ + if (bed->elf_backend_output_arch_syms) + { + typedef bfd_boolean (*out_sym_func) + (void *, const char *, Elf_Internal_Sym *, asection *, + struct elf_link_hash_entry *); + + if (! ((*bed->elf_backend_output_arch_syms) + (abfd, info, &finfo, (out_sym_func) elf_link_output_sym))) + return FALSE; + } + + /* Flush all symbols to the file. */ + if (! elf_link_flush_output_syms (&finfo, bed)) + return FALSE; + + /* Now we know the size of the symtab section. */ + off += symtab_hdr->sh_size; + + symtab_shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr; + if (symtab_shndx_hdr->sh_name != 0) + { + symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX; + symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx); + symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx); + amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx); + symtab_shndx_hdr->sh_size = amt; + + off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr, + off, TRUE); + + if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0 + || (bfd_bwrite (finfo.symshndxbuf, amt, abfd) != amt)) + return FALSE; + } + + + /* Finish up and write out the symbol string table (.strtab) + section. */ + symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr; + /* sh_name was set in prep_headers. */ + symstrtab_hdr->sh_type = SHT_STRTAB; + symstrtab_hdr->sh_flags = 0; + symstrtab_hdr->sh_addr = 0; + symstrtab_hdr->sh_size = _bfd_stringtab_size (finfo.symstrtab); + symstrtab_hdr->sh_entsize = 0; + symstrtab_hdr->sh_link = 0; + symstrtab_hdr->sh_info = 0; + /* sh_offset is set just below. */ + symstrtab_hdr->sh_addralign = 1; + + off = _bfd_elf_assign_file_position_for_section (symstrtab_hdr, off, TRUE); + elf_tdata (abfd)->next_file_pos = off; + + if (bfd_get_symcount (abfd) > 0) + { + if (bfd_seek (abfd, symstrtab_hdr->sh_offset, SEEK_SET) != 0 + || ! _bfd_stringtab_emit (abfd, finfo.symstrtab)) + return FALSE; + } + + /* Adjust the relocs to have the correct symbol indices. */ + for (o = abfd->sections; o != NULL; o = o->next) + { + if ((o->flags & SEC_RELOC) == 0) + continue; + + elf_link_adjust_relocs (abfd, &elf_section_data (o)->rel_hdr, + elf_section_data (o)->rel_count, + elf_section_data (o)->rel_hashes); + if (elf_section_data (o)->rel_hdr2 != NULL) + elf_link_adjust_relocs (abfd, elf_section_data (o)->rel_hdr2, + elf_section_data (o)->rel_count2, + (elf_section_data (o)->rel_hashes + + elf_section_data (o)->rel_count)); + + /* Set the reloc_count field to 0 to prevent write_relocs from + trying to swap the relocs out itself. */ + o->reloc_count = 0; + } + + if (dynamic && info->combreloc && dynobj != NULL) + relativecount = elf_link_sort_relocs (abfd, info, &reldyn); + + /* If we are linking against a dynamic object, or generating a + shared library, finish up the dynamic linking information. */ + if (dynamic) + { + bfd_byte *dyncon, *dynconend; + + /* Fix up .dynamic entries. */ + o = bfd_get_section_by_name (dynobj, ".dynamic"); + BFD_ASSERT (o != NULL); + + dyncon = o->contents; + dynconend = o->contents + o->_raw_size; + for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn) + { + Elf_Internal_Dyn dyn; + const char *name; + unsigned int type; + + bed->s->swap_dyn_in (dynobj, dyncon, &dyn); + + switch (dyn.d_tag) + { + default: + continue; + case DT_NULL: + if (relativecount > 0 && dyncon + bed->s->sizeof_dyn < dynconend) + { + switch (elf_section_data (reldyn)->this_hdr.sh_type) + { + case SHT_REL: dyn.d_tag = DT_RELCOUNT; break; + case SHT_RELA: dyn.d_tag = DT_RELACOUNT; break; + default: continue; + } + dyn.d_un.d_val = relativecount; + relativecount = 0; + break; + } + continue; + + case DT_INIT: + name = info->init_function; + goto get_sym; + case DT_FINI: + name = info->fini_function; + get_sym: + { + struct elf_link_hash_entry *h; + + h = elf_link_hash_lookup (elf_hash_table (info), name, + FALSE, FALSE, TRUE); + if (h != NULL + && (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak)) + { + dyn.d_un.d_val = h->root.u.def.value; + o = h->root.u.def.section; + if (o->output_section != NULL) + dyn.d_un.d_val += (o->output_section->vma + + o->output_offset); + else + { + /* The symbol is imported from another shared + library and does not apply to this one. */ + dyn.d_un.d_val = 0; + } + break; + } + } + continue; + + case DT_PREINIT_ARRAYSZ: + name = ".preinit_array"; + goto get_size; + case DT_INIT_ARRAYSZ: + name = ".init_array"; + goto get_size; + case DT_FINI_ARRAYSZ: + name = ".fini_array"; + get_size: + o = bfd_get_section_by_name (abfd, name); + if (o == NULL) + { + (*_bfd_error_handler) + (_("%s: could not find output section %s"), + bfd_get_filename (abfd), name); + goto error_return; + } + if (o->_raw_size == 0) + (*_bfd_error_handler) + (_("warning: %s section has zero size"), name); + dyn.d_un.d_val = o->_raw_size; + break; + + case DT_PREINIT_ARRAY: + name = ".preinit_array"; + goto get_vma; + case DT_INIT_ARRAY: + name = ".init_array"; + goto get_vma; + case DT_FINI_ARRAY: + name = ".fini_array"; + goto get_vma; + + case DT_HASH: + name = ".hash"; + goto get_vma; + case DT_STRTAB: + name = ".dynstr"; + goto get_vma; + case DT_SYMTAB: + name = ".dynsym"; + goto get_vma; + case DT_VERDEF: + name = ".gnu.version_d"; + goto get_vma; + case DT_VERNEED: + name = ".gnu.version_r"; + goto get_vma; + case DT_VERSYM: + name = ".gnu.version"; + get_vma: + o = bfd_get_section_by_name (abfd, name); + if (o == NULL) + { + (*_bfd_error_handler) + (_("%s: could not find output section %s"), + bfd_get_filename (abfd), name); + goto error_return; + } + dyn.d_un.d_ptr = o->vma; + break; + + case DT_REL: + case DT_RELA: + case DT_RELSZ: + case DT_RELASZ: + if (dyn.d_tag == DT_REL || dyn.d_tag == DT_RELSZ) + type = SHT_REL; + else + type = SHT_RELA; + dyn.d_un.d_val = 0; + for (i = 1; i < elf_numsections (abfd); i++) + { + Elf_Internal_Shdr *hdr; + + hdr = elf_elfsections (abfd)[i]; + if (hdr->sh_type == type + && (hdr->sh_flags & SHF_ALLOC) != 0) + { + if (dyn.d_tag == DT_RELSZ || dyn.d_tag == DT_RELASZ) + dyn.d_un.d_val += hdr->sh_size; + else + { + if (dyn.d_un.d_val == 0 + || hdr->sh_addr < dyn.d_un.d_val) + dyn.d_un.d_val = hdr->sh_addr; + } + } + } + break; + } + bed->s->swap_dyn_out (dynobj, &dyn, dyncon); + } + } + + /* If we have created any dynamic sections, then output them. */ + if (dynobj != NULL) + { + if (! (*bed->elf_backend_finish_dynamic_sections) (abfd, info)) + goto error_return; + + for (o = dynobj->sections; o != NULL; o = o->next) + { + if ((o->flags & SEC_HAS_CONTENTS) == 0 + || o->_raw_size == 0 + || o->output_section == bfd_abs_section_ptr) + continue; + if ((o->flags & SEC_LINKER_CREATED) == 0) + { + /* At this point, we are only interested in sections + created by _bfd_elf_link_create_dynamic_sections. */ + continue; + } + if ((elf_section_data (o->output_section)->this_hdr.sh_type + != SHT_STRTAB) + || strcmp (bfd_get_section_name (abfd, o), ".dynstr") != 0) + { + if (! bfd_set_section_contents (abfd, o->output_section, + o->contents, + (file_ptr) o->output_offset, + o->_raw_size)) + goto error_return; + } + else + { + /* The contents of the .dynstr section are actually in a + stringtab. */ + off = elf_section_data (o->output_section)->this_hdr.sh_offset; + if (bfd_seek (abfd, off, SEEK_SET) != 0 + || ! _bfd_elf_strtab_emit (abfd, + elf_hash_table (info)->dynstr)) + goto error_return; + } + } + } + + if (info->relocatable) + { + bfd_boolean failed = FALSE; + + bfd_map_over_sections (abfd, bfd_elf_set_group_contents, &failed); + if (failed) + goto error_return; + } + + /* If we have optimized stabs strings, output them. */ + if (elf_hash_table (info)->stab_info != NULL) + { + if (! _bfd_write_stab_strings (abfd, &elf_hash_table (info)->stab_info)) + goto error_return; + } + + if (info->eh_frame_hdr) + { + if (! _bfd_elf_write_section_eh_frame_hdr (abfd, info)) + goto error_return; + } + + if (finfo.symstrtab != NULL) + _bfd_stringtab_free (finfo.symstrtab); + if (finfo.contents != NULL) + free (finfo.contents); + if (finfo.external_relocs != NULL) + free (finfo.external_relocs); + if (finfo.internal_relocs != NULL) + free (finfo.internal_relocs); + if (finfo.external_syms != NULL) + free (finfo.external_syms); + if (finfo.locsym_shndx != NULL) + free (finfo.locsym_shndx); + if (finfo.internal_syms != NULL) + free (finfo.internal_syms); + if (finfo.indices != NULL) + free (finfo.indices); + if (finfo.sections != NULL) + free (finfo.sections); + if (finfo.symbuf != NULL) + free (finfo.symbuf); + if (finfo.symshndxbuf != NULL) + free (finfo.symshndxbuf); + for (o = abfd->sections; o != NULL; o = o->next) + { + if ((o->flags & SEC_RELOC) != 0 + && elf_section_data (o)->rel_hashes != NULL) + free (elf_section_data (o)->rel_hashes); + } + + elf_tdata (abfd)->linker = TRUE; + + return TRUE; + + error_return: + if (finfo.symstrtab != NULL) + _bfd_stringtab_free (finfo.symstrtab); + if (finfo.contents != NULL) + free (finfo.contents); + if (finfo.external_relocs != NULL) + free (finfo.external_relocs); + if (finfo.internal_relocs != NULL) + free (finfo.internal_relocs); + if (finfo.external_syms != NULL) + free (finfo.external_syms); + if (finfo.locsym_shndx != NULL) + free (finfo.locsym_shndx); + if (finfo.internal_syms != NULL) + free (finfo.internal_syms); + if (finfo.indices != NULL) + free (finfo.indices); + if (finfo.sections != NULL) + free (finfo.sections); + if (finfo.symbuf != NULL) + free (finfo.symbuf); + if (finfo.symshndxbuf != NULL) + free (finfo.symshndxbuf); + for (o = abfd->sections; o != NULL; o = o->next) + { + if ((o->flags & SEC_RELOC) != 0 + && elf_section_data (o)->rel_hashes != NULL) + free (elf_section_data (o)->rel_hashes); + } + + return FALSE; +} + +/* Garbage collect unused sections. */ + +/* The mark phase of garbage collection. For a given section, mark + it and any sections in this section's group, and all the sections + which define symbols to which it refers. */ + +typedef asection * (*gc_mark_hook_fn) + (asection *, struct bfd_link_info *, Elf_Internal_Rela *, + struct elf_link_hash_entry *, Elf_Internal_Sym *); + +static bfd_boolean +elf_gc_mark (struct bfd_link_info *info, + asection *sec, + gc_mark_hook_fn gc_mark_hook) +{ + bfd_boolean ret; + asection *group_sec; + + sec->gc_mark = 1; + + /* Mark all the sections in the group. */ + group_sec = elf_section_data (sec)->next_in_group; + if (group_sec && !group_sec->gc_mark) + if (!elf_gc_mark (info, group_sec, gc_mark_hook)) + return FALSE; + + /* Look through the section relocs. */ + ret = TRUE; + if ((sec->flags & SEC_RELOC) != 0 && sec->reloc_count > 0) + { + Elf_Internal_Rela *relstart, *rel, *relend; + Elf_Internal_Shdr *symtab_hdr; + struct elf_link_hash_entry **sym_hashes; + size_t nlocsyms; + size_t extsymoff; + bfd *input_bfd = sec->owner; + const struct elf_backend_data *bed = get_elf_backend_data (input_bfd); + Elf_Internal_Sym *isym = NULL; + int r_sym_shift; + + symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; + sym_hashes = elf_sym_hashes (input_bfd); + + /* Read the local symbols. */ + if (elf_bad_symtab (input_bfd)) + { + nlocsyms = symtab_hdr->sh_size / bed->s->sizeof_sym; + extsymoff = 0; + } + else + extsymoff = nlocsyms = symtab_hdr->sh_info; + + isym = (Elf_Internal_Sym *) symtab_hdr->contents; + if (isym == NULL && nlocsyms != 0) + { + isym = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, nlocsyms, 0, + NULL, NULL, NULL); + if (isym == NULL) + return FALSE; + } + + /* Read the relocations. */ + relstart = _bfd_elf_link_read_relocs (input_bfd, sec, NULL, NULL, + info->keep_memory); + if (relstart == NULL) + { + ret = FALSE; + goto out1; + } + relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel; + + if (bed->s->arch_size == 32) + r_sym_shift = 8; + else + r_sym_shift = 32; + + for (rel = relstart; rel < relend; rel++) + { + unsigned long r_symndx; + asection *rsec; + struct elf_link_hash_entry *h; + + r_symndx = rel->r_info >> r_sym_shift; + if (r_symndx == 0) + continue; + + if (r_symndx >= nlocsyms + || ELF_ST_BIND (isym[r_symndx].st_info) != STB_LOCAL) + { + h = sym_hashes[r_symndx - extsymoff]; + rsec = (*gc_mark_hook) (sec, info, rel, h, NULL); + } + else + { + rsec = (*gc_mark_hook) (sec, info, rel, NULL, &isym[r_symndx]); + } + + if (rsec && !rsec->gc_mark) + { + if (bfd_get_flavour (rsec->owner) != bfd_target_elf_flavour) + rsec->gc_mark = 1; + else if (!elf_gc_mark (info, rsec, gc_mark_hook)) + { + ret = FALSE; + goto out2; + } + } + } + + out2: + if (elf_section_data (sec)->relocs != relstart) + free (relstart); + out1: + if (isym != NULL && symtab_hdr->contents != (unsigned char *) isym) + { + if (! info->keep_memory) + free (isym); + else + symtab_hdr->contents = (unsigned char *) isym; + } + } + + return ret; +} + +/* Sweep symbols in swept sections. Called via elf_link_hash_traverse. */ + +static bfd_boolean +elf_gc_sweep_symbol (struct elf_link_hash_entry *h, void *idxptr) +{ + int *idx = idxptr; + + if (h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + if (h->dynindx != -1 + && ((h->root.type != bfd_link_hash_defined + && h->root.type != bfd_link_hash_defweak) + || h->root.u.def.section->gc_mark)) + h->dynindx = (*idx)++; + + return TRUE; +} + +/* The sweep phase of garbage collection. Remove all garbage sections. */ + +typedef bfd_boolean (*gc_sweep_hook_fn) + (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *); + +static bfd_boolean +elf_gc_sweep (struct bfd_link_info *info, gc_sweep_hook_fn gc_sweep_hook) +{ + bfd *sub; + + for (sub = info->input_bfds; sub != NULL; sub = sub->link_next) + { + asection *o; + + if (bfd_get_flavour (sub) != bfd_target_elf_flavour) + continue; + + for (o = sub->sections; o != NULL; o = o->next) + { + /* Keep special sections. Keep .debug sections. */ + if ((o->flags & SEC_LINKER_CREATED) + || (o->flags & SEC_DEBUGGING)) + o->gc_mark = 1; + + if (o->gc_mark) + continue; + + /* Skip sweeping sections already excluded. */ + if (o->flags & SEC_EXCLUDE) + continue; + + /* Since this is early in the link process, it is simple + to remove a section from the output. */ + o->flags |= SEC_EXCLUDE; + + /* But we also have to update some of the relocation + info we collected before. */ + if (gc_sweep_hook + && (o->flags & SEC_RELOC) && o->reloc_count > 0) + { + Elf_Internal_Rela *internal_relocs; + bfd_boolean r; + + internal_relocs + = _bfd_elf_link_read_relocs (o->owner, o, NULL, NULL, + info->keep_memory); + if (internal_relocs == NULL) + return FALSE; + + r = (*gc_sweep_hook) (o->owner, info, o, internal_relocs); + + if (elf_section_data (o)->relocs != internal_relocs) + free (internal_relocs); + + if (!r) + return FALSE; + } + } + } + + /* Remove the symbols that were in the swept sections from the dynamic + symbol table. GCFIXME: Anyone know how to get them out of the + static symbol table as well? */ + { + int i = 0; + + elf_link_hash_traverse (elf_hash_table (info), elf_gc_sweep_symbol, &i); + + elf_hash_table (info)->dynsymcount = i; + } + + return TRUE; +} + +/* Propagate collected vtable information. This is called through + elf_link_hash_traverse. */ + +static bfd_boolean +elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp) +{ + if (h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* Those that are not vtables. */ + if (h->vtable_parent == NULL) + return TRUE; + + /* Those vtables that do not have parents, we cannot merge. */ + if (h->vtable_parent == (struct elf_link_hash_entry *) -1) + return TRUE; + + /* If we've already been done, exit. */ + if (h->vtable_entries_used && h->vtable_entries_used[-1]) + return TRUE; + + /* Make sure the parent's table is up to date. */ + elf_gc_propagate_vtable_entries_used (h->vtable_parent, okp); + + if (h->vtable_entries_used == NULL) + { + /* None of this table's entries were referenced. Re-use the + parent's table. */ + h->vtable_entries_used = h->vtable_parent->vtable_entries_used; + h->vtable_entries_size = h->vtable_parent->vtable_entries_size; + } + else + { + size_t n; + bfd_boolean *cu, *pu; + + /* Or the parent's entries into ours. */ + cu = h->vtable_entries_used; + cu[-1] = TRUE; + pu = h->vtable_parent->vtable_entries_used; + if (pu != NULL) + { + const struct elf_backend_data *bed; + unsigned int log_file_align; + + bed = get_elf_backend_data (h->root.u.def.section->owner); + log_file_align = bed->s->log_file_align; + n = h->vtable_parent->vtable_entries_size >> log_file_align; + while (n--) { - included[mark] = TRUE; - if (mark == 0) - break; - --mark; + if (*pu) + *cu = TRUE; + pu++; + cu++; } - while (symdefs[mark].file_offset == symdef->file_offset); + } + } - /* We mark subsequent symbols from this object file as we go - on through the loop. */ - last = symdef->file_offset; + return TRUE; +} + +static bfd_boolean +elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp) +{ + asection *sec; + bfd_vma hstart, hend; + Elf_Internal_Rela *relstart, *relend, *rel; + const struct elf_backend_data *bed; + unsigned int log_file_align; + + if (h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* Take care of both those symbols that do not describe vtables as + well as those that are not loaded. */ + if (h->vtable_parent == NULL) + return TRUE; + + BFD_ASSERT (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak); + + sec = h->root.u.def.section; + hstart = h->root.u.def.value; + hend = hstart + h->size; + + relstart = _bfd_elf_link_read_relocs (sec->owner, sec, NULL, NULL, TRUE); + if (!relstart) + return *(bfd_boolean *) okp = FALSE; + bed = get_elf_backend_data (sec->owner); + log_file_align = bed->s->log_file_align; + + relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel; + + for (rel = relstart; rel < relend; ++rel) + if (rel->r_offset >= hstart && rel->r_offset < hend) + { + /* If the entry is in use, do nothing. */ + if (h->vtable_entries_used + && (rel->r_offset - hstart) < h->vtable_entries_size) + { + bfd_vma entry = (rel->r_offset - hstart) >> log_file_align; + if (h->vtable_entries_used[entry]) + continue; + } + /* Otherwise, kill it. */ + rel->r_offset = rel->r_info = rel->r_addend = 0; + } + + return TRUE; +} + +/* Do mark and sweep of unused sections. */ + +bfd_boolean +bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info) +{ + bfd_boolean ok = TRUE; + bfd *sub; + asection * (*gc_mark_hook) + (asection *, struct bfd_link_info *, Elf_Internal_Rela *, + struct elf_link_hash_entry *h, Elf_Internal_Sym *); + + if (!get_elf_backend_data (abfd)->can_gc_sections + || info->relocatable + || info->emitrelocations + || !is_elf_hash_table (info->hash) + || elf_hash_table (info)->dynamic_sections_created) + { + (*_bfd_error_handler)(_("Warning: gc-sections option ignored")); + return TRUE; + } + + /* Apply transitive closure to the vtable entry usage info. */ + elf_link_hash_traverse (elf_hash_table (info), + elf_gc_propagate_vtable_entries_used, + &ok); + if (!ok) + return FALSE; + + /* Kill the vtable relocations that were not used. */ + elf_link_hash_traverse (elf_hash_table (info), + elf_gc_smash_unused_vtentry_relocs, + &ok); + if (!ok) + return FALSE; + + /* Grovel through relocs to find out who stays ... */ + + gc_mark_hook = get_elf_backend_data (abfd)->gc_mark_hook; + for (sub = info->input_bfds; sub != NULL; sub = sub->link_next) + { + asection *o; + + if (bfd_get_flavour (sub) != bfd_target_elf_flavour) + continue; + + for (o = sub->sections; o != NULL; o = o->next) + { + if (o->flags & SEC_KEEP) + if (!elf_gc_mark (info, o, gc_mark_hook)) + return FALSE; } } - while (loop); - free (defined); - free (included); + /* ... and mark SEC_EXCLUDE for those that go. */ + if (!elf_gc_sweep (info, get_elf_backend_data (abfd)->gc_sweep_hook)) + return FALSE; return TRUE; +} + +/* Called from check_relocs to record the existence of a VTINHERIT reloc. */ - error_return: - if (defined != NULL) - free (defined); - if (included != NULL) - free (included); +bfd_boolean +bfd_elf_gc_record_vtinherit (bfd *abfd, + asection *sec, + struct elf_link_hash_entry *h, + bfd_vma offset) +{ + struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **search, *child; + bfd_size_type extsymcount; + const struct elf_backend_data *bed = get_elf_backend_data (abfd); + + /* The sh_info field of the symtab header tells us where the + external symbols start. We don't care about the local symbols at + this point. */ + extsymcount = elf_tdata (abfd)->symtab_hdr.sh_size / bed->s->sizeof_sym; + if (!elf_bad_symtab (abfd)) + extsymcount -= elf_tdata (abfd)->symtab_hdr.sh_info; + + sym_hashes = elf_sym_hashes (abfd); + sym_hashes_end = sym_hashes + extsymcount; + + /* Hunt down the child symbol, which is in this section at the same + offset as the relocation. */ + for (search = sym_hashes; search != sym_hashes_end; ++search) + { + if ((child = *search) != NULL + && (child->root.type == bfd_link_hash_defined + || child->root.type == bfd_link_hash_defweak) + && child->root.u.def.section == sec + && child->root.u.def.value == offset) + goto win; + } + + (*_bfd_error_handler) ("%s: %s+%lu: No symbol found for INHERIT", + bfd_archive_filename (abfd), sec->name, + (unsigned long) offset); + bfd_set_error (bfd_error_invalid_operation); + return FALSE; + + win: + if (!h) + { + /* This *should* only be the absolute section. It could potentially + be that someone has defined a non-global vtable though, which + would be bad. It isn't worth paging in the local symbols to be + sure though; that case should simply be handled by the assembler. */ + + child->vtable_parent = (struct elf_link_hash_entry *) -1; + } + else + child->vtable_parent = h; + + return TRUE; +} + +/* Called from check_relocs to record the existence of a VTENTRY reloc. */ + +bfd_boolean +bfd_elf_gc_record_vtentry (bfd *abfd ATTRIBUTE_UNUSED, + asection *sec ATTRIBUTE_UNUSED, + struct elf_link_hash_entry *h, + bfd_vma addend) +{ + const struct elf_backend_data *bed = get_elf_backend_data (abfd); + unsigned int log_file_align = bed->s->log_file_align; + + if (addend >= h->vtable_entries_size) + { + size_t size, bytes, file_align; + bfd_boolean *ptr = h->vtable_entries_used; + + /* While the symbol is undefined, we have to be prepared to handle + a zero size. */ + file_align = 1 << log_file_align; + if (h->root.type == bfd_link_hash_undefined) + size = addend + file_align; + else + { + size = h->size; + if (addend >= size) + { + /* Oops! We've got a reference past the defined end of + the table. This is probably a bug -- shall we warn? */ + size = addend + file_align; + } + } + size = (size + file_align - 1) & -file_align; + + /* Allocate one extra entry for use as a "done" flag for the + consolidation pass. */ + bytes = ((size >> log_file_align) + 1) * sizeof (bfd_boolean); + + if (ptr) + { + ptr = bfd_realloc (ptr - 1, bytes); + + if (ptr != NULL) + { + size_t oldbytes; + + oldbytes = (((h->vtable_entries_size >> log_file_align) + 1) + * sizeof (bfd_boolean)); + memset (((char *) ptr) + oldbytes, 0, bytes - oldbytes); + } + } + else + ptr = bfd_zmalloc (bytes); + + if (ptr == NULL) + return FALSE; + + /* And arrange for that done flag to be at index -1. */ + h->vtable_entries_used = ptr + 1; + h->vtable_entries_size = size; + } + + h->vtable_entries_used[addend >> log_file_align] = TRUE; + + return TRUE; +} + +struct alloc_got_off_arg { + bfd_vma gotoff; + unsigned int got_elt_size; +}; + +/* We need a special top-level link routine to convert got reference counts + to real got offsets. */ + +static bfd_boolean +elf_gc_allocate_got_offsets (struct elf_link_hash_entry *h, void *arg) +{ + struct alloc_got_off_arg *gofarg = arg; + + if (h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + if (h->got.refcount > 0) + { + h->got.offset = gofarg->gotoff; + gofarg->gotoff += gofarg->got_elt_size; + } + else + h->got.offset = (bfd_vma) -1; + + return TRUE; +} + +/* And an accompanying bit to work out final got entry offsets once + we're done. Should be called from final_link. */ + +bfd_boolean +bfd_elf_gc_common_finalize_got_offsets (bfd *abfd, + struct bfd_link_info *info) +{ + bfd *i; + const struct elf_backend_data *bed = get_elf_backend_data (abfd); + bfd_vma gotoff; + unsigned int got_elt_size = bed->s->arch_size / 8; + struct alloc_got_off_arg gofarg; + + if (! is_elf_hash_table (info->hash)) + return FALSE; + + /* The GOT offset is relative to the .got section, but the GOT header is + put into the .got.plt section, if the backend uses it. */ + if (bed->want_got_plt) + gotoff = 0; + else + gotoff = bed->got_header_size; + + /* Do the local .got entries first. */ + for (i = info->input_bfds; i; i = i->link_next) + { + bfd_signed_vma *local_got; + bfd_size_type j, locsymcount; + Elf_Internal_Shdr *symtab_hdr; + + if (bfd_get_flavour (i) != bfd_target_elf_flavour) + continue; + + local_got = elf_local_got_refcounts (i); + if (!local_got) + continue; + + symtab_hdr = &elf_tdata (i)->symtab_hdr; + if (elf_bad_symtab (i)) + locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym; + else + locsymcount = symtab_hdr->sh_info; + + for (j = 0; j < locsymcount; ++j) + { + if (local_got[j] > 0) + { + local_got[j] = gotoff; + gotoff += got_elt_size; + } + else + local_got[j] = (bfd_vma) -1; + } + } + + /* Then the global .got entries. .plt refcounts are handled by + adjust_dynamic_symbol */ + gofarg.gotoff = gotoff; + gofarg.got_elt_size = got_elt_size; + elf_link_hash_traverse (elf_hash_table (info), + elf_gc_allocate_got_offsets, + &gofarg); + return TRUE; +} + +/* Many folk need no more in the way of final link than this, once + got entry reference counting is enabled. */ + +bfd_boolean +bfd_elf_gc_common_final_link (bfd *abfd, struct bfd_link_info *info) +{ + if (!bfd_elf_gc_common_finalize_got_offsets (abfd, info)) + return FALSE; + + /* Invoke the regular ELF backend linker to do all the work. */ + return bfd_elf_final_link (abfd, info); +} + +bfd_boolean +bfd_elf_reloc_symbol_deleted_p (bfd_vma offset, void *cookie) +{ + struct elf_reloc_cookie *rcookie = cookie; + + if (rcookie->bad_symtab) + rcookie->rel = rcookie->rels; + + for (; rcookie->rel < rcookie->relend; rcookie->rel++) + { + unsigned long r_symndx; + + if (! rcookie->bad_symtab) + if (rcookie->rel->r_offset > offset) + return FALSE; + if (rcookie->rel->r_offset != offset) + continue; + + r_symndx = rcookie->rel->r_info >> rcookie->r_sym_shift; + if (r_symndx == SHN_UNDEF) + return TRUE; + + if (r_symndx >= rcookie->locsymcount + || ELF_ST_BIND (rcookie->locsyms[r_symndx].st_info) != STB_LOCAL) + { + struct elf_link_hash_entry *h; + + h = rcookie->sym_hashes[r_symndx - rcookie->extsymoff]; + + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + if ((h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) + && elf_discarded_section (h->root.u.def.section)) + return TRUE; + else + return FALSE; + } + else + { + /* It's not a relocation against a global symbol, + but it could be a relocation against a local + symbol for a discarded section. */ + asection *isec; + Elf_Internal_Sym *isym; + + /* Need to: get the symbol; get the section. */ + isym = &rcookie->locsyms[r_symndx]; + if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE) + { + isec = bfd_section_from_elf_index (rcookie->abfd, isym->st_shndx); + if (isec != NULL && elf_discarded_section (isec)) + return TRUE; + } + } + return FALSE; + } return FALSE; } + +/* Discard unneeded references to discarded sections. + Returns TRUE if any section's size was changed. */ +/* This function assumes that the relocations are in sorted order, + which is true for all known assemblers. */ + +bfd_boolean +bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info) +{ + struct elf_reloc_cookie cookie; + asection *stab, *eh; + Elf_Internal_Shdr *symtab_hdr; + const struct elf_backend_data *bed; + bfd *abfd; + unsigned int count; + bfd_boolean ret = FALSE; + + if (info->traditional_format + || !is_elf_hash_table (info->hash)) + return FALSE; + + for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next) + { + if (bfd_get_flavour (abfd) != bfd_target_elf_flavour) + continue; + + bed = get_elf_backend_data (abfd); + + if ((abfd->flags & DYNAMIC) != 0) + continue; + + eh = bfd_get_section_by_name (abfd, ".eh_frame"); + if (info->relocatable + || (eh != NULL + && (eh->_raw_size == 0 + || bfd_is_abs_section (eh->output_section)))) + eh = NULL; + + stab = bfd_get_section_by_name (abfd, ".stab"); + if (stab != NULL + && (stab->_raw_size == 0 + || bfd_is_abs_section (stab->output_section) + || stab->sec_info_type != ELF_INFO_TYPE_STABS)) + stab = NULL; + + if (stab == NULL + && eh == NULL + && bed->elf_backend_discard_info == NULL) + continue; + + symtab_hdr = &elf_tdata (abfd)->symtab_hdr; + cookie.abfd = abfd; + cookie.sym_hashes = elf_sym_hashes (abfd); + cookie.bad_symtab = elf_bad_symtab (abfd); + if (cookie.bad_symtab) + { + cookie.locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym; + cookie.extsymoff = 0; + } + else + { + cookie.locsymcount = symtab_hdr->sh_info; + cookie.extsymoff = symtab_hdr->sh_info; + } + + if (bed->s->arch_size == 32) + cookie.r_sym_shift = 8; + else + cookie.r_sym_shift = 32; + + cookie.locsyms = (Elf_Internal_Sym *) symtab_hdr->contents; + if (cookie.locsyms == NULL && cookie.locsymcount != 0) + { + cookie.locsyms = bfd_elf_get_elf_syms (abfd, symtab_hdr, + cookie.locsymcount, 0, + NULL, NULL, NULL); + if (cookie.locsyms == NULL) + return FALSE; + } + + if (stab != NULL) + { + cookie.rels = NULL; + count = stab->reloc_count; + if (count != 0) + cookie.rels = _bfd_elf_link_read_relocs (abfd, stab, NULL, NULL, + info->keep_memory); + if (cookie.rels != NULL) + { + cookie.rel = cookie.rels; + cookie.relend = cookie.rels; + cookie.relend += count * bed->s->int_rels_per_ext_rel; + if (_bfd_discard_section_stabs (abfd, stab, + elf_section_data (stab)->sec_info, + bfd_elf_reloc_symbol_deleted_p, + &cookie)) + ret = TRUE; + if (elf_section_data (stab)->relocs != cookie.rels) + free (cookie.rels); + } + } + + if (eh != NULL) + { + cookie.rels = NULL; + count = eh->reloc_count; + if (count != 0) + cookie.rels = _bfd_elf_link_read_relocs (abfd, eh, NULL, NULL, + info->keep_memory); + cookie.rel = cookie.rels; + cookie.relend = cookie.rels; + if (cookie.rels != NULL) + cookie.relend += count * bed->s->int_rels_per_ext_rel; + + if (_bfd_elf_discard_section_eh_frame (abfd, info, eh, + bfd_elf_reloc_symbol_deleted_p, + &cookie)) + ret = TRUE; + + if (cookie.rels != NULL + && elf_section_data (eh)->relocs != cookie.rels) + free (cookie.rels); + } + + if (bed->elf_backend_discard_info != NULL + && (*bed->elf_backend_discard_info) (abfd, &cookie, info)) + ret = TRUE; + + if (cookie.locsyms != NULL + && symtab_hdr->contents != (unsigned char *) cookie.locsyms) + { + if (! info->keep_memory) + free (cookie.locsyms); + else + symtab_hdr->contents = (unsigned char *) cookie.locsyms; + } + } + + if (info->eh_frame_hdr + && !info->relocatable + && _bfd_elf_discard_section_eh_frame_hdr (output_bfd, info)) + ret = TRUE; + + return ret; +} diff -uprN binutils-2.15.90.0.1.1/bfd/elflink.h binutils-2.15.90.0.2/bfd/elflink.h --- binutils-2.15.90.0.1.1/bfd/elflink.h 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elflink.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,6083 +0,0 @@ -/* ELF linker support. - Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. - - This file is part of BFD, the Binary File Descriptor library. - - 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. */ - -/* ELF linker code. */ - -#include "safe-ctype.h" - -static bfd_boolean elf_link_add_object_symbols (bfd *, struct bfd_link_info *); -static bfd_boolean elf_finalize_dynstr (bfd *, struct bfd_link_info *); -static bfd_boolean elf_collect_hash_codes (struct elf_link_hash_entry *, - void *); -static bfd_boolean elf_section_ignore_discarded_relocs (asection *); - -/* Given an ELF BFD, add symbols to the global hash table as - appropriate. */ - -bfd_boolean -elf_bfd_link_add_symbols (bfd *abfd, struct bfd_link_info *info) -{ - switch (bfd_get_format (abfd)) - { - case bfd_object: - return elf_link_add_object_symbols (abfd, info); - case bfd_archive: - return _bfd_elf_link_add_archive_symbols (abfd, info); - default: - bfd_set_error (bfd_error_wrong_format); - return FALSE; - } -} - -/* Sort symbol by value and section. */ -static int -sort_symbol (const void *arg1, const void *arg2) -{ - const struct elf_link_hash_entry *h1 - = *(const struct elf_link_hash_entry **) arg1; - const struct elf_link_hash_entry *h2 - = *(const struct elf_link_hash_entry **) arg2; - bfd_signed_vma vdiff = h1->root.u.def.value - h2->root.u.def.value; - - if (vdiff) - return vdiff > 0 ? 1 : -1; - else - { - long sdiff = h1->root.u.def.section - h2->root.u.def.section; - if (sdiff) - return sdiff > 0 ? 1 : -1; - else - return 0; - } -} - -/* Add symbols from an ELF object file to the linker hash table. */ - -static bfd_boolean -elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) -{ - bfd_boolean (*add_symbol_hook) - (bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, - const char **, flagword *, asection **, bfd_vma *); - bfd_boolean (*check_relocs) - (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *); - bfd_boolean collect; - Elf_Internal_Shdr *hdr; - bfd_size_type symcount; - bfd_size_type extsymcount; - bfd_size_type extsymoff; - struct elf_link_hash_entry **sym_hash; - bfd_boolean dynamic; - Elf_External_Versym *extversym = NULL; - Elf_External_Versym *ever; - struct elf_link_hash_entry *weaks; - struct elf_link_hash_entry **nondeflt_vers = NULL; - bfd_size_type nondeflt_vers_cnt = 0; - Elf_Internal_Sym *isymbuf = NULL; - Elf_Internal_Sym *isym; - Elf_Internal_Sym *isymend; - const struct elf_backend_data *bed; - bfd_boolean dt_needed; - struct elf_link_hash_table * hash_table; - bfd_size_type amt; - - hash_table = elf_hash_table (info); - - bed = get_elf_backend_data (abfd); - add_symbol_hook = bed->elf_add_symbol_hook; - collect = bed->collect; - - if ((abfd->flags & DYNAMIC) == 0) - dynamic = FALSE; - else - { - dynamic = TRUE; - - /* You can't use -r against a dynamic object. Also, there's no - hope of using a dynamic object which does not exactly match - the format of the output file. */ - if (info->relocatable - || !is_elf_hash_table (hash_table) - || hash_table->root.creator != abfd->xvec) - { - bfd_set_error (bfd_error_invalid_operation); - goto error_return; - } - } - - /* As a GNU extension, any input sections which are named - .gnu.warning.SYMBOL are treated as warning symbols for the given - symbol. This differs from .gnu.warning sections, which generate - warnings when they are included in an output file. */ - if (info->executable) - { - asection *s; - - for (s = abfd->sections; s != NULL; s = s->next) - { - const char *name; - - name = bfd_get_section_name (abfd, s); - if (strncmp (name, ".gnu.warning.", sizeof ".gnu.warning." - 1) == 0) - { - char *msg; - bfd_size_type sz; - bfd_size_type prefix_len; - const char * gnu_warning_prefix = _("warning: "); - - name += sizeof ".gnu.warning." - 1; - - /* If this is a shared object, then look up the symbol - in the hash table. If it is there, and it is already - been defined, then we will not be using the entry - from this shared object, so we don't need to warn. - FIXME: If we see the definition in a regular object - later on, we will warn, but we shouldn't. The only - fix is to keep track of what warnings we are supposed - to emit, and then handle them all at the end of the - link. */ - if (dynamic) - { - struct elf_link_hash_entry *h; - - h = elf_link_hash_lookup (hash_table, name, - FALSE, FALSE, TRUE); - - /* FIXME: What about bfd_link_hash_common? */ - if (h != NULL - && (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak)) - { - /* We don't want to issue this warning. Clobber - the section size so that the warning does not - get copied into the output file. */ - s->_raw_size = 0; - continue; - } - } - - sz = bfd_section_size (abfd, s); - prefix_len = strlen (gnu_warning_prefix); - msg = bfd_alloc (abfd, prefix_len + sz + 1); - if (msg == NULL) - goto error_return; - - strcpy (msg, gnu_warning_prefix); - if (! bfd_get_section_contents (abfd, s, msg + prefix_len, 0, sz)) - goto error_return; - - msg[prefix_len + sz] = '\0'; - - if (! (_bfd_generic_link_add_one_symbol - (info, abfd, name, BSF_WARNING, s, 0, msg, - FALSE, collect, NULL))) - goto error_return; - - if (! info->relocatable) - { - /* Clobber the section size so that the warning does - not get copied into the output file. */ - s->_raw_size = 0; - } - } - } - } - - dt_needed = FALSE; - if (! dynamic) - { - /* If we are creating a shared library, create all the dynamic - sections immediately. We need to attach them to something, - so we attach them to this BFD, provided it is the right - format. FIXME: If there are no input BFD's of the same - format as the output, we can't make a shared library. */ - if (info->shared - && is_elf_hash_table (hash_table) - && hash_table->root.creator == abfd->xvec - && ! hash_table->dynamic_sections_created) - { - if (! _bfd_elf_link_create_dynamic_sections (abfd, info)) - goto error_return; - } - } - else if (!is_elf_hash_table (hash_table)) - goto error_return; - else - { - asection *s; - bfd_boolean add_needed; - const char *name; - bfd_size_type oldsize; - bfd_size_type strindex; - struct bfd_link_needed_list *rpath = NULL, *runpath = NULL; - - /* ld --just-symbols and dynamic objects don't mix very well. - Test for --just-symbols by looking at info set up by - _bfd_elf_link_just_syms. */ - if ((s = abfd->sections) != NULL - && s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) - goto error_return; - - /* Find the name to use in a DT_NEEDED entry that refers to this - object. If the object has a DT_SONAME entry, we use it. - Otherwise, if the generic linker stuck something in - elf_dt_name, we use that. Otherwise, we just use the file - name. If the generic linker put a null string into - elf_dt_name, we don't make a DT_NEEDED entry at all, even if - there is a DT_SONAME entry. */ - add_needed = TRUE; - name = bfd_get_filename (abfd); - if (elf_dt_name (abfd) != NULL) - { - name = elf_dt_name (abfd); - if (*name == '\0') - { - if (elf_dt_soname (abfd) != NULL) - dt_needed = TRUE; - - add_needed = FALSE; - } - } - s = bfd_get_section_by_name (abfd, ".dynamic"); - if (s != NULL) - { - Elf_External_Dyn *dynbuf = NULL; - Elf_External_Dyn *extdyn; - Elf_External_Dyn *extdynend; - int elfsec; - unsigned long shlink; - - dynbuf = bfd_malloc (s->_raw_size); - if (dynbuf == NULL) - goto error_return; - - if (! bfd_get_section_contents (abfd, s, dynbuf, 0, s->_raw_size)) - goto error_free_dyn; - - elfsec = _bfd_elf_section_from_bfd_section (abfd, s); - if (elfsec == -1) - goto error_free_dyn; - shlink = elf_elfsections (abfd)[elfsec]->sh_link; - - extdyn = dynbuf; - extdynend = extdyn + s->_raw_size / sizeof (Elf_External_Dyn); - for (; extdyn < extdynend; extdyn++) - { - Elf_Internal_Dyn dyn; - - elf_swap_dyn_in (abfd, extdyn, &dyn); - if (dyn.d_tag == DT_SONAME) - { - unsigned int tagv = dyn.d_un.d_val; - name = bfd_elf_string_from_elf_section (abfd, shlink, tagv); - if (name == NULL) - goto error_free_dyn; - } - if (dyn.d_tag == DT_NEEDED) - { - struct bfd_link_needed_list *n, **pn; - char *fnm, *anm; - unsigned int tagv = dyn.d_un.d_val; - - amt = sizeof (struct bfd_link_needed_list); - n = bfd_alloc (abfd, amt); - fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv); - if (n == NULL || fnm == NULL) - goto error_free_dyn; - amt = strlen (fnm) + 1; - anm = bfd_alloc (abfd, amt); - if (anm == NULL) - goto error_free_dyn; - memcpy (anm, fnm, amt); - n->name = anm; - n->by = abfd; - n->next = NULL; - for (pn = & hash_table->needed; - *pn != NULL; - pn = &(*pn)->next) - ; - *pn = n; - } - if (dyn.d_tag == DT_RUNPATH) - { - struct bfd_link_needed_list *n, **pn; - char *fnm, *anm; - unsigned int tagv = dyn.d_un.d_val; - - amt = sizeof (struct bfd_link_needed_list); - n = bfd_alloc (abfd, amt); - fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv); - if (n == NULL || fnm == NULL) - goto error_free_dyn; - amt = strlen (fnm) + 1; - anm = bfd_alloc (abfd, amt); - if (anm == NULL) - goto error_free_dyn; - memcpy (anm, fnm, amt); - n->name = anm; - n->by = abfd; - n->next = NULL; - for (pn = & runpath; - *pn != NULL; - pn = &(*pn)->next) - ; - *pn = n; - } - /* Ignore DT_RPATH if we have seen DT_RUNPATH. */ - if (!runpath && dyn.d_tag == DT_RPATH) - { - struct bfd_link_needed_list *n, **pn; - char *fnm, *anm; - unsigned int tagv = dyn.d_un.d_val; - - amt = sizeof (struct bfd_link_needed_list); - n = bfd_alloc (abfd, amt); - fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv); - if (n == NULL || fnm == NULL) - goto error_free_dyn; - amt = strlen (fnm) + 1; - anm = bfd_alloc (abfd, amt); - if (anm == NULL) - { - error_free_dyn: - free (dynbuf); - goto error_return; - } - memcpy (anm, fnm, amt); - n->name = anm; - n->by = abfd; - n->next = NULL; - for (pn = & rpath; - *pn != NULL; - pn = &(*pn)->next) - ; - *pn = n; - } - } - - free (dynbuf); - } - - /* DT_RUNPATH overrides DT_RPATH. Do _NOT_ bfd_release, as that - frees all more recently bfd_alloc'd blocks as well. */ - if (runpath) - rpath = runpath; - - if (rpath) - { - struct bfd_link_needed_list **pn; - for (pn = & hash_table->runpath; - *pn != NULL; - pn = &(*pn)->next) - ; - *pn = rpath; - } - - /* We do not want to include any of the sections in a dynamic - object in the output file. We hack by simply clobbering the - list of sections in the BFD. This could be handled more - cleanly by, say, a new section flag; the existing - SEC_NEVER_LOAD flag is not the one we want, because that one - still implies that the section takes up space in the output - file. */ - bfd_section_list_clear (abfd); - - /* If this is the first dynamic object found in the link, create - the special sections required for dynamic linking. */ - if (! _bfd_elf_link_create_dynamic_sections (abfd, info)) - goto error_return; - - if (add_needed) - { - /* Add a DT_NEEDED entry for this dynamic object. */ - oldsize = _bfd_elf_strtab_size (hash_table->dynstr); - strindex = _bfd_elf_strtab_add (hash_table->dynstr, name, FALSE); - if (strindex == (bfd_size_type) -1) - goto error_return; - - if (oldsize == _bfd_elf_strtab_size (hash_table->dynstr)) - { - asection *sdyn; - Elf_External_Dyn *dyncon, *dynconend; - - /* The hash table size did not change, which means that - the dynamic object name was already entered. If we - have already included this dynamic object in the - link, just ignore it. There is no reason to include - a particular dynamic object more than once. */ - sdyn = bfd_get_section_by_name (hash_table->dynobj, ".dynamic"); - BFD_ASSERT (sdyn != NULL); - - dyncon = (Elf_External_Dyn *) sdyn->contents; - dynconend = (Elf_External_Dyn *) (sdyn->contents + - sdyn->_raw_size); - for (; dyncon < dynconend; dyncon++) - { - Elf_Internal_Dyn dyn; - - elf_swap_dyn_in (hash_table->dynobj, dyncon, & dyn); - if (dyn.d_tag == DT_NEEDED - && dyn.d_un.d_val == strindex) - { - _bfd_elf_strtab_delref (hash_table->dynstr, strindex); - return TRUE; - } - } - } - - if (! elf_add_dynamic_entry (info, DT_NEEDED, strindex)) - goto error_return; - } - - /* Save the SONAME, if there is one, because sometimes the - linker emulation code will need to know it. */ - if (*name == '\0') - name = basename (bfd_get_filename (abfd)); - elf_dt_name (abfd) = name; - } - - /* If this is a dynamic object, we always link against the .dynsym - symbol table, not the .symtab symbol table. The dynamic linker - will only see the .dynsym symbol table, so there is no reason to - look at .symtab for a dynamic object. */ - - if (! dynamic || elf_dynsymtab (abfd) == 0) - hdr = &elf_tdata (abfd)->symtab_hdr; - else - hdr = &elf_tdata (abfd)->dynsymtab_hdr; - - symcount = hdr->sh_size / sizeof (Elf_External_Sym); - - /* The sh_info field of the symtab header tells us where the - external symbols start. We don't care about the local symbols at - this point. */ - if (elf_bad_symtab (abfd)) - { - extsymcount = symcount; - extsymoff = 0; - } - else - { - extsymcount = symcount - hdr->sh_info; - extsymoff = hdr->sh_info; - } - - sym_hash = NULL; - if (extsymcount != 0) - { - isymbuf = bfd_elf_get_elf_syms (abfd, hdr, extsymcount, extsymoff, - NULL, NULL, NULL); - if (isymbuf == NULL) - goto error_return; - - /* We store a pointer to the hash table entry for each external - symbol. */ - amt = extsymcount * sizeof (struct elf_link_hash_entry *); - sym_hash = bfd_alloc (abfd, amt); - if (sym_hash == NULL) - goto error_free_sym; - elf_sym_hashes (abfd) = sym_hash; - } - - if (dynamic) - { - /* Read in any version definitions. */ - if (! _bfd_elf_slurp_version_tables (abfd)) - goto error_free_sym; - - /* Read in the symbol versions, but don't bother to convert them - to internal format. */ - if (elf_dynversym (abfd) != 0) - { - Elf_Internal_Shdr *versymhdr; - - versymhdr = &elf_tdata (abfd)->dynversym_hdr; - extversym = bfd_malloc (versymhdr->sh_size); - if (extversym == NULL) - goto error_free_sym; - amt = versymhdr->sh_size; - if (bfd_seek (abfd, versymhdr->sh_offset, SEEK_SET) != 0 - || bfd_bread (extversym, amt, abfd) != amt) - goto error_free_vers; - } - } - - weaks = NULL; - - ever = extversym != NULL ? extversym + extsymoff : NULL; - for (isym = isymbuf, isymend = isymbuf + extsymcount; - isym < isymend; - isym++, sym_hash++, ever = (ever != NULL ? ever + 1 : NULL)) - { - int bind; - bfd_vma value; - asection *sec; - flagword flags; - const char *name; - struct elf_link_hash_entry *h; - bfd_boolean definition; - bfd_boolean size_change_ok; - bfd_boolean type_change_ok; - bfd_boolean new_weakdef; - bfd_boolean override; - unsigned int old_alignment; - bfd *old_bfd; - - override = FALSE; - - flags = BSF_NO_FLAGS; - sec = NULL; - value = isym->st_value; - *sym_hash = NULL; - - bind = ELF_ST_BIND (isym->st_info); - if (bind == STB_LOCAL) - { - /* This should be impossible, since ELF requires that all - global symbols follow all local symbols, and that sh_info - point to the first global symbol. Unfortunately, Irix 5 - screws this up. */ - continue; - } - else if (bind == STB_GLOBAL) - { - if (isym->st_shndx != SHN_UNDEF - && isym->st_shndx != SHN_COMMON) - flags = BSF_GLOBAL; - } - else if (bind == STB_WEAK) - flags = BSF_WEAK; - else - { - /* Leave it up to the processor backend. */ - } - - if (isym->st_shndx == SHN_UNDEF) - sec = bfd_und_section_ptr; - else if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE) - { - sec = section_from_elf_index (abfd, isym->st_shndx); - if (sec == NULL) - sec = bfd_abs_section_ptr; - else if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0) - value -= sec->vma; - } - else if (isym->st_shndx == SHN_ABS) - sec = bfd_abs_section_ptr; - else if (isym->st_shndx == SHN_COMMON) - { - sec = bfd_com_section_ptr; - /* What ELF calls the size we call the value. What ELF - calls the value we call the alignment. */ - value = isym->st_size; - } - else - { - /* Leave it up to the processor backend. */ - } - - name = bfd_elf_string_from_elf_section (abfd, hdr->sh_link, - isym->st_name); - if (name == NULL) - goto error_free_vers; - - if (isym->st_shndx == SHN_COMMON - && ELF_ST_TYPE (isym->st_info) == STT_TLS) - { - asection *tcomm = bfd_get_section_by_name (abfd, ".tcommon"); - - if (tcomm == NULL) - { - tcomm = bfd_make_section (abfd, ".tcommon"); - if (tcomm == NULL - || !bfd_set_section_flags (abfd, tcomm, (SEC_ALLOC - | SEC_IS_COMMON - | SEC_LINKER_CREATED - | SEC_THREAD_LOCAL))) - goto error_free_vers; - } - sec = tcomm; - } - else if (add_symbol_hook) - { - if (! (*add_symbol_hook) (abfd, info, isym, &name, &flags, &sec, - &value)) - goto error_free_vers; - - /* The hook function sets the name to NULL if this symbol - should be skipped for some reason. */ - if (name == NULL) - continue; - } - - /* Sanity check that all possibilities were handled. */ - if (sec == NULL) - { - bfd_set_error (bfd_error_bad_value); - goto error_free_vers; - } - - if (bfd_is_und_section (sec) - || bfd_is_com_section (sec)) - definition = FALSE; - else - definition = TRUE; - - size_change_ok = FALSE; - type_change_ok = get_elf_backend_data (abfd)->type_change_ok; - old_alignment = 0; - old_bfd = NULL; - - if (is_elf_hash_table (hash_table)) - { - Elf_Internal_Versym iver; - unsigned int vernum = 0; - bfd_boolean skip; - - if (ever != NULL) - { - _bfd_elf_swap_versym_in (abfd, ever, &iver); - vernum = iver.vs_vers & VERSYM_VERSION; - - /* If this is a hidden symbol, or if it is not version - 1, we append the version name to the symbol name. - However, we do not modify a non-hidden absolute - symbol, because it might be the version symbol - itself. FIXME: What if it isn't? */ - if ((iver.vs_vers & VERSYM_HIDDEN) != 0 - || (vernum > 1 && ! bfd_is_abs_section (sec))) - { - const char *verstr; - size_t namelen, verlen, newlen; - char *newname, *p; - - if (isym->st_shndx != SHN_UNDEF) - { - if (vernum > elf_tdata (abfd)->dynverdef_hdr.sh_info) - { - (*_bfd_error_handler) - (_("%s: %s: invalid version %u (max %d)"), - bfd_archive_filename (abfd), name, vernum, - elf_tdata (abfd)->dynverdef_hdr.sh_info); - bfd_set_error (bfd_error_bad_value); - goto error_free_vers; - } - else if (vernum > 1) - verstr = - elf_tdata (abfd)->verdef[vernum - 1].vd_nodename; - else - verstr = ""; - } - else - { - /* We cannot simply test for the number of - entries in the VERNEED section since the - numbers for the needed versions do not start - at 0. */ - Elf_Internal_Verneed *t; - - verstr = NULL; - for (t = elf_tdata (abfd)->verref; - t != NULL; - t = t->vn_nextref) - { - Elf_Internal_Vernaux *a; - - for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr) - { - if (a->vna_other == vernum) - { - verstr = a->vna_nodename; - break; - } - } - if (a != NULL) - break; - } - if (verstr == NULL) - { - (*_bfd_error_handler) - (_("%s: %s: invalid needed version %d"), - bfd_archive_filename (abfd), name, vernum); - bfd_set_error (bfd_error_bad_value); - goto error_free_vers; - } - } - - namelen = strlen (name); - verlen = strlen (verstr); - newlen = namelen + verlen + 2; - if ((iver.vs_vers & VERSYM_HIDDEN) == 0 - && isym->st_shndx != SHN_UNDEF) - ++newlen; - - newname = bfd_alloc (abfd, newlen); - if (newname == NULL) - goto error_free_vers; - memcpy (newname, name, namelen); - p = newname + namelen; - *p++ = ELF_VER_CHR; - /* If this is a defined non-hidden version symbol, - we add another @ to the name. This indicates the - default version of the symbol. */ - if ((iver.vs_vers & VERSYM_HIDDEN) == 0 - && isym->st_shndx != SHN_UNDEF) - *p++ = ELF_VER_CHR; - memcpy (p, verstr, verlen + 1); - - name = newname; - } - } - - if (!_bfd_elf_merge_symbol (abfd, info, name, isym, &sec, &value, - sym_hash, &skip, &override, - &type_change_ok, &size_change_ok, - dt_needed)) - goto error_free_vers; - - if (skip) - continue; - - if (override) - definition = FALSE; - - h = *sym_hash; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - /* Remember the old alignment if this is a common symbol, so - that we don't reduce the alignment later on. We can't - check later, because _bfd_generic_link_add_one_symbol - will set a default for the alignment which we want to - override. We also remember the old bfd where the existing - definition comes from. */ - switch (h->root.type) - { - default: - break; - - case bfd_link_hash_defined: - case bfd_link_hash_defweak: - old_bfd = h->root.u.def.section->owner; - break; - - case bfd_link_hash_common: - old_bfd = h->root.u.c.p->section->owner; - old_alignment = h->root.u.c.p->alignment_power; - break; - } - - if (elf_tdata (abfd)->verdef != NULL - && ! override - && vernum > 1 - && definition) - h->verinfo.verdef = &elf_tdata (abfd)->verdef[vernum - 1]; - } - - if (! (_bfd_generic_link_add_one_symbol - (info, abfd, name, flags, sec, value, NULL, FALSE, collect, - (struct bfd_link_hash_entry **) sym_hash))) - goto error_free_vers; - - h = *sym_hash; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - *sym_hash = h; - - new_weakdef = FALSE; - if (dynamic - && definition - && (flags & BSF_WEAK) != 0 - && ELF_ST_TYPE (isym->st_info) != STT_FUNC - && is_elf_hash_table (hash_table) - && h->weakdef == NULL) - { - /* Keep a list of all weak defined non function symbols from - a dynamic object, using the weakdef field. Later in this - function we will set the weakdef field to the correct - value. We only put non-function symbols from dynamic - objects on this list, because that happens to be the only - time we need to know the normal symbol corresponding to a - weak symbol, and the information is time consuming to - figure out. If the weakdef field is not already NULL, - then this symbol was already defined by some previous - dynamic object, and we will be using that previous - definition anyhow. */ - - h->weakdef = weaks; - weaks = h; - new_weakdef = TRUE; - } - - /* Set the alignment of a common symbol. */ - if (isym->st_shndx == SHN_COMMON - && h->root.type == bfd_link_hash_common) - { - unsigned int align; - - align = bfd_log2 (isym->st_value); - if (align > old_alignment - /* Permit an alignment power of zero if an alignment of one - is specified and no other alignments have been specified. */ - || (isym->st_value == 1 && old_alignment == 0)) - h->root.u.c.p->alignment_power = align; - else - h->root.u.c.p->alignment_power = old_alignment; - } - - if (is_elf_hash_table (hash_table)) - { - int old_flags; - bfd_boolean dynsym; - int new_flag; - - /* Check the alignment when a common symbol is involved. This - can change when a common symbol is overridden by a normal - definition or a common symbol is ignored due to the old - normal definition. We need to make sure the maximum - alignment is maintained. */ - if ((old_alignment || isym->st_shndx == SHN_COMMON) - && h->root.type != bfd_link_hash_common) - { - unsigned int common_align; - unsigned int normal_align; - unsigned int symbol_align; - bfd *normal_bfd; - bfd *common_bfd; - - symbol_align = ffs (h->root.u.def.value) - 1; - if (h->root.u.def.section->owner != NULL - && (h->root.u.def.section->owner->flags & DYNAMIC) == 0) - { - normal_align = h->root.u.def.section->alignment_power; - if (normal_align > symbol_align) - normal_align = symbol_align; - } - else - normal_align = symbol_align; - - if (old_alignment) - { - common_align = old_alignment; - common_bfd = old_bfd; - normal_bfd = abfd; - } - else - { - common_align = bfd_log2 (isym->st_value); - common_bfd = abfd; - normal_bfd = old_bfd; - } - - if (normal_align < common_align) - (*_bfd_error_handler) - (_("Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s"), - 1 << normal_align, - name, - bfd_archive_filename (normal_bfd), - 1 << common_align, - bfd_archive_filename (common_bfd)); - } - - /* Remember the symbol size and type. */ - if (isym->st_size != 0 - && (definition || h->size == 0)) - { - if (h->size != 0 && h->size != isym->st_size && ! size_change_ok) - (*_bfd_error_handler) - (_("Warning: size of symbol `%s' changed from %lu in %s to %lu in %s"), - name, (unsigned long) h->size, - bfd_archive_filename (old_bfd), - (unsigned long) isym->st_size, - bfd_archive_filename (abfd)); - - h->size = isym->st_size; - } - - /* If this is a common symbol, then we always want H->SIZE - to be the size of the common symbol. The code just above - won't fix the size if a common symbol becomes larger. We - don't warn about a size change here, because that is - covered by --warn-common. */ - if (h->root.type == bfd_link_hash_common) - h->size = h->root.u.c.size; - - if (ELF_ST_TYPE (isym->st_info) != STT_NOTYPE - && (definition || h->type == STT_NOTYPE)) - { - if (h->type != STT_NOTYPE - && h->type != ELF_ST_TYPE (isym->st_info) - && ! type_change_ok) - (*_bfd_error_handler) - (_("Warning: type of symbol `%s' changed from %d to %d in %s"), - name, h->type, ELF_ST_TYPE (isym->st_info), - bfd_archive_filename (abfd)); - - h->type = ELF_ST_TYPE (isym->st_info); - } - - /* If st_other has a processor-specific meaning, specific - code might be needed here. We never merge the visibility - attribute with the one from a dynamic object. */ - if (bed->elf_backend_merge_symbol_attribute) - (*bed->elf_backend_merge_symbol_attribute) (h, isym, definition, - dynamic); - - if (isym->st_other != 0 && !dynamic) - { - unsigned char hvis, symvis, other, nvis; - - /* Take the balance of OTHER from the definition. */ - other = (definition ? isym->st_other : h->other); - other &= ~ ELF_ST_VISIBILITY (-1); - - /* Combine visibilities, using the most constraining one. */ - hvis = ELF_ST_VISIBILITY (h->other); - symvis = ELF_ST_VISIBILITY (isym->st_other); - if (! hvis) - nvis = symvis; - else if (! symvis) - nvis = hvis; - else - nvis = hvis < symvis ? hvis : symvis; - - h->other = other | nvis; - } - - /* Set a flag in the hash table entry indicating the type of - reference or definition we just found. Keep a count of - the number of dynamic symbols we find. A dynamic symbol - is one which is referenced or defined by both a regular - object and a shared object. */ - old_flags = h->elf_link_hash_flags; - dynsym = FALSE; - if (! dynamic) - { - if (! definition) - { - new_flag = ELF_LINK_HASH_REF_REGULAR; - if (bind != STB_WEAK) - new_flag |= ELF_LINK_HASH_REF_REGULAR_NONWEAK; - } - else - new_flag = ELF_LINK_HASH_DEF_REGULAR; - if (! info->executable - || (old_flags & (ELF_LINK_HASH_DEF_DYNAMIC - | ELF_LINK_HASH_REF_DYNAMIC)) != 0) - dynsym = TRUE; - } - else - { - if (! definition) - new_flag = ELF_LINK_HASH_REF_DYNAMIC; - else - new_flag = ELF_LINK_HASH_DEF_DYNAMIC; - if ((old_flags & (ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR)) != 0 - || (h->weakdef != NULL - && ! new_weakdef - && h->weakdef->dynindx != -1)) - dynsym = TRUE; - } - - h->elf_link_hash_flags |= new_flag; - - /* Check to see if we need to add an indirect symbol for - the default name. */ - if (definition || h->root.type == bfd_link_hash_common) - if (!_bfd_elf_add_default_symbol (abfd, info, h, name, isym, - &sec, &value, &dynsym, - override, dt_needed)) - goto error_free_vers; - - if (definition && !dynamic) - { - char *p = strchr (name, ELF_VER_CHR); - if (p != NULL && p[1] != ELF_VER_CHR) - { - /* Queue non-default versions so that .symver x, x@FOO - aliases can be checked. */ - if (! nondeflt_vers) - { - amt = (isymend - isym + 1) - * sizeof (struct elf_link_hash_entry *); - nondeflt_vers = bfd_malloc (amt); - } - nondeflt_vers [nondeflt_vers_cnt++] = h; - } - } - - if (dynsym && h->dynindx == -1) - { - if (! _bfd_elf_link_record_dynamic_symbol (info, h)) - goto error_free_vers; - if (h->weakdef != NULL - && ! new_weakdef - && h->weakdef->dynindx == -1) - { - if (! _bfd_elf_link_record_dynamic_symbol (info, h->weakdef)) - goto error_free_vers; - } - } - else if (dynsym && h->dynindx != -1) - /* If the symbol already has a dynamic index, but - visibility says it should not be visible, turn it into - a local symbol. */ - switch (ELF_ST_VISIBILITY (h->other)) - { - case STV_INTERNAL: - case STV_HIDDEN: - (*bed->elf_backend_hide_symbol) (info, h, TRUE); - break; - } - - if (dt_needed && definition - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0) - { - bfd_size_type oldsize; - bfd_size_type strindex; - - /* The symbol from a DT_NEEDED object is referenced from - the regular object to create a dynamic executable. We - have to make sure there is a DT_NEEDED entry for it. */ - - dt_needed = FALSE; - oldsize = _bfd_elf_strtab_size (hash_table->dynstr); - strindex = _bfd_elf_strtab_add (hash_table->dynstr, - elf_dt_soname (abfd), FALSE); - if (strindex == (bfd_size_type) -1) - goto error_free_vers; - - if (oldsize == _bfd_elf_strtab_size (hash_table->dynstr)) - { - asection *sdyn; - Elf_External_Dyn *dyncon, *dynconend; - - sdyn = bfd_get_section_by_name (hash_table->dynobj, - ".dynamic"); - BFD_ASSERT (sdyn != NULL); - - dyncon = (Elf_External_Dyn *) sdyn->contents; - dynconend = (Elf_External_Dyn *) (sdyn->contents + - sdyn->_raw_size); - for (; dyncon < dynconend; dyncon++) - { - Elf_Internal_Dyn dyn; - - elf_swap_dyn_in (hash_table->dynobj, - dyncon, &dyn); - BFD_ASSERT (dyn.d_tag != DT_NEEDED || - dyn.d_un.d_val != strindex); - } - } - - if (! elf_add_dynamic_entry (info, DT_NEEDED, strindex)) - goto error_free_vers; - } - } - } - - /* Now that all the symbols from this input file are created, handle - .symver foo, foo@BAR such that any relocs against foo become foo@BAR. */ - if (nondeflt_vers != NULL) - { - bfd_size_type cnt, symidx; - - for (cnt = 0; cnt < nondeflt_vers_cnt; ++cnt) - { - struct elf_link_hash_entry *h = nondeflt_vers[cnt], *hi; - char *shortname, *p; - - p = strchr (h->root.root.string, ELF_VER_CHR); - if (p == NULL - || (h->root.type != bfd_link_hash_defined - && h->root.type != bfd_link_hash_defweak)) - continue; - - amt = p - h->root.root.string; - shortname = bfd_malloc (amt + 1); - memcpy (shortname, h->root.root.string, amt); - shortname[amt] = '\0'; - - hi = (struct elf_link_hash_entry *) - bfd_link_hash_lookup (&hash_table->root, shortname, - FALSE, FALSE, FALSE); - if (hi != NULL - && hi->root.type == h->root.type - && hi->root.u.def.value == h->root.u.def.value - && hi->root.u.def.section == h->root.u.def.section) - { - (*bed->elf_backend_hide_symbol) (info, hi, TRUE); - hi->root.type = bfd_link_hash_indirect; - hi->root.u.i.link = (struct bfd_link_hash_entry *) h; - (*bed->elf_backend_copy_indirect_symbol) (bed, h, hi); - sym_hash = elf_sym_hashes (abfd); - if (sym_hash) - for (symidx = 0; symidx < extsymcount; ++symidx) - if (sym_hash[symidx] == hi) - { - sym_hash[symidx] = h; - break; - } - } - free (shortname); - } - free (nondeflt_vers); - nondeflt_vers = NULL; - } - - if (extversym != NULL) - { - free (extversym); - extversym = NULL; - } - - if (isymbuf != NULL) - free (isymbuf); - isymbuf = NULL; - - /* Now set the weakdefs field correctly for all the weak defined - symbols we found. The only way to do this is to search all the - symbols. Since we only need the information for non functions in - dynamic objects, that's the only time we actually put anything on - the list WEAKS. We need this information so that if a regular - object refers to a symbol defined weakly in a dynamic object, the - real symbol in the dynamic object is also put in the dynamic - symbols; we also must arrange for both symbols to point to the - same memory location. We could handle the general case of symbol - aliasing, but a general symbol alias can only be generated in - assembler code, handling it correctly would be very time - consuming, and other ELF linkers don't handle general aliasing - either. */ - if (weaks != NULL) - { - struct elf_link_hash_entry **hpp; - struct elf_link_hash_entry **hppend; - struct elf_link_hash_entry **sorted_sym_hash; - struct elf_link_hash_entry *h; - size_t sym_count; - - /* Since we have to search the whole symbol list for each weak - defined symbol, search time for N weak defined symbols will be - O(N^2). Binary search will cut it down to O(NlogN). */ - amt = extsymcount * sizeof (struct elf_link_hash_entry *); - sorted_sym_hash = bfd_malloc (amt); - if (sorted_sym_hash == NULL) - goto error_return; - sym_hash = sorted_sym_hash; - hpp = elf_sym_hashes (abfd); - hppend = hpp + extsymcount; - sym_count = 0; - for (; hpp < hppend; hpp++) - { - h = *hpp; - if (h != NULL - && h->root.type == bfd_link_hash_defined - && h->type != STT_FUNC) - { - *sym_hash = h; - sym_hash++; - sym_count++; - } - } - - qsort (sorted_sym_hash, sym_count, - sizeof (struct elf_link_hash_entry *), - sort_symbol); - - while (weaks != NULL) - { - struct elf_link_hash_entry *hlook; - asection *slook; - bfd_vma vlook; - long ilook; - size_t i, j, idx; - - hlook = weaks; - weaks = hlook->weakdef; - hlook->weakdef = NULL; - - BFD_ASSERT (hlook->root.type == bfd_link_hash_defined - || hlook->root.type == bfd_link_hash_defweak - || hlook->root.type == bfd_link_hash_common - || hlook->root.type == bfd_link_hash_indirect); - slook = hlook->root.u.def.section; - vlook = hlook->root.u.def.value; - - ilook = -1; - i = 0; - j = sym_count; - while (i < j) - { - bfd_signed_vma vdiff; - idx = (i + j) / 2; - h = sorted_sym_hash [idx]; - vdiff = vlook - h->root.u.def.value; - if (vdiff < 0) - j = idx; - else if (vdiff > 0) - i = idx + 1; - else - { - long sdiff = slook - h->root.u.def.section; - if (sdiff < 0) - j = idx; - else if (sdiff > 0) - i = idx + 1; - else - { - ilook = idx; - break; - } - } - } - - /* We didn't find a value/section match. */ - if (ilook == -1) - continue; - - for (i = ilook; i < sym_count; i++) - { - h = sorted_sym_hash [i]; - - /* Stop if value or section doesn't match. */ - if (h->root.u.def.value != vlook - || h->root.u.def.section != slook) - break; - else if (h != hlook) - { - hlook->weakdef = h; - - /* If the weak definition is in the list of dynamic - symbols, make sure the real definition is put - there as well. */ - if (hlook->dynindx != -1 && h->dynindx == -1) - { - if (! _bfd_elf_link_record_dynamic_symbol (info, - h)) - goto error_return; - } - - /* If the real definition is in the list of dynamic - symbols, make sure the weak definition is put - there as well. If we don't do this, then the - dynamic loader might not merge the entries for the - real definition and the weak definition. */ - if (h->dynindx != -1 && hlook->dynindx == -1) - { - if (! _bfd_elf_link_record_dynamic_symbol (info, - hlook)) - goto error_return; - } - break; - } - } - } - - free (sorted_sym_hash); - } - - /* If this object is the same format as the output object, and it is - not a shared library, then let the backend look through the - relocs. - - This is required to build global offset table entries and to - arrange for dynamic relocs. It is not required for the - particular common case of linking non PIC code, even when linking - against shared libraries, but unfortunately there is no way of - knowing whether an object file has been compiled PIC or not. - Looking through the relocs is not particularly time consuming. - The problem is that we must either (1) keep the relocs in memory, - which causes the linker to require additional runtime memory or - (2) read the relocs twice from the input file, which wastes time. - This would be a good case for using mmap. - - I have no idea how to handle linking PIC code into a file of a - different format. It probably can't be done. */ - check_relocs = get_elf_backend_data (abfd)->check_relocs; - if (! dynamic - && is_elf_hash_table (hash_table) - && hash_table->root.creator == abfd->xvec - && check_relocs != NULL) - { - asection *o; - - for (o = abfd->sections; o != NULL; o = o->next) - { - Elf_Internal_Rela *internal_relocs; - bfd_boolean ok; - - if ((o->flags & SEC_RELOC) == 0 - || o->reloc_count == 0 - || ((info->strip == strip_all || info->strip == strip_debugger) - && (o->flags & SEC_DEBUGGING) != 0) - || bfd_is_abs_section (o->output_section)) - continue; - - internal_relocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL, - info->keep_memory); - if (internal_relocs == NULL) - goto error_return; - - ok = (*check_relocs) (abfd, info, o, internal_relocs); - - if (elf_section_data (o)->relocs != internal_relocs) - free (internal_relocs); - - if (! ok) - goto error_return; - } - } - - /* If this is a non-traditional link, try to optimize the handling - of the .stab/.stabstr sections. */ - if (! dynamic - && ! info->traditional_format - && is_elf_hash_table (hash_table) - && (info->strip != strip_all && info->strip != strip_debugger)) - { - asection *stabstr; - - stabstr = bfd_get_section_by_name (abfd, ".stabstr"); - if (stabstr != NULL) - { - bfd_size_type string_offset = 0; - asection *stab; - - for (stab = abfd->sections; stab; stab = stab->next) - if (strncmp (".stab", stab->name, 5) == 0 - && (!stab->name[5] || - (stab->name[5] == '.' && ISDIGIT (stab->name[6]))) - && (stab->flags & SEC_MERGE) == 0 - && !bfd_is_abs_section (stab->output_section)) - { - struct bfd_elf_section_data *secdata; - - secdata = elf_section_data (stab); - if (! _bfd_link_section_stabs (abfd, - & hash_table->stab_info, - stab, stabstr, - &secdata->sec_info, - &string_offset)) - goto error_return; - if (secdata->sec_info) - stab->sec_info_type = ELF_INFO_TYPE_STABS; - } - } - } - - if (! info->relocatable - && ! dynamic - && is_elf_hash_table (hash_table)) - { - asection *s; - - for (s = abfd->sections; s != NULL; s = s->next) - if ((s->flags & SEC_MERGE) != 0 - && !bfd_is_abs_section (s->output_section)) - { - struct bfd_elf_section_data *secdata; - - secdata = elf_section_data (s); - if (! _bfd_merge_section (abfd, - & hash_table->merge_info, - s, &secdata->sec_info)) - goto error_return; - else if (secdata->sec_info) - s->sec_info_type = ELF_INFO_TYPE_MERGE; - } - } - - if (is_elf_hash_table (hash_table)) - { - /* Add this bfd to the loaded list. */ - struct elf_link_loaded_list *n; - - n = bfd_alloc (abfd, sizeof (struct elf_link_loaded_list)); - if (n == NULL) - goto error_return; - n->abfd = abfd; - n->next = hash_table->loaded; - hash_table->loaded = n; - } - - return TRUE; - - error_free_vers: - if (nondeflt_vers != NULL) - free (nondeflt_vers); - if (extversym != NULL) - free (extversym); - error_free_sym: - if (isymbuf != NULL) - free (isymbuf); - error_return: - return FALSE; -} - -/* Add an entry to the .dynamic table. */ - -bfd_boolean -elf_add_dynamic_entry (struct bfd_link_info *info, bfd_vma tag, bfd_vma val) -{ - Elf_Internal_Dyn dyn; - bfd *dynobj; - asection *s; - bfd_size_type newsize; - bfd_byte *newcontents; - - if (! is_elf_hash_table (info->hash)) - return FALSE; - - dynobj = elf_hash_table (info)->dynobj; - - s = bfd_get_section_by_name (dynobj, ".dynamic"); - BFD_ASSERT (s != NULL); - - newsize = s->_raw_size + sizeof (Elf_External_Dyn); - newcontents = bfd_realloc (s->contents, newsize); - if (newcontents == NULL) - return FALSE; - - dyn.d_tag = tag; - dyn.d_un.d_val = val; - elf_swap_dyn_out (dynobj, &dyn, - (Elf_External_Dyn *) (newcontents + s->_raw_size)); - - s->_raw_size = newsize; - s->contents = newcontents; - - return TRUE; -} - -/* Array used to determine the number of hash table buckets to use - based on the number of symbols there are. If there are fewer than - 3 symbols we use 1 bucket, fewer than 17 symbols we use 3 buckets, - fewer than 37 we use 17 buckets, and so forth. We never use more - than 32771 buckets. */ - -static const size_t elf_buckets[] = -{ - 1, 3, 17, 37, 67, 97, 131, 197, 263, 521, 1031, 2053, 4099, 8209, - 16411, 32771, 0 -}; - -/* Compute bucket count for hashing table. We do not use a static set - of possible tables sizes anymore. Instead we determine for all - possible reasonable sizes of the table the outcome (i.e., the - number of collisions etc) and choose the best solution. The - weighting functions are not too simple to allow the table to grow - without bounds. Instead one of the weighting factors is the size. - Therefore the result is always a good payoff between few collisions - (= short chain lengths) and table size. */ -static size_t -compute_bucket_count (struct bfd_link_info *info) -{ - size_t dynsymcount = elf_hash_table (info)->dynsymcount; - size_t best_size = 0; - unsigned long int *hashcodes; - unsigned long int *hashcodesp; - unsigned long int i; - bfd_size_type amt; - - /* Compute the hash values for all exported symbols. At the same - time store the values in an array so that we could use them for - optimizations. */ - amt = dynsymcount; - amt *= sizeof (unsigned long int); - hashcodes = bfd_malloc (amt); - if (hashcodes == NULL) - return 0; - hashcodesp = hashcodes; - - /* Put all hash values in HASHCODES. */ - elf_link_hash_traverse (elf_hash_table (info), - elf_collect_hash_codes, &hashcodesp); - - /* We have a problem here. The following code to optimize the table - size requires an integer type with more the 32 bits. If - BFD_HOST_U_64_BIT is set we know about such a type. */ -#ifdef BFD_HOST_U_64_BIT - if (info->optimize) - { - unsigned long int nsyms = hashcodesp - hashcodes; - size_t minsize; - size_t maxsize; - BFD_HOST_U_64_BIT best_chlen = ~((BFD_HOST_U_64_BIT) 0); - unsigned long int *counts ; - - /* Possible optimization parameters: if we have NSYMS symbols we say - that the hashing table must at least have NSYMS/4 and at most - 2*NSYMS buckets. */ - minsize = nsyms / 4; - if (minsize == 0) - minsize = 1; - best_size = maxsize = nsyms * 2; - - /* Create array where we count the collisions in. We must use bfd_malloc - since the size could be large. */ - amt = maxsize; - amt *= sizeof (unsigned long int); - counts = bfd_malloc (amt); - if (counts == NULL) - { - free (hashcodes); - return 0; - } - - /* Compute the "optimal" size for the hash table. The criteria is a - minimal chain length. The minor criteria is (of course) the size - of the table. */ - for (i = minsize; i < maxsize; ++i) - { - /* Walk through the array of hashcodes and count the collisions. */ - BFD_HOST_U_64_BIT max; - unsigned long int j; - unsigned long int fact; - - memset (counts, '\0', i * sizeof (unsigned long int)); - - /* Determine how often each hash bucket is used. */ - for (j = 0; j < nsyms; ++j) - ++counts[hashcodes[j] % i]; - - /* For the weight function we need some information about the - pagesize on the target. This is information need not be 100% - accurate. Since this information is not available (so far) we - define it here to a reasonable default value. If it is crucial - to have a better value some day simply define this value. */ -# ifndef BFD_TARGET_PAGESIZE -# define BFD_TARGET_PAGESIZE (4096) -# endif - - /* We in any case need 2 + NSYMS entries for the size values and - the chains. */ - max = (2 + nsyms) * (ARCH_SIZE / 8); - -# if 1 - /* Variant 1: optimize for short chains. We add the squares - of all the chain lengths (which favors many small chain - over a few long chains). */ - for (j = 0; j < i; ++j) - max += counts[j] * counts[j]; - - /* This adds penalties for the overall size of the table. */ - fact = i / (BFD_TARGET_PAGESIZE / (ARCH_SIZE / 8)) + 1; - max *= fact * fact; -# else - /* Variant 2: Optimize a lot more for small table. Here we - also add squares of the size but we also add penalties for - empty slots (the +1 term). */ - for (j = 0; j < i; ++j) - max += (1 + counts[j]) * (1 + counts[j]); - - /* The overall size of the table is considered, but not as - strong as in variant 1, where it is squared. */ - fact = i / (BFD_TARGET_PAGESIZE / (ARCH_SIZE / 8)) + 1; - max *= fact; -# endif - - /* Compare with current best results. */ - if (max < best_chlen) - { - best_chlen = max; - best_size = i; - } - } - - free (counts); - } - else -#endif /* defined (BFD_HOST_U_64_BIT) */ - { - /* This is the fallback solution if no 64bit type is available or if we - are not supposed to spend much time on optimizations. We select the - bucket count using a fixed set of numbers. */ - for (i = 0; elf_buckets[i] != 0; i++) - { - best_size = elf_buckets[i]; - if (dynsymcount < elf_buckets[i + 1]) - break; - } - } - - /* Free the arrays we needed. */ - free (hashcodes); - - return best_size; -} - -/* Set up the sizes and contents of the ELF dynamic sections. This is - called by the ELF linker emulation before_allocation routine. We - must set the sizes of the sections before the linker sets the - addresses of the various sections. */ - -bfd_boolean -NAME(bfd_elf,size_dynamic_sections) (bfd *output_bfd, - const char *soname, - const char *rpath, - const char *filter_shlib, - const char * const *auxiliary_filters, - struct bfd_link_info *info, - asection **sinterpptr, - struct bfd_elf_version_tree *verdefs) -{ - bfd_size_type soname_indx; - bfd *dynobj; - const struct elf_backend_data *bed; - struct elf_assign_sym_version_info asvinfo; - - *sinterpptr = NULL; - - soname_indx = (bfd_size_type) -1; - - if (!is_elf_hash_table (info->hash)) - return TRUE; - - if (info->execstack) - elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; - else if (info->noexecstack) - elf_tdata (output_bfd)->stack_flags = PF_R | PF_W; - else - { - bfd *inputobj; - asection *notesec = NULL; - int exec = 0; - - for (inputobj = info->input_bfds; - inputobj; - inputobj = inputobj->link_next) - { - asection *s; - - if (inputobj->flags & DYNAMIC) - continue; - s = bfd_get_section_by_name (inputobj, ".note.GNU-stack"); - if (s) - { - if (s->flags & SEC_CODE) - exec = PF_X; - notesec = s; - } - else - exec = PF_X; - } - if (notesec) - { - elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | exec; - if (exec && info->relocatable - && notesec->output_section != bfd_abs_section_ptr) - notesec->output_section->flags |= SEC_CODE; - } - } - - /* Any syms created from now on start with -1 in - got.refcount/offset and plt.refcount/offset. */ - elf_hash_table (info)->init_refcount = elf_hash_table (info)->init_offset; - - /* The backend may have to create some sections regardless of whether - we're dynamic or not. */ - bed = get_elf_backend_data (output_bfd); - if (bed->elf_backend_always_size_sections - && ! (*bed->elf_backend_always_size_sections) (output_bfd, info)) - return FALSE; - - dynobj = elf_hash_table (info)->dynobj; - - /* If there were no dynamic objects in the link, there is nothing to - do here. */ - if (dynobj == NULL) - return TRUE; - - if (! _bfd_elf_maybe_strip_eh_frame_hdr (info)) - return FALSE; - - if (elf_hash_table (info)->dynamic_sections_created) - { - struct elf_info_failed eif; - struct elf_link_hash_entry *h; - asection *dynstr; - struct bfd_elf_version_tree *t; - struct bfd_elf_version_expr *d; - bfd_boolean all_defined; - - *sinterpptr = bfd_get_section_by_name (dynobj, ".interp"); - BFD_ASSERT (*sinterpptr != NULL || !info->executable); - - if (soname != NULL) - { - soname_indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, - soname, TRUE); - if (soname_indx == (bfd_size_type) -1 - || ! elf_add_dynamic_entry (info, DT_SONAME, soname_indx)) - return FALSE; - } - - if (info->symbolic) - { - if (! elf_add_dynamic_entry (info, DT_SYMBOLIC, 0)) - return FALSE; - info->flags |= DF_SYMBOLIC; - } - - if (rpath != NULL) - { - bfd_size_type indx; - - indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, rpath, - TRUE); - if (info->new_dtags) - _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, indx); - if (indx == (bfd_size_type) -1 - || ! elf_add_dynamic_entry (info, DT_RPATH, indx) - || (info->new_dtags - && ! elf_add_dynamic_entry (info, DT_RUNPATH, indx))) - return FALSE; - } - - if (filter_shlib != NULL) - { - bfd_size_type indx; - - indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, - filter_shlib, TRUE); - if (indx == (bfd_size_type) -1 - || ! elf_add_dynamic_entry (info, DT_FILTER, indx)) - return FALSE; - } - - if (auxiliary_filters != NULL) - { - const char * const *p; - - for (p = auxiliary_filters; *p != NULL; p++) - { - bfd_size_type indx; - - indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, - *p, TRUE); - if (indx == (bfd_size_type) -1 - || ! elf_add_dynamic_entry (info, DT_AUXILIARY, indx)) - return FALSE; - } - } - - eif.info = info; - eif.verdefs = verdefs; - eif.failed = FALSE; - - /* If we are supposed to export all symbols into the dynamic symbol - table (this is not the normal case), then do so. */ - if (info->export_dynamic) - { - elf_link_hash_traverse (elf_hash_table (info), - _bfd_elf_export_symbol, - &eif); - if (eif.failed) - return FALSE; - } - - /* Make all global versions with definition. */ - for (t = verdefs; t != NULL; t = t->next) - for (d = t->globals.list; d != NULL; d = d->next) - if (!d->symver && d->symbol) - { - const char *verstr, *name; - size_t namelen, verlen, newlen; - char *newname, *p; - struct elf_link_hash_entry *newh; - - name = d->symbol; - namelen = strlen (name); - verstr = t->name; - verlen = strlen (verstr); - newlen = namelen + verlen + 3; - - newname = bfd_malloc (newlen); - if (newname == NULL) - return FALSE; - memcpy (newname, name, namelen); - - /* Check the hidden versioned definition. */ - p = newname + namelen; - *p++ = ELF_VER_CHR; - memcpy (p, verstr, verlen + 1); - newh = elf_link_hash_lookup (elf_hash_table (info), - newname, FALSE, FALSE, - FALSE); - if (newh == NULL - || (newh->root.type != bfd_link_hash_defined - && newh->root.type != bfd_link_hash_defweak)) - { - /* Check the default versioned definition. */ - *p++ = ELF_VER_CHR; - memcpy (p, verstr, verlen + 1); - newh = elf_link_hash_lookup (elf_hash_table (info), - newname, FALSE, FALSE, - FALSE); - } - free (newname); - - /* Mark this version if there is a definition and it is - not defined in a shared object. */ - if (newh != NULL - && ((newh->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) == 0) - && (newh->root.type == bfd_link_hash_defined - || newh->root.type == bfd_link_hash_defweak)) - d->symver = 1; - } - - /* Attach all the symbols to their version information. */ - asvinfo.output_bfd = output_bfd; - asvinfo.info = info; - asvinfo.verdefs = verdefs; - asvinfo.failed = FALSE; - - elf_link_hash_traverse (elf_hash_table (info), - _bfd_elf_link_assign_sym_version, - &asvinfo); - if (asvinfo.failed) - return FALSE; - - if (!info->allow_undefined_version) - { - /* Check if all global versions have a definition. */ - all_defined = TRUE; - for (t = verdefs; t != NULL; t = t->next) - for (d = t->globals.list; d != NULL; d = d->next) - if (!d->symver && !d->script) - { - (*_bfd_error_handler) - (_("%s: undefined version: %s"), - d->pattern, t->name); - all_defined = FALSE; - } - - if (!all_defined) - { - bfd_set_error (bfd_error_bad_value); - return FALSE; - } - } - - /* Find all symbols which were defined in a dynamic object and make - the backend pick a reasonable value for them. */ - elf_link_hash_traverse (elf_hash_table (info), - _bfd_elf_adjust_dynamic_symbol, - &eif); - if (eif.failed) - return FALSE; - - /* Add some entries to the .dynamic section. We fill in some of the - values later, in elf_bfd_final_link, but we must add the entries - now so that we know the final size of the .dynamic section. */ - - /* If there are initialization and/or finalization functions to - call then add the corresponding DT_INIT/DT_FINI entries. */ - h = (info->init_function - ? elf_link_hash_lookup (elf_hash_table (info), - info->init_function, FALSE, - FALSE, FALSE) - : NULL); - if (h != NULL - && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR)) != 0) - { - if (! elf_add_dynamic_entry (info, DT_INIT, 0)) - return FALSE; - } - h = (info->fini_function - ? elf_link_hash_lookup (elf_hash_table (info), - info->fini_function, FALSE, - FALSE, FALSE) - : NULL); - if (h != NULL - && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR)) != 0) - { - if (! elf_add_dynamic_entry (info, DT_FINI, 0)) - return FALSE; - } - - if (bfd_get_section_by_name (output_bfd, ".preinit_array") != NULL) - { - /* DT_PREINIT_ARRAY is not allowed in shared library. */ - if (! info->executable) - { - bfd *sub; - asection *o; - - for (sub = info->input_bfds; sub != NULL; - sub = sub->link_next) - for (o = sub->sections; o != NULL; o = o->next) - if (elf_section_data (o)->this_hdr.sh_type - == SHT_PREINIT_ARRAY) - { - (*_bfd_error_handler) - (_("%s: .preinit_array section is not allowed in DSO"), - bfd_archive_filename (sub)); - break; - } - - bfd_set_error (bfd_error_nonrepresentable_section); - return FALSE; - } - - if (!elf_add_dynamic_entry (info, DT_PREINIT_ARRAY, 0) - || !elf_add_dynamic_entry (info, DT_PREINIT_ARRAYSZ, 0)) - return FALSE; - } - if (bfd_get_section_by_name (output_bfd, ".init_array") != NULL) - { - if (!elf_add_dynamic_entry (info, DT_INIT_ARRAY, 0) - || !elf_add_dynamic_entry (info, DT_INIT_ARRAYSZ, 0)) - return FALSE; - } - if (bfd_get_section_by_name (output_bfd, ".fini_array") != NULL) - { - if (!elf_add_dynamic_entry (info, DT_FINI_ARRAY, 0) - || !elf_add_dynamic_entry (info, DT_FINI_ARRAYSZ, 0)) - return FALSE; - } - - dynstr = bfd_get_section_by_name (dynobj, ".dynstr"); - /* If .dynstr is excluded from the link, we don't want any of - these tags. Strictly, we should be checking each section - individually; This quick check covers for the case where - someone does a /DISCARD/ : { *(*) }. */ - if (dynstr != NULL && dynstr->output_section != bfd_abs_section_ptr) - { - bfd_size_type strsize; - - strsize = _bfd_elf_strtab_size (elf_hash_table (info)->dynstr); - if (! elf_add_dynamic_entry (info, DT_HASH, 0) - || ! elf_add_dynamic_entry (info, DT_STRTAB, 0) - || ! elf_add_dynamic_entry (info, DT_SYMTAB, 0) - || ! elf_add_dynamic_entry (info, DT_STRSZ, strsize) - || ! elf_add_dynamic_entry (info, DT_SYMENT, - sizeof (Elf_External_Sym))) - return FALSE; - } - } - - /* The backend must work out the sizes of all the other dynamic - sections. */ - if (bed->elf_backend_size_dynamic_sections - && ! (*bed->elf_backend_size_dynamic_sections) (output_bfd, info)) - return FALSE; - - if (elf_hash_table (info)->dynamic_sections_created) - { - bfd_size_type dynsymcount; - asection *s; - size_t bucketcount = 0; - size_t hash_entry_size; - unsigned int dtagcount; - - /* Set up the version definition section. */ - s = bfd_get_section_by_name (dynobj, ".gnu.version_d"); - BFD_ASSERT (s != NULL); - - /* We may have created additional version definitions if we are - just linking a regular application. */ - verdefs = asvinfo.verdefs; - - /* Skip anonymous version tag. */ - if (verdefs != NULL && verdefs->vernum == 0) - verdefs = verdefs->next; - - if (verdefs == NULL) - _bfd_strip_section_from_output (info, s); - else - { - unsigned int cdefs; - bfd_size_type size; - struct bfd_elf_version_tree *t; - bfd_byte *p; - Elf_Internal_Verdef def; - Elf_Internal_Verdaux defaux; - - cdefs = 0; - size = 0; - - /* Make space for the base version. */ - size += sizeof (Elf_External_Verdef); - size += sizeof (Elf_External_Verdaux); - ++cdefs; - - for (t = verdefs; t != NULL; t = t->next) - { - struct bfd_elf_version_deps *n; - - size += sizeof (Elf_External_Verdef); - size += sizeof (Elf_External_Verdaux); - ++cdefs; - - for (n = t->deps; n != NULL; n = n->next) - size += sizeof (Elf_External_Verdaux); - } - - s->_raw_size = size; - s->contents = bfd_alloc (output_bfd, s->_raw_size); - if (s->contents == NULL && s->_raw_size != 0) - return FALSE; - - /* Fill in the version definition section. */ - - p = s->contents; - - def.vd_version = VER_DEF_CURRENT; - def.vd_flags = VER_FLG_BASE; - def.vd_ndx = 1; - def.vd_cnt = 1; - def.vd_aux = sizeof (Elf_External_Verdef); - def.vd_next = (sizeof (Elf_External_Verdef) - + sizeof (Elf_External_Verdaux)); - - if (soname_indx != (bfd_size_type) -1) - { - _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, - soname_indx); - def.vd_hash = bfd_elf_hash (soname); - defaux.vda_name = soname_indx; - } - else - { - const char *name; - bfd_size_type indx; - - name = basename (output_bfd->filename); - def.vd_hash = bfd_elf_hash (name); - indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, - name, FALSE); - if (indx == (bfd_size_type) -1) - return FALSE; - defaux.vda_name = indx; - } - defaux.vda_next = 0; - - _bfd_elf_swap_verdef_out (output_bfd, &def, - (Elf_External_Verdef *) p); - p += sizeof (Elf_External_Verdef); - _bfd_elf_swap_verdaux_out (output_bfd, &defaux, - (Elf_External_Verdaux *) p); - p += sizeof (Elf_External_Verdaux); - - for (t = verdefs; t != NULL; t = t->next) - { - unsigned int cdeps; - struct bfd_elf_version_deps *n; - struct elf_link_hash_entry *h; - struct bfd_link_hash_entry *bh; - - cdeps = 0; - for (n = t->deps; n != NULL; n = n->next) - ++cdeps; - - /* Add a symbol representing this version. */ - bh = NULL; - if (! (_bfd_generic_link_add_one_symbol - (info, dynobj, t->name, BSF_GLOBAL, bfd_abs_section_ptr, - 0, NULL, FALSE, - get_elf_backend_data (dynobj)->collect, &bh))) - return FALSE; - h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; - h->type = STT_OBJECT; - h->verinfo.vertree = t; - - if (! _bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; - - def.vd_version = VER_DEF_CURRENT; - def.vd_flags = 0; - if (t->globals.list == NULL && t->locals.list == NULL && ! t->used) - def.vd_flags |= VER_FLG_WEAK; - def.vd_ndx = t->vernum + 1; - def.vd_cnt = cdeps + 1; - def.vd_hash = bfd_elf_hash (t->name); - def.vd_aux = sizeof (Elf_External_Verdef); - if (t->next != NULL) - def.vd_next = (sizeof (Elf_External_Verdef) - + (cdeps + 1) * sizeof (Elf_External_Verdaux)); - else - def.vd_next = 0; - - _bfd_elf_swap_verdef_out (output_bfd, &def, - (Elf_External_Verdef *) p); - p += sizeof (Elf_External_Verdef); - - defaux.vda_name = h->dynstr_index; - _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, - h->dynstr_index); - if (t->deps == NULL) - defaux.vda_next = 0; - else - defaux.vda_next = sizeof (Elf_External_Verdaux); - t->name_indx = defaux.vda_name; - - _bfd_elf_swap_verdaux_out (output_bfd, &defaux, - (Elf_External_Verdaux *) p); - p += sizeof (Elf_External_Verdaux); - - for (n = t->deps; n != NULL; n = n->next) - { - if (n->version_needed == NULL) - { - /* This can happen if there was an error in the - version script. */ - defaux.vda_name = 0; - } - else - { - defaux.vda_name = n->version_needed->name_indx; - _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, - defaux.vda_name); - } - if (n->next == NULL) - defaux.vda_next = 0; - else - defaux.vda_next = sizeof (Elf_External_Verdaux); - - _bfd_elf_swap_verdaux_out (output_bfd, &defaux, - (Elf_External_Verdaux *) p); - p += sizeof (Elf_External_Verdaux); - } - } - - if (! elf_add_dynamic_entry (info, DT_VERDEF, 0) - || ! elf_add_dynamic_entry (info, DT_VERDEFNUM, cdefs)) - return FALSE; - - elf_tdata (output_bfd)->cverdefs = cdefs; - } - - if ((info->new_dtags && info->flags) || (info->flags & DF_STATIC_TLS)) - { - if (! elf_add_dynamic_entry (info, DT_FLAGS, info->flags)) - return FALSE; - } - else if (info->flags & DF_BIND_NOW) - { - if (! elf_add_dynamic_entry (info, DT_BIND_NOW, 0)) - return FALSE; - } - - if (info->flags_1) - { - if (info->executable) - info->flags_1 &= ~ (DF_1_INITFIRST - | DF_1_NODELETE - | DF_1_NOOPEN); - if (! elf_add_dynamic_entry (info, DT_FLAGS_1, info->flags_1)) - return FALSE; - } - - /* Work out the size of the version reference section. */ - - s = bfd_get_section_by_name (dynobj, ".gnu.version_r"); - BFD_ASSERT (s != NULL); - { - struct elf_find_verdep_info sinfo; - - sinfo.output_bfd = output_bfd; - sinfo.info = info; - sinfo.vers = elf_tdata (output_bfd)->cverdefs; - if (sinfo.vers == 0) - sinfo.vers = 1; - sinfo.failed = FALSE; - - elf_link_hash_traverse (elf_hash_table (info), - _bfd_elf_link_find_version_dependencies, - &sinfo); - - if (elf_tdata (output_bfd)->verref == NULL) - _bfd_strip_section_from_output (info, s); - else - { - Elf_Internal_Verneed *t; - unsigned int size; - unsigned int crefs; - bfd_byte *p; - - /* Build the version definition section. */ - size = 0; - crefs = 0; - for (t = elf_tdata (output_bfd)->verref; - t != NULL; - t = t->vn_nextref) - { - Elf_Internal_Vernaux *a; - - size += sizeof (Elf_External_Verneed); - ++crefs; - for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr) - size += sizeof (Elf_External_Vernaux); - } - - s->_raw_size = size; - s->contents = bfd_alloc (output_bfd, s->_raw_size); - if (s->contents == NULL) - return FALSE; - - p = s->contents; - for (t = elf_tdata (output_bfd)->verref; - t != NULL; - t = t->vn_nextref) - { - unsigned int caux; - Elf_Internal_Vernaux *a; - bfd_size_type indx; - - caux = 0; - for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr) - ++caux; - - t->vn_version = VER_NEED_CURRENT; - t->vn_cnt = caux; - indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, - elf_dt_name (t->vn_bfd) != NULL - ? elf_dt_name (t->vn_bfd) - : basename (t->vn_bfd->filename), - FALSE); - if (indx == (bfd_size_type) -1) - return FALSE; - t->vn_file = indx; - t->vn_aux = sizeof (Elf_External_Verneed); - if (t->vn_nextref == NULL) - t->vn_next = 0; - else - t->vn_next = (sizeof (Elf_External_Verneed) - + caux * sizeof (Elf_External_Vernaux)); - - _bfd_elf_swap_verneed_out (output_bfd, t, - (Elf_External_Verneed *) p); - p += sizeof (Elf_External_Verneed); - - for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr) - { - a->vna_hash = bfd_elf_hash (a->vna_nodename); - indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, - a->vna_nodename, FALSE); - if (indx == (bfd_size_type) -1) - return FALSE; - a->vna_name = indx; - if (a->vna_nextptr == NULL) - a->vna_next = 0; - else - a->vna_next = sizeof (Elf_External_Vernaux); - - _bfd_elf_swap_vernaux_out (output_bfd, a, - (Elf_External_Vernaux *) p); - p += sizeof (Elf_External_Vernaux); - } - } - - if (! elf_add_dynamic_entry (info, DT_VERNEED, 0) - || ! elf_add_dynamic_entry (info, DT_VERNEEDNUM, crefs)) - return FALSE; - - elf_tdata (output_bfd)->cverrefs = crefs; - } - } - - /* Assign dynsym indicies. In a shared library we generate a - section symbol for each output section, which come first. - Next come all of the back-end allocated local dynamic syms, - followed by the rest of the global symbols. */ - - dynsymcount = _bfd_elf_link_renumber_dynsyms (output_bfd, info); - - /* Work out the size of the symbol version section. */ - s = bfd_get_section_by_name (dynobj, ".gnu.version"); - BFD_ASSERT (s != NULL); - if (dynsymcount == 0 - || (verdefs == NULL && elf_tdata (output_bfd)->verref == NULL)) - { - _bfd_strip_section_from_output (info, s); - /* The DYNSYMCOUNT might have changed if we were going to - output a dynamic symbol table entry for S. */ - dynsymcount = _bfd_elf_link_renumber_dynsyms (output_bfd, info); - } - else - { - s->_raw_size = dynsymcount * sizeof (Elf_External_Versym); - s->contents = bfd_zalloc (output_bfd, s->_raw_size); - if (s->contents == NULL) - return FALSE; - - if (! elf_add_dynamic_entry (info, DT_VERSYM, 0)) - return FALSE; - } - - /* Set the size of the .dynsym and .hash sections. We counted - the number of dynamic symbols in elf_link_add_object_symbols. - We will build the contents of .dynsym and .hash when we build - the final symbol table, because until then we do not know the - correct value to give the symbols. We built the .dynstr - section as we went along in elf_link_add_object_symbols. */ - s = bfd_get_section_by_name (dynobj, ".dynsym"); - BFD_ASSERT (s != NULL); - s->_raw_size = dynsymcount * sizeof (Elf_External_Sym); - s->contents = bfd_alloc (output_bfd, s->_raw_size); - if (s->contents == NULL && s->_raw_size != 0) - return FALSE; - - if (dynsymcount != 0) - { - Elf_Internal_Sym isym; - - /* The first entry in .dynsym is a dummy symbol. */ - isym.st_value = 0; - isym.st_size = 0; - isym.st_name = 0; - isym.st_info = 0; - isym.st_other = 0; - isym.st_shndx = 0; - elf_swap_symbol_out (output_bfd, &isym, s->contents, 0); - } - - /* Compute the size of the hashing table. As a side effect this - computes the hash values for all the names we export. */ - bucketcount = compute_bucket_count (info); - - s = bfd_get_section_by_name (dynobj, ".hash"); - BFD_ASSERT (s != NULL); - hash_entry_size = elf_section_data (s)->this_hdr.sh_entsize; - s->_raw_size = ((2 + bucketcount + dynsymcount) * hash_entry_size); - s->contents = bfd_zalloc (output_bfd, s->_raw_size); - if (s->contents == NULL) - return FALSE; - - bfd_put (8 * hash_entry_size, output_bfd, bucketcount, s->contents); - bfd_put (8 * hash_entry_size, output_bfd, dynsymcount, - s->contents + hash_entry_size); - - elf_hash_table (info)->bucketcount = bucketcount; - - s = bfd_get_section_by_name (dynobj, ".dynstr"); - BFD_ASSERT (s != NULL); - - elf_finalize_dynstr (output_bfd, info); - - s->_raw_size = _bfd_elf_strtab_size (elf_hash_table (info)->dynstr); - - for (dtagcount = 0; dtagcount <= info->spare_dynamic_tags; ++dtagcount) - if (! elf_add_dynamic_entry (info, DT_NULL, 0)) - return FALSE; - } - - return TRUE; -} - -/* This function is used to adjust offsets into .dynstr for - dynamic symbols. This is called via elf_link_hash_traverse. */ - -static bfd_boolean -elf_adjust_dynstr_offsets (struct elf_link_hash_entry *h, void *data) -{ - struct elf_strtab_hash *dynstr = data; - - if (h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - if (h->dynindx != -1) - h->dynstr_index = _bfd_elf_strtab_offset (dynstr, h->dynstr_index); - return TRUE; -} - -/* Assign string offsets in .dynstr, update all structures referencing - them. */ - -static bfd_boolean -elf_finalize_dynstr (bfd *output_bfd, struct bfd_link_info *info) -{ - struct elf_link_local_dynamic_entry *entry; - struct elf_strtab_hash *dynstr = elf_hash_table (info)->dynstr; - bfd *dynobj = elf_hash_table (info)->dynobj; - asection *sdyn; - bfd_size_type size; - Elf_External_Dyn *dyncon, *dynconend; - - _bfd_elf_strtab_finalize (dynstr); - size = _bfd_elf_strtab_size (dynstr); - - /* Update all .dynamic entries referencing .dynstr strings. */ - sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); - BFD_ASSERT (sdyn != NULL); - - dyncon = (Elf_External_Dyn *) sdyn->contents; - dynconend = (Elf_External_Dyn *) (sdyn->contents + - sdyn->_raw_size); - for (; dyncon < dynconend; dyncon++) - { - Elf_Internal_Dyn dyn; - - elf_swap_dyn_in (dynobj, dyncon, & dyn); - switch (dyn.d_tag) - { - case DT_STRSZ: - dyn.d_un.d_val = size; - elf_swap_dyn_out (dynobj, & dyn, dyncon); - break; - case DT_NEEDED: - case DT_SONAME: - case DT_RPATH: - case DT_RUNPATH: - case DT_FILTER: - case DT_AUXILIARY: - dyn.d_un.d_val = _bfd_elf_strtab_offset (dynstr, dyn.d_un.d_val); - elf_swap_dyn_out (dynobj, & dyn, dyncon); - break; - default: - break; - } - } - - /* Now update local dynamic symbols. */ - for (entry = elf_hash_table (info)->dynlocal; entry ; entry = entry->next) - entry->isym.st_name = _bfd_elf_strtab_offset (dynstr, - entry->isym.st_name); - - /* And the rest of dynamic symbols. */ - elf_link_hash_traverse (elf_hash_table (info), - elf_adjust_dynstr_offsets, dynstr); - - /* Adjust version definitions. */ - if (elf_tdata (output_bfd)->cverdefs) - { - asection *s; - bfd_byte *p; - bfd_size_type i; - Elf_Internal_Verdef def; - Elf_Internal_Verdaux defaux; - - s = bfd_get_section_by_name (dynobj, ".gnu.version_d"); - p = (bfd_byte *) s->contents; - do - { - _bfd_elf_swap_verdef_in (output_bfd, (Elf_External_Verdef *) p, - &def); - p += sizeof (Elf_External_Verdef); - for (i = 0; i < def.vd_cnt; ++i) - { - _bfd_elf_swap_verdaux_in (output_bfd, - (Elf_External_Verdaux *) p, &defaux); - defaux.vda_name = _bfd_elf_strtab_offset (dynstr, - defaux.vda_name); - _bfd_elf_swap_verdaux_out (output_bfd, - &defaux, (Elf_External_Verdaux *) p); - p += sizeof (Elf_External_Verdaux); - } - } - while (def.vd_next); - } - - /* Adjust version references. */ - if (elf_tdata (output_bfd)->verref) - { - asection *s; - bfd_byte *p; - bfd_size_type i; - Elf_Internal_Verneed need; - Elf_Internal_Vernaux needaux; - - s = bfd_get_section_by_name (dynobj, ".gnu.version_r"); - p = (bfd_byte *) s->contents; - do - { - _bfd_elf_swap_verneed_in (output_bfd, (Elf_External_Verneed *) p, - &need); - need.vn_file = _bfd_elf_strtab_offset (dynstr, need.vn_file); - _bfd_elf_swap_verneed_out (output_bfd, &need, - (Elf_External_Verneed *) p); - p += sizeof (Elf_External_Verneed); - for (i = 0; i < need.vn_cnt; ++i) - { - _bfd_elf_swap_vernaux_in (output_bfd, - (Elf_External_Vernaux *) p, &needaux); - needaux.vna_name = _bfd_elf_strtab_offset (dynstr, - needaux.vna_name); - _bfd_elf_swap_vernaux_out (output_bfd, - &needaux, - (Elf_External_Vernaux *) p); - p += sizeof (Elf_External_Vernaux); - } - } - while (need.vn_next); - } - - return TRUE; -} - -/* Final phase of ELF linker. */ - -/* A structure we use to avoid passing large numbers of arguments. */ - -struct elf_final_link_info -{ - /* General link information. */ - struct bfd_link_info *info; - /* Output BFD. */ - bfd *output_bfd; - /* Symbol string table. */ - struct bfd_strtab_hash *symstrtab; - /* .dynsym section. */ - asection *dynsym_sec; - /* .hash section. */ - asection *hash_sec; - /* symbol version section (.gnu.version). */ - asection *symver_sec; - /* Buffer large enough to hold contents of any section. */ - bfd_byte *contents; - /* Buffer large enough to hold external relocs of any section. */ - void *external_relocs; - /* Buffer large enough to hold internal relocs of any section. */ - Elf_Internal_Rela *internal_relocs; - /* Buffer large enough to hold external local symbols of any input - BFD. */ - Elf_External_Sym *external_syms; - /* And a buffer for symbol section indices. */ - Elf_External_Sym_Shndx *locsym_shndx; - /* Buffer large enough to hold internal local symbols of any input - BFD. */ - Elf_Internal_Sym *internal_syms; - /* Array large enough to hold a symbol index for each local symbol - of any input BFD. */ - long *indices; - /* Array large enough to hold a section pointer for each local - symbol of any input BFD. */ - asection **sections; - /* Buffer to hold swapped out symbols. */ - Elf_External_Sym *symbuf; - /* And one for symbol section indices. */ - Elf_External_Sym_Shndx *symshndxbuf; - /* Number of swapped out symbols in buffer. */ - size_t symbuf_count; - /* Number of symbols which fit in symbuf. */ - size_t symbuf_size; - /* And same for symshndxbuf. */ - size_t shndxbuf_size; -}; - -static bfd_boolean elf_link_output_sym - (struct elf_final_link_info *, const char *, Elf_Internal_Sym *, asection *, - struct elf_link_hash_entry *); -static bfd_boolean elf_link_flush_output_syms - (struct elf_final_link_info *); -static bfd_boolean elf_link_output_extsym - (struct elf_link_hash_entry *, void *); -static bfd_boolean elf_link_input_bfd - (struct elf_final_link_info *, bfd *); -static bfd_boolean elf_reloc_link_order - (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); - -/* This struct is used to pass information to elf_link_output_extsym. */ - -struct elf_outext_info -{ - bfd_boolean failed; - bfd_boolean localsyms; - struct elf_final_link_info *finfo; -}; - -/* When performing a relocatable link, the input relocations are - preserved. But, if they reference global symbols, the indices - referenced must be updated. Update all the relocations in - REL_HDR (there are COUNT of them), using the data in REL_HASH. */ - -static void -elf_link_adjust_relocs (bfd *abfd, - Elf_Internal_Shdr *rel_hdr, - unsigned int count, - struct elf_link_hash_entry **rel_hash) -{ - unsigned int i; - const struct elf_backend_data *bed = get_elf_backend_data (abfd); - bfd_byte *erela; - void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *); - void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *); - - if (rel_hdr->sh_entsize == sizeof (Elf_External_Rel)) - { - swap_in = bed->s->swap_reloc_in; - swap_out = bed->s->swap_reloc_out; - } - else if (rel_hdr->sh_entsize == sizeof (Elf_External_Rela)) - { - swap_in = bed->s->swap_reloca_in; - swap_out = bed->s->swap_reloca_out; - } - else - abort (); - - if (bed->s->int_rels_per_ext_rel > MAX_INT_RELS_PER_EXT_REL) - abort (); - - erela = rel_hdr->contents; - for (i = 0; i < count; i++, rel_hash++, erela += rel_hdr->sh_entsize) - { - Elf_Internal_Rela irela[MAX_INT_RELS_PER_EXT_REL]; - unsigned int j; - - if (*rel_hash == NULL) - continue; - - BFD_ASSERT ((*rel_hash)->indx >= 0); - - (*swap_in) (abfd, erela, irela); - for (j = 0; j < bed->s->int_rels_per_ext_rel; j++) - irela[j].r_info = ELF_R_INFO ((*rel_hash)->indx, - ELF_R_TYPE (irela[j].r_info)); - (*swap_out) (abfd, irela, erela); - } -} - -struct elf_link_sort_rela -{ - bfd_vma offset; - enum elf_reloc_type_class type; - /* We use this as an array of size int_rels_per_ext_rel. */ - Elf_Internal_Rela rela[1]; -}; - -static int -elf_link_sort_cmp1 (const void *A, const void *B) -{ - const struct elf_link_sort_rela *a = A; - const struct elf_link_sort_rela *b = B; - int relativea, relativeb; - - relativea = a->type == reloc_class_relative; - relativeb = b->type == reloc_class_relative; - - if (relativea < relativeb) - return 1; - if (relativea > relativeb) - return -1; - if (ELF_R_SYM (a->rela->r_info) < ELF_R_SYM (b->rela->r_info)) - return -1; - if (ELF_R_SYM (a->rela->r_info) > ELF_R_SYM (b->rela->r_info)) - return 1; - if (a->rela->r_offset < b->rela->r_offset) - return -1; - if (a->rela->r_offset > b->rela->r_offset) - return 1; - return 0; -} - -static int -elf_link_sort_cmp2 (const void *A, const void *B) -{ - const struct elf_link_sort_rela *a = A; - const struct elf_link_sort_rela *b = B; - int copya, copyb; - - if (a->offset < b->offset) - return -1; - if (a->offset > b->offset) - return 1; - copya = (a->type == reloc_class_copy) * 2 + (a->type == reloc_class_plt); - copyb = (b->type == reloc_class_copy) * 2 + (b->type == reloc_class_plt); - if (copya < copyb) - return -1; - if (copya > copyb) - return 1; - if (a->rela->r_offset < b->rela->r_offset) - return -1; - if (a->rela->r_offset > b->rela->r_offset) - return 1; - return 0; -} - -static size_t -elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec) -{ - asection *reldyn; - bfd_size_type count, size; - size_t i, ret, sort_elt, ext_size; - bfd_byte *sort, *s_non_relative, *p; - struct elf_link_sort_rela *sq; - const struct elf_backend_data *bed = get_elf_backend_data (abfd); - int i2e = bed->s->int_rels_per_ext_rel; - void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *); - void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *); - struct bfd_link_order *lo; - - reldyn = bfd_get_section_by_name (abfd, ".rela.dyn"); - if (reldyn == NULL || reldyn->_raw_size == 0) - { - reldyn = bfd_get_section_by_name (abfd, ".rel.dyn"); - if (reldyn == NULL || reldyn->_raw_size == 0) - return 0; - ext_size = sizeof (Elf_External_Rel); - swap_in = bed->s->swap_reloc_in; - swap_out = bed->s->swap_reloc_out; - } - else - { - ext_size = sizeof (Elf_External_Rela); - swap_in = bed->s->swap_reloca_in; - swap_out = bed->s->swap_reloca_out; - } - count = reldyn->_raw_size / ext_size; - - size = 0; - for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next) - if (lo->type == bfd_indirect_link_order) - { - asection *o = lo->u.indirect.section; - size += o->_raw_size; - } - - if (size != reldyn->_raw_size) - return 0; - - sort_elt = (sizeof (struct elf_link_sort_rela) - + (i2e - 1) * sizeof (Elf_Internal_Rela)); - sort = bfd_zmalloc (sort_elt * count); - if (sort == NULL) - { - (*info->callbacks->warning) - (info, _("Not enough memory to sort relocations"), 0, abfd, 0, 0); - return 0; - } - - for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next) - if (lo->type == bfd_indirect_link_order) - { - bfd_byte *erel, *erelend; - asection *o = lo->u.indirect.section; - - erel = o->contents; - erelend = o->contents + o->_raw_size; - p = sort + o->output_offset / ext_size * sort_elt; - while (erel < erelend) - { - struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p; - (*swap_in) (abfd, erel, s->rela); - s->type = (*bed->elf_backend_reloc_type_class) (s->rela); - p += sort_elt; - erel += ext_size; - } - } - - qsort (sort, count, sort_elt, elf_link_sort_cmp1); - - for (i = 0, p = sort; i < count; i++, p += sort_elt) - { - struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p; - if (s->type != reloc_class_relative) - break; - } - ret = i; - s_non_relative = p; - - sq = (struct elf_link_sort_rela *) s_non_relative; - for (; i < count; i++, p += sort_elt) - { - struct elf_link_sort_rela *sp = (struct elf_link_sort_rela *) p; - if (ELF_R_SYM (sp->rela->r_info) != ELF_R_SYM (sq->rela->r_info)) - sq = sp; - sp->offset = sq->rela->r_offset; - } - - qsort (s_non_relative, count - ret, sort_elt, elf_link_sort_cmp2); - - for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next) - if (lo->type == bfd_indirect_link_order) - { - bfd_byte *erel, *erelend; - asection *o = lo->u.indirect.section; - - erel = o->contents; - erelend = o->contents + o->_raw_size; - p = sort + o->output_offset / ext_size * sort_elt; - while (erel < erelend) - { - struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p; - (*swap_out) (abfd, s->rela, erel); - p += sort_elt; - erel += ext_size; - } - } - - free (sort); - *psec = reldyn; - return ret; -} - -/* Do the final step of an ELF link. */ - -bfd_boolean -elf_bfd_final_link (bfd *abfd, struct bfd_link_info *info) -{ - bfd_boolean dynamic; - bfd_boolean emit_relocs; - bfd *dynobj; - struct elf_final_link_info finfo; - register asection *o; - register struct bfd_link_order *p; - register bfd *sub; - bfd_size_type max_contents_size; - bfd_size_type max_external_reloc_size; - bfd_size_type max_internal_reloc_count; - bfd_size_type max_sym_count; - bfd_size_type max_sym_shndx_count; - file_ptr off; - Elf_Internal_Sym elfsym; - unsigned int i; - Elf_Internal_Shdr *symtab_hdr; - Elf_Internal_Shdr *symtab_shndx_hdr; - Elf_Internal_Shdr *symstrtab_hdr; - const struct elf_backend_data *bed = get_elf_backend_data (abfd); - struct elf_outext_info eoinfo; - bfd_boolean merged; - size_t relativecount = 0; - asection *reldyn = 0; - bfd_size_type amt; - - if (! is_elf_hash_table (info->hash)) - return FALSE; - - if (info->shared) - abfd->flags |= DYNAMIC; - - dynamic = elf_hash_table (info)->dynamic_sections_created; - dynobj = elf_hash_table (info)->dynobj; - - emit_relocs = (info->relocatable - || info->emitrelocations - || bed->elf_backend_emit_relocs); - - finfo.info = info; - finfo.output_bfd = abfd; - finfo.symstrtab = elf_stringtab_init (); - if (finfo.symstrtab == NULL) - return FALSE; - - if (! dynamic) - { - finfo.dynsym_sec = NULL; - finfo.hash_sec = NULL; - finfo.symver_sec = NULL; - } - else - { - finfo.dynsym_sec = bfd_get_section_by_name (dynobj, ".dynsym"); - finfo.hash_sec = bfd_get_section_by_name (dynobj, ".hash"); - BFD_ASSERT (finfo.dynsym_sec != NULL && finfo.hash_sec != NULL); - finfo.symver_sec = bfd_get_section_by_name (dynobj, ".gnu.version"); - /* Note that it is OK if symver_sec is NULL. */ - } - - finfo.contents = NULL; - finfo.external_relocs = NULL; - finfo.internal_relocs = NULL; - finfo.external_syms = NULL; - finfo.locsym_shndx = NULL; - finfo.internal_syms = NULL; - finfo.indices = NULL; - finfo.sections = NULL; - finfo.symbuf = NULL; - finfo.symshndxbuf = NULL; - finfo.symbuf_count = 0; - finfo.shndxbuf_size = 0; - - /* Count up the number of relocations we will output for each output - section, so that we know the sizes of the reloc sections. We - also figure out some maximum sizes. */ - max_contents_size = 0; - max_external_reloc_size = 0; - max_internal_reloc_count = 0; - max_sym_count = 0; - max_sym_shndx_count = 0; - merged = FALSE; - for (o = abfd->sections; o != NULL; o = o->next) - { - struct bfd_elf_section_data *esdo = elf_section_data (o); - o->reloc_count = 0; - - for (p = o->link_order_head; p != NULL; p = p->next) - { - unsigned int reloc_count = 0; - struct bfd_elf_section_data *esdi = NULL; - unsigned int *rel_count1; - - if (p->type == bfd_section_reloc_link_order - || p->type == bfd_symbol_reloc_link_order) - reloc_count = 1; - else if (p->type == bfd_indirect_link_order) - { - asection *sec; - - sec = p->u.indirect.section; - esdi = elf_section_data (sec); - - /* Mark all sections which are to be included in the - link. This will normally be every section. We need - to do this so that we can identify any sections which - the linker has decided to not include. */ - sec->linker_mark = TRUE; - - if (sec->flags & SEC_MERGE) - merged = TRUE; - - if (info->relocatable || info->emitrelocations) - reloc_count = sec->reloc_count; - else if (bed->elf_backend_count_relocs) - { - Elf_Internal_Rela * relocs; - - relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL, - info->keep_memory); - - reloc_count = (*bed->elf_backend_count_relocs) (sec, relocs); - - if (elf_section_data (o)->relocs != relocs) - free (relocs); - } - - if (sec->_raw_size > max_contents_size) - max_contents_size = sec->_raw_size; - if (sec->_cooked_size > max_contents_size) - max_contents_size = sec->_cooked_size; - - /* We are interested in just local symbols, not all - symbols. */ - if (bfd_get_flavour (sec->owner) == bfd_target_elf_flavour - && (sec->owner->flags & DYNAMIC) == 0) - { - size_t sym_count; - - if (elf_bad_symtab (sec->owner)) - sym_count = (elf_tdata (sec->owner)->symtab_hdr.sh_size - / sizeof (Elf_External_Sym)); - else - sym_count = elf_tdata (sec->owner)->symtab_hdr.sh_info; - - if (sym_count > max_sym_count) - max_sym_count = sym_count; - - if (sym_count > max_sym_shndx_count - && elf_symtab_shndx (sec->owner) != 0) - max_sym_shndx_count = sym_count; - - if ((sec->flags & SEC_RELOC) != 0) - { - size_t ext_size; - - ext_size = elf_section_data (sec)->rel_hdr.sh_size; - if (ext_size > max_external_reloc_size) - max_external_reloc_size = ext_size; - if (sec->reloc_count > max_internal_reloc_count) - max_internal_reloc_count = sec->reloc_count; - } - } - } - - if (reloc_count == 0) - continue; - - o->reloc_count += reloc_count; - - /* MIPS may have a mix of REL and RELA relocs on sections. - To support this curious ABI we keep reloc counts in - elf_section_data too. We must be careful to add the - relocations from the input section to the right output - count. FIXME: Get rid of one count. We have - o->reloc_count == esdo->rel_count + esdo->rel_count2. */ - rel_count1 = &esdo->rel_count; - if (esdi != NULL) - { - bfd_boolean same_size; - bfd_size_type entsize1; - - entsize1 = esdi->rel_hdr.sh_entsize; - BFD_ASSERT (entsize1 == sizeof (Elf_External_Rel) - || entsize1 == sizeof (Elf_External_Rela)); - same_size = (!o->use_rela_p - == (entsize1 == sizeof (Elf_External_Rel))); - - if (!same_size) - rel_count1 = &esdo->rel_count2; - - if (esdi->rel_hdr2 != NULL) - { - bfd_size_type entsize2 = esdi->rel_hdr2->sh_entsize; - unsigned int alt_count; - unsigned int *rel_count2; - - BFD_ASSERT (entsize2 != entsize1 - && (entsize2 == sizeof (Elf_External_Rel) - || entsize2 == sizeof (Elf_External_Rela))); - - rel_count2 = &esdo->rel_count2; - if (!same_size) - rel_count2 = &esdo->rel_count; - - /* The following is probably too simplistic if the - backend counts output relocs unusually. */ - BFD_ASSERT (bed->elf_backend_count_relocs == NULL); - alt_count = NUM_SHDR_ENTRIES (esdi->rel_hdr2); - *rel_count2 += alt_count; - reloc_count -= alt_count; - } - } - *rel_count1 += reloc_count; - } - - if (o->reloc_count > 0) - o->flags |= SEC_RELOC; - else - { - /* Explicitly clear the SEC_RELOC flag. The linker tends to - set it (this is probably a bug) and if it is set - assign_section_numbers will create a reloc section. */ - o->flags &=~ SEC_RELOC; - } - - /* If the SEC_ALLOC flag is not set, force the section VMA to - zero. This is done in elf_fake_sections as well, but forcing - the VMA to 0 here will ensure that relocs against these - sections are handled correctly. */ - if ((o->flags & SEC_ALLOC) == 0 - && ! o->user_set_vma) - o->vma = 0; - } - - if (! info->relocatable && merged) - elf_link_hash_traverse (elf_hash_table (info), - _bfd_elf_link_sec_merge_syms, abfd); - - /* Figure out the file positions for everything but the symbol table - and the relocs. We set symcount to force assign_section_numbers - to create a symbol table. */ - bfd_get_symcount (abfd) = info->strip == strip_all ? 0 : 1; - BFD_ASSERT (! abfd->output_has_begun); - if (! _bfd_elf_compute_section_file_positions (abfd, info)) - goto error_return; - - /* That created the reloc sections. Set their sizes, and assign - them file positions, and allocate some buffers. */ - for (o = abfd->sections; o != NULL; o = o->next) - { - if ((o->flags & SEC_RELOC) != 0) - { - if (!(_bfd_elf_link_size_reloc_section - (abfd, &elf_section_data (o)->rel_hdr, o))) - goto error_return; - - if (elf_section_data (o)->rel_hdr2 - && !(_bfd_elf_link_size_reloc_section - (abfd, elf_section_data (o)->rel_hdr2, o))) - goto error_return; - } - - /* Now, reset REL_COUNT and REL_COUNT2 so that we can use them - to count upwards while actually outputting the relocations. */ - elf_section_data (o)->rel_count = 0; - elf_section_data (o)->rel_count2 = 0; - } - - _bfd_elf_assign_file_positions_for_relocs (abfd); - - /* We have now assigned file positions for all the sections except - .symtab and .strtab. We start the .symtab section at the current - file position, and write directly to it. We build the .strtab - section in memory. */ - bfd_get_symcount (abfd) = 0; - symtab_hdr = &elf_tdata (abfd)->symtab_hdr; - /* sh_name is set in prep_headers. */ - symtab_hdr->sh_type = SHT_SYMTAB; - /* sh_flags, sh_addr and sh_size all start off zero. */ - symtab_hdr->sh_entsize = sizeof (Elf_External_Sym); - /* sh_link is set in assign_section_numbers. */ - /* sh_info is set below. */ - /* sh_offset is set just below. */ - symtab_hdr->sh_addralign = 1 << bed->s->log_file_align; - - off = elf_tdata (abfd)->next_file_pos; - off = _bfd_elf_assign_file_position_for_section (symtab_hdr, off, TRUE); - - /* Note that at this point elf_tdata (abfd)->next_file_pos is - incorrect. We do not yet know the size of the .symtab section. - We correct next_file_pos below, after we do know the size. */ - - /* Allocate a buffer to hold swapped out symbols. This is to avoid - continuously seeking to the right position in the file. */ - if (! info->keep_memory || max_sym_count < 20) - finfo.symbuf_size = 20; - else - finfo.symbuf_size = max_sym_count; - amt = finfo.symbuf_size; - amt *= sizeof (Elf_External_Sym); - finfo.symbuf = bfd_malloc (amt); - if (finfo.symbuf == NULL) - goto error_return; - if (elf_numsections (abfd) > SHN_LORESERVE) - { - /* Wild guess at number of output symbols. realloc'd as needed. */ - amt = 2 * max_sym_count + elf_numsections (abfd) + 1000; - finfo.shndxbuf_size = amt; - amt *= sizeof (Elf_External_Sym_Shndx); - finfo.symshndxbuf = bfd_zmalloc (amt); - if (finfo.symshndxbuf == NULL) - goto error_return; - } - - /* Start writing out the symbol table. The first symbol is always a - dummy symbol. */ - if (info->strip != strip_all - || emit_relocs) - { - elfsym.st_value = 0; - elfsym.st_size = 0; - elfsym.st_info = 0; - elfsym.st_other = 0; - elfsym.st_shndx = SHN_UNDEF; - if (! elf_link_output_sym (&finfo, NULL, &elfsym, bfd_und_section_ptr, - NULL)) - goto error_return; - } - -#if 0 - /* Some standard ELF linkers do this, but we don't because it causes - bootstrap comparison failures. */ - /* Output a file symbol for the output file as the second symbol. - We output this even if we are discarding local symbols, although - I'm not sure if this is correct. */ - elfsym.st_value = 0; - elfsym.st_size = 0; - elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE); - elfsym.st_other = 0; - elfsym.st_shndx = SHN_ABS; - if (! elf_link_output_sym (&finfo, bfd_get_filename (abfd), - &elfsym, bfd_abs_section_ptr, NULL)) - goto error_return; -#endif - - /* Output a symbol for each section. We output these even if we are - discarding local symbols, since they are used for relocs. These - symbols have no names. We store the index of each one in the - index field of the section, so that we can find it again when - outputting relocs. */ - if (info->strip != strip_all - || emit_relocs) - { - elfsym.st_size = 0; - elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); - elfsym.st_other = 0; - for (i = 1; i < elf_numsections (abfd); i++) - { - o = section_from_elf_index (abfd, i); - if (o != NULL) - o->target_index = bfd_get_symcount (abfd); - elfsym.st_shndx = i; - if (info->relocatable || o == NULL) - elfsym.st_value = 0; - else - elfsym.st_value = o->vma; - if (! elf_link_output_sym (&finfo, NULL, &elfsym, o, NULL)) - goto error_return; - if (i == SHN_LORESERVE - 1) - i += SHN_HIRESERVE + 1 - SHN_LORESERVE; - } - } - - /* Allocate some memory to hold information read in from the input - files. */ - if (max_contents_size != 0) - { - finfo.contents = bfd_malloc (max_contents_size); - if (finfo.contents == NULL) - goto error_return; - } - - if (max_external_reloc_size != 0) - { - finfo.external_relocs = bfd_malloc (max_external_reloc_size); - if (finfo.external_relocs == NULL) - goto error_return; - } - - if (max_internal_reloc_count != 0) - { - amt = max_internal_reloc_count * bed->s->int_rels_per_ext_rel; - amt *= sizeof (Elf_Internal_Rela); - finfo.internal_relocs = bfd_malloc (amt); - if (finfo.internal_relocs == NULL) - goto error_return; - } - - if (max_sym_count != 0) - { - amt = max_sym_count * sizeof (Elf_External_Sym); - finfo.external_syms = bfd_malloc (amt); - if (finfo.external_syms == NULL) - goto error_return; - - amt = max_sym_count * sizeof (Elf_Internal_Sym); - finfo.internal_syms = bfd_malloc (amt); - if (finfo.internal_syms == NULL) - goto error_return; - - amt = max_sym_count * sizeof (long); - finfo.indices = bfd_malloc (amt); - if (finfo.indices == NULL) - goto error_return; - - amt = max_sym_count * sizeof (asection *); - finfo.sections = bfd_malloc (amt); - if (finfo.sections == NULL) - goto error_return; - } - - if (max_sym_shndx_count != 0) - { - amt = max_sym_shndx_count * sizeof (Elf_External_Sym_Shndx); - finfo.locsym_shndx = bfd_malloc (amt); - if (finfo.locsym_shndx == NULL) - goto error_return; - } - - if (elf_hash_table (info)->tls_sec) - { - bfd_vma base, end = 0; - asection *sec; - - for (sec = elf_hash_table (info)->tls_sec; - sec && (sec->flags & SEC_THREAD_LOCAL); - sec = sec->next) - { - bfd_vma size = sec->_raw_size; - - if (size == 0 && (sec->flags & SEC_HAS_CONTENTS) == 0) - { - struct bfd_link_order *o; - - for (o = sec->link_order_head; o != NULL; o = o->next) - if (size < o->offset + o->size) - size = o->offset + o->size; - } - end = sec->vma + size; - } - base = elf_hash_table (info)->tls_sec->vma; - end = align_power (end, elf_hash_table (info)->tls_sec->alignment_power); - elf_hash_table (info)->tls_size = end - base; - } - - /* Since ELF permits relocations to be against local symbols, we - must have the local symbols available when we do the relocations. - Since we would rather only read the local symbols once, and we - would rather not keep them in memory, we handle all the - relocations for a single input file at the same time. - - Unfortunately, there is no way to know the total number of local - symbols until we have seen all of them, and the local symbol - indices precede the global symbol indices. This means that when - we are generating relocatable output, and we see a reloc against - a global symbol, we can not know the symbol index until we have - finished examining all the local symbols to see which ones we are - going to output. To deal with this, we keep the relocations in - memory, and don't output them until the end of the link. This is - an unfortunate waste of memory, but I don't see a good way around - it. Fortunately, it only happens when performing a relocatable - link, which is not the common case. FIXME: If keep_memory is set - we could write the relocs out and then read them again; I don't - know how bad the memory loss will be. */ - - for (sub = info->input_bfds; sub != NULL; sub = sub->link_next) - sub->output_has_begun = FALSE; - for (o = abfd->sections; o != NULL; o = o->next) - { - for (p = o->link_order_head; p != NULL; p = p->next) - { - if (p->type == bfd_indirect_link_order - && (bfd_get_flavour ((sub = p->u.indirect.section->owner)) - == bfd_target_elf_flavour) - && elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass) - { - if (! sub->output_has_begun) - { - if (! elf_link_input_bfd (&finfo, sub)) - goto error_return; - sub->output_has_begun = TRUE; - } - } - else if (p->type == bfd_section_reloc_link_order - || p->type == bfd_symbol_reloc_link_order) - { - if (! elf_reloc_link_order (abfd, info, o, p)) - goto error_return; - } - else - { - if (! _bfd_default_link_order (abfd, info, o, p)) - goto error_return; - } - } - } - - /* Output any global symbols that got converted to local in a - version script or due to symbol visibility. We do this in a - separate step since ELF requires all local symbols to appear - prior to any global symbols. FIXME: We should only do this if - some global symbols were, in fact, converted to become local. - FIXME: Will this work correctly with the Irix 5 linker? */ - eoinfo.failed = FALSE; - eoinfo.finfo = &finfo; - eoinfo.localsyms = TRUE; - elf_link_hash_traverse (elf_hash_table (info), elf_link_output_extsym, - &eoinfo); - if (eoinfo.failed) - return FALSE; - - /* That wrote out all the local symbols. Finish up the symbol table - with the global symbols. Even if we want to strip everything we - can, we still need to deal with those global symbols that got - converted to local in a version script. */ - - /* The sh_info field records the index of the first non local symbol. */ - symtab_hdr->sh_info = bfd_get_symcount (abfd); - - if (dynamic - && finfo.dynsym_sec->output_section != bfd_abs_section_ptr) - { - Elf_Internal_Sym sym; - Elf_External_Sym *dynsym = - (Elf_External_Sym *) finfo.dynsym_sec->contents; - long last_local = 0; - - /* Write out the section symbols for the output sections. */ - if (info->shared) - { - asection *s; - - sym.st_size = 0; - sym.st_name = 0; - sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); - sym.st_other = 0; - - for (s = abfd->sections; s != NULL; s = s->next) - { - int indx; - Elf_External_Sym *dest; - - indx = elf_section_data (s)->this_idx; - BFD_ASSERT (indx > 0); - sym.st_shndx = indx; - sym.st_value = s->vma; - dest = dynsym + elf_section_data (s)->dynindx; - elf_swap_symbol_out (abfd, &sym, dest, 0); - } - - last_local = bfd_count_sections (abfd); - } - - /* Write out the local dynsyms. */ - if (elf_hash_table (info)->dynlocal) - { - struct elf_link_local_dynamic_entry *e; - for (e = elf_hash_table (info)->dynlocal; e ; e = e->next) - { - asection *s; - Elf_External_Sym *dest; - - sym.st_size = e->isym.st_size; - sym.st_other = e->isym.st_other; - - /* Copy the internal symbol as is. - Note that we saved a word of storage and overwrote - the original st_name with the dynstr_index. */ - sym = e->isym; - - if (e->isym.st_shndx != SHN_UNDEF - && (e->isym.st_shndx < SHN_LORESERVE - || e->isym.st_shndx > SHN_HIRESERVE)) - { - s = bfd_section_from_elf_index (e->input_bfd, - e->isym.st_shndx); - - sym.st_shndx = - elf_section_data (s->output_section)->this_idx; - sym.st_value = (s->output_section->vma - + s->output_offset - + e->isym.st_value); - } - - if (last_local < e->dynindx) - last_local = e->dynindx; - - dest = dynsym + e->dynindx; - elf_swap_symbol_out (abfd, &sym, dest, 0); - } - } - - elf_section_data (finfo.dynsym_sec->output_section)->this_hdr.sh_info = - last_local + 1; - } - - /* We get the global symbols from the hash table. */ - eoinfo.failed = FALSE; - eoinfo.localsyms = FALSE; - eoinfo.finfo = &finfo; - elf_link_hash_traverse (elf_hash_table (info), elf_link_output_extsym, - &eoinfo); - if (eoinfo.failed) - return FALSE; - - /* If backend needs to output some symbols not present in the hash - table, do it now. */ - if (bed->elf_backend_output_arch_syms) - { - typedef bfd_boolean (*out_sym_func) - (void *, const char *, Elf_Internal_Sym *, asection *, - struct elf_link_hash_entry *); - - if (! ((*bed->elf_backend_output_arch_syms) - (abfd, info, &finfo, (out_sym_func) elf_link_output_sym))) - return FALSE; - } - - /* Flush all symbols to the file. */ - if (! elf_link_flush_output_syms (&finfo)) - return FALSE; - - /* Now we know the size of the symtab section. */ - off += symtab_hdr->sh_size; - - symtab_shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr; - if (symtab_shndx_hdr->sh_name != 0) - { - symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX; - symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx); - symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx); - amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx); - symtab_shndx_hdr->sh_size = amt; - - off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr, - off, TRUE); - - if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0 - || (bfd_bwrite (finfo.symshndxbuf, amt, abfd) != amt)) - return FALSE; - } - - - /* Finish up and write out the symbol string table (.strtab) - section. */ - symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr; - /* sh_name was set in prep_headers. */ - symstrtab_hdr->sh_type = SHT_STRTAB; - symstrtab_hdr->sh_flags = 0; - symstrtab_hdr->sh_addr = 0; - symstrtab_hdr->sh_size = _bfd_stringtab_size (finfo.symstrtab); - symstrtab_hdr->sh_entsize = 0; - symstrtab_hdr->sh_link = 0; - symstrtab_hdr->sh_info = 0; - /* sh_offset is set just below. */ - symstrtab_hdr->sh_addralign = 1; - - off = _bfd_elf_assign_file_position_for_section (symstrtab_hdr, off, TRUE); - elf_tdata (abfd)->next_file_pos = off; - - if (bfd_get_symcount (abfd) > 0) - { - if (bfd_seek (abfd, symstrtab_hdr->sh_offset, SEEK_SET) != 0 - || ! _bfd_stringtab_emit (abfd, finfo.symstrtab)) - return FALSE; - } - - /* Adjust the relocs to have the correct symbol indices. */ - for (o = abfd->sections; o != NULL; o = o->next) - { - if ((o->flags & SEC_RELOC) == 0) - continue; - - elf_link_adjust_relocs (abfd, &elf_section_data (o)->rel_hdr, - elf_section_data (o)->rel_count, - elf_section_data (o)->rel_hashes); - if (elf_section_data (o)->rel_hdr2 != NULL) - elf_link_adjust_relocs (abfd, elf_section_data (o)->rel_hdr2, - elf_section_data (o)->rel_count2, - (elf_section_data (o)->rel_hashes - + elf_section_data (o)->rel_count)); - - /* Set the reloc_count field to 0 to prevent write_relocs from - trying to swap the relocs out itself. */ - o->reloc_count = 0; - } - - if (dynamic && info->combreloc && dynobj != NULL) - relativecount = elf_link_sort_relocs (abfd, info, &reldyn); - - /* If we are linking against a dynamic object, or generating a - shared library, finish up the dynamic linking information. */ - if (dynamic) - { - Elf_External_Dyn *dyncon, *dynconend; - - /* Fix up .dynamic entries. */ - o = bfd_get_section_by_name (dynobj, ".dynamic"); - BFD_ASSERT (o != NULL); - - dyncon = (Elf_External_Dyn *) o->contents; - dynconend = (Elf_External_Dyn *) (o->contents + o->_raw_size); - for (; dyncon < dynconend; dyncon++) - { - Elf_Internal_Dyn dyn; - const char *name; - unsigned int type; - - elf_swap_dyn_in (dynobj, dyncon, &dyn); - - switch (dyn.d_tag) - { - default: - break; - case DT_NULL: - if (relativecount > 0 && dyncon + 1 < dynconend) - { - switch (elf_section_data (reldyn)->this_hdr.sh_type) - { - case SHT_REL: dyn.d_tag = DT_RELCOUNT; break; - case SHT_RELA: dyn.d_tag = DT_RELACOUNT; break; - default: break; - } - if (dyn.d_tag != DT_NULL) - { - dyn.d_un.d_val = relativecount; - elf_swap_dyn_out (dynobj, &dyn, dyncon); - relativecount = 0; - } - } - break; - case DT_INIT: - name = info->init_function; - goto get_sym; - case DT_FINI: - name = info->fini_function; - get_sym: - { - struct elf_link_hash_entry *h; - - h = elf_link_hash_lookup (elf_hash_table (info), name, - FALSE, FALSE, TRUE); - if (h != NULL - && (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak)) - { - dyn.d_un.d_val = h->root.u.def.value; - o = h->root.u.def.section; - if (o->output_section != NULL) - dyn.d_un.d_val += (o->output_section->vma - + o->output_offset); - else - { - /* The symbol is imported from another shared - library and does not apply to this one. */ - dyn.d_un.d_val = 0; - } - - elf_swap_dyn_out (dynobj, &dyn, dyncon); - } - } - break; - - case DT_PREINIT_ARRAYSZ: - name = ".preinit_array"; - goto get_size; - case DT_INIT_ARRAYSZ: - name = ".init_array"; - goto get_size; - case DT_FINI_ARRAYSZ: - name = ".fini_array"; - get_size: - o = bfd_get_section_by_name (abfd, name); - if (o == NULL) - { - (*_bfd_error_handler) - (_("%s: could not find output section %s"), - bfd_get_filename (abfd), name); - goto error_return; - } - if (o->_raw_size == 0) - (*_bfd_error_handler) - (_("warning: %s section has zero size"), name); - dyn.d_un.d_val = o->_raw_size; - elf_swap_dyn_out (dynobj, &dyn, dyncon); - break; - - case DT_PREINIT_ARRAY: - name = ".preinit_array"; - goto get_vma; - case DT_INIT_ARRAY: - name = ".init_array"; - goto get_vma; - case DT_FINI_ARRAY: - name = ".fini_array"; - goto get_vma; - - case DT_HASH: - name = ".hash"; - goto get_vma; - case DT_STRTAB: - name = ".dynstr"; - goto get_vma; - case DT_SYMTAB: - name = ".dynsym"; - goto get_vma; - case DT_VERDEF: - name = ".gnu.version_d"; - goto get_vma; - case DT_VERNEED: - name = ".gnu.version_r"; - goto get_vma; - case DT_VERSYM: - name = ".gnu.version"; - get_vma: - o = bfd_get_section_by_name (abfd, name); - if (o == NULL) - { - (*_bfd_error_handler) - (_("%s: could not find output section %s"), - bfd_get_filename (abfd), name); - goto error_return; - } - dyn.d_un.d_ptr = o->vma; - elf_swap_dyn_out (dynobj, &dyn, dyncon); - break; - - case DT_REL: - case DT_RELA: - case DT_RELSZ: - case DT_RELASZ: - if (dyn.d_tag == DT_REL || dyn.d_tag == DT_RELSZ) - type = SHT_REL; - else - type = SHT_RELA; - dyn.d_un.d_val = 0; - for (i = 1; i < elf_numsections (abfd); i++) - { - Elf_Internal_Shdr *hdr; - - hdr = elf_elfsections (abfd)[i]; - if (hdr->sh_type == type - && (hdr->sh_flags & SHF_ALLOC) != 0) - { - if (dyn.d_tag == DT_RELSZ || dyn.d_tag == DT_RELASZ) - dyn.d_un.d_val += hdr->sh_size; - else - { - if (dyn.d_un.d_val == 0 - || hdr->sh_addr < dyn.d_un.d_val) - dyn.d_un.d_val = hdr->sh_addr; - } - } - } - elf_swap_dyn_out (dynobj, &dyn, dyncon); - break; - } - } - } - - /* If we have created any dynamic sections, then output them. */ - if (dynobj != NULL) - { - if (! (*bed->elf_backend_finish_dynamic_sections) (abfd, info)) - goto error_return; - - for (o = dynobj->sections; o != NULL; o = o->next) - { - if ((o->flags & SEC_HAS_CONTENTS) == 0 - || o->_raw_size == 0 - || o->output_section == bfd_abs_section_ptr) - continue; - if ((o->flags & SEC_LINKER_CREATED) == 0) - { - /* At this point, we are only interested in sections - created by _bfd_elf_link_create_dynamic_sections. */ - continue; - } - if ((elf_section_data (o->output_section)->this_hdr.sh_type - != SHT_STRTAB) - || strcmp (bfd_get_section_name (abfd, o), ".dynstr") != 0) - { - if (! bfd_set_section_contents (abfd, o->output_section, - o->contents, - (file_ptr) o->output_offset, - o->_raw_size)) - goto error_return; - } - else - { - /* The contents of the .dynstr section are actually in a - stringtab. */ - off = elf_section_data (o->output_section)->this_hdr.sh_offset; - if (bfd_seek (abfd, off, SEEK_SET) != 0 - || ! _bfd_elf_strtab_emit (abfd, - elf_hash_table (info)->dynstr)) - goto error_return; - } - } - } - - if (info->relocatable) - { - bfd_boolean failed = FALSE; - - bfd_map_over_sections (abfd, bfd_elf_set_group_contents, &failed); - if (failed) - goto error_return; - } - - /* If we have optimized stabs strings, output them. */ - if (elf_hash_table (info)->stab_info != NULL) - { - if (! _bfd_write_stab_strings (abfd, &elf_hash_table (info)->stab_info)) - goto error_return; - } - - if (info->eh_frame_hdr) - { - if (! _bfd_elf_write_section_eh_frame_hdr (abfd, info)) - goto error_return; - } - - if (finfo.symstrtab != NULL) - _bfd_stringtab_free (finfo.symstrtab); - if (finfo.contents != NULL) - free (finfo.contents); - if (finfo.external_relocs != NULL) - free (finfo.external_relocs); - if (finfo.internal_relocs != NULL) - free (finfo.internal_relocs); - if (finfo.external_syms != NULL) - free (finfo.external_syms); - if (finfo.locsym_shndx != NULL) - free (finfo.locsym_shndx); - if (finfo.internal_syms != NULL) - free (finfo.internal_syms); - if (finfo.indices != NULL) - free (finfo.indices); - if (finfo.sections != NULL) - free (finfo.sections); - if (finfo.symbuf != NULL) - free (finfo.symbuf); - if (finfo.symshndxbuf != NULL) - free (finfo.symshndxbuf); - for (o = abfd->sections; o != NULL; o = o->next) - { - if ((o->flags & SEC_RELOC) != 0 - && elf_section_data (o)->rel_hashes != NULL) - free (elf_section_data (o)->rel_hashes); - } - - elf_tdata (abfd)->linker = TRUE; - - return TRUE; - - error_return: - if (finfo.symstrtab != NULL) - _bfd_stringtab_free (finfo.symstrtab); - if (finfo.contents != NULL) - free (finfo.contents); - if (finfo.external_relocs != NULL) - free (finfo.external_relocs); - if (finfo.internal_relocs != NULL) - free (finfo.internal_relocs); - if (finfo.external_syms != NULL) - free (finfo.external_syms); - if (finfo.locsym_shndx != NULL) - free (finfo.locsym_shndx); - if (finfo.internal_syms != NULL) - free (finfo.internal_syms); - if (finfo.indices != NULL) - free (finfo.indices); - if (finfo.sections != NULL) - free (finfo.sections); - if (finfo.symbuf != NULL) - free (finfo.symbuf); - if (finfo.symshndxbuf != NULL) - free (finfo.symshndxbuf); - for (o = abfd->sections; o != NULL; o = o->next) - { - if ((o->flags & SEC_RELOC) != 0 - && elf_section_data (o)->rel_hashes != NULL) - free (elf_section_data (o)->rel_hashes); - } - - return FALSE; -} - -/* Add a symbol to the output symbol table. */ - -static bfd_boolean -elf_link_output_sym (struct elf_final_link_info *finfo, - const char *name, - Elf_Internal_Sym *elfsym, - asection *input_sec, - struct elf_link_hash_entry *h) -{ - Elf_External_Sym *dest; - Elf_External_Sym_Shndx *destshndx; - bfd_boolean (*output_symbol_hook) - (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *, - struct elf_link_hash_entry *); - - output_symbol_hook = get_elf_backend_data (finfo->output_bfd)-> - elf_backend_link_output_symbol_hook; - if (output_symbol_hook != NULL) - { - if (! (*output_symbol_hook) (finfo->info, name, elfsym, input_sec, h)) - return FALSE; - } - - if (name == NULL || *name == '\0') - elfsym->st_name = 0; - else if (input_sec->flags & SEC_EXCLUDE) - elfsym->st_name = 0; - else - { - elfsym->st_name = (unsigned long) _bfd_stringtab_add (finfo->symstrtab, - name, TRUE, FALSE); - if (elfsym->st_name == (unsigned long) -1) - return FALSE; - } - - if (finfo->symbuf_count >= finfo->symbuf_size) - { - if (! elf_link_flush_output_syms (finfo)) - return FALSE; - } - - dest = finfo->symbuf + finfo->symbuf_count; - destshndx = finfo->symshndxbuf; - if (destshndx != NULL) - { - if (bfd_get_symcount (finfo->output_bfd) >= finfo->shndxbuf_size) - { - bfd_size_type amt; - - amt = finfo->shndxbuf_size * sizeof (Elf_External_Sym_Shndx); - finfo->symshndxbuf = destshndx = bfd_realloc (destshndx, amt * 2); - if (destshndx == NULL) - return FALSE; - memset ((char *) destshndx + amt, 0, amt); - finfo->shndxbuf_size *= 2; - } - destshndx += bfd_get_symcount (finfo->output_bfd); - } - - elf_swap_symbol_out (finfo->output_bfd, elfsym, dest, destshndx); - finfo->symbuf_count += 1; - bfd_get_symcount (finfo->output_bfd) += 1; - - return TRUE; -} - -/* Flush the output symbols to the file. */ - -static bfd_boolean -elf_link_flush_output_syms (struct elf_final_link_info *finfo) -{ - if (finfo->symbuf_count > 0) - { - Elf_Internal_Shdr *hdr; - file_ptr pos; - bfd_size_type amt; - - hdr = &elf_tdata (finfo->output_bfd)->symtab_hdr; - pos = hdr->sh_offset + hdr->sh_size; - amt = finfo->symbuf_count * sizeof (Elf_External_Sym); - if (bfd_seek (finfo->output_bfd, pos, SEEK_SET) != 0 - || bfd_bwrite (finfo->symbuf, amt, finfo->output_bfd) != amt) - return FALSE; - - hdr->sh_size += amt; - finfo->symbuf_count = 0; - } - - return TRUE; -} - -/* For DSOs loaded in via a DT_NEEDED entry, emulate ld.so in - allowing an unsatisfied unversioned symbol in the DSO to match a - versioned symbol that would normally require an explicit version. - We also handle the case that a DSO references a hidden symbol - which may be satisfied by a versioned symbol in another DSO. */ - -static bfd_boolean -elf_link_check_versioned_symbol (struct bfd_link_info *info, - struct elf_link_hash_entry *h) -{ - bfd *abfd; - struct elf_link_loaded_list *loaded; - - if (!is_elf_hash_table (info->hash)) - return FALSE; - - switch (h->root.type) - { - default: - abfd = NULL; - break; - - case bfd_link_hash_undefined: - case bfd_link_hash_undefweak: - abfd = h->root.u.undef.abfd; - if ((abfd->flags & DYNAMIC) == 0 || elf_dt_soname (abfd) == NULL) - return FALSE; - break; - - case bfd_link_hash_defined: - case bfd_link_hash_defweak: - abfd = h->root.u.def.section->owner; - break; - - case bfd_link_hash_common: - abfd = h->root.u.c.p->section->owner; - break; - } - BFD_ASSERT (abfd != NULL); - - for (loaded = elf_hash_table (info)->loaded; - loaded != NULL; - loaded = loaded->next) - { - bfd *input; - Elf_Internal_Shdr *hdr; - bfd_size_type symcount; - bfd_size_type extsymcount; - bfd_size_type extsymoff; - Elf_Internal_Shdr *versymhdr; - Elf_Internal_Sym *isym; - Elf_Internal_Sym *isymend; - Elf_Internal_Sym *isymbuf; - Elf_External_Versym *ever; - Elf_External_Versym *extversym; - - input = loaded->abfd; - - /* We check each DSO for a possible hidden versioned definition. */ - if (input == abfd - || (input->flags & DYNAMIC) == 0 - || elf_dynversym (input) == 0) - continue; - - hdr = &elf_tdata (input)->dynsymtab_hdr; - - symcount = hdr->sh_size / sizeof (Elf_External_Sym); - if (elf_bad_symtab (input)) - { - extsymcount = symcount; - extsymoff = 0; - } - else - { - extsymcount = symcount - hdr->sh_info; - extsymoff = hdr->sh_info; - } - - if (extsymcount == 0) - continue; - - isymbuf = bfd_elf_get_elf_syms (input, hdr, extsymcount, extsymoff, - NULL, NULL, NULL); - if (isymbuf == NULL) - return FALSE; - - /* Read in any version definitions. */ - versymhdr = &elf_tdata (input)->dynversym_hdr; - extversym = bfd_malloc (versymhdr->sh_size); - if (extversym == NULL) - goto error_ret; - - if (bfd_seek (input, versymhdr->sh_offset, SEEK_SET) != 0 - || (bfd_bread (extversym, versymhdr->sh_size, input) - != versymhdr->sh_size)) - { - free (extversym); - error_ret: - free (isymbuf); - return FALSE; - } - - ever = extversym + extsymoff; - isymend = isymbuf + extsymcount; - for (isym = isymbuf; isym < isymend; isym++, ever++) - { - const char *name; - Elf_Internal_Versym iver; - unsigned short version_index; - - if (ELF_ST_BIND (isym->st_info) == STB_LOCAL - || isym->st_shndx == SHN_UNDEF) - continue; - - name = bfd_elf_string_from_elf_section (input, - hdr->sh_link, - isym->st_name); - if (strcmp (name, h->root.root.string) != 0) - continue; - - _bfd_elf_swap_versym_in (input, ever, &iver); - - if ((iver.vs_vers & VERSYM_HIDDEN) == 0) - { - /* If we have a non-hidden versioned sym, then it should - have provided a definition for the undefined sym. */ - abort (); - } - - version_index = iver.vs_vers & VERSYM_VERSION; - if (version_index == 1 || version_index == 2) - { - /* This is the base or first version. We can use it. */ - free (extversym); - free (isymbuf); - return TRUE; - } - } - - free (extversym); - free (isymbuf); - } - - return FALSE; -} - -/* Add an external symbol to the symbol table. This is called from - the hash table traversal routine. When generating a shared object, - we go through the symbol table twice. The first time we output - anything that might have been forced to local scope in a version - script. The second time we output the symbols that are still - global symbols. */ - -static bfd_boolean -elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) -{ - struct elf_outext_info *eoinfo = data; - struct elf_final_link_info *finfo = eoinfo->finfo; - bfd_boolean strip; - Elf_Internal_Sym sym; - asection *input_sec; - - if (h->root.type == bfd_link_hash_warning) - { - h = (struct elf_link_hash_entry *) h->root.u.i.link; - if (h->root.type == bfd_link_hash_new) - return TRUE; - } - - /* Decide whether to output this symbol in this pass. */ - if (eoinfo->localsyms) - { - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) - return TRUE; - } - else - { - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) - return TRUE; - } - - /* If we have an undefined symbol reference here then it must have - come from a shared library that is being linked in. (Undefined - references in regular files have already been handled). If we - are reporting errors for this situation then do so now. */ - if (h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 - && ! elf_link_check_versioned_symbol (finfo->info, h) - && finfo->info->unresolved_syms_in_shared_libs != RM_IGNORE) - { - if (! ((*finfo->info->callbacks->undefined_symbol) - (finfo->info, h->root.root.string, h->root.u.undef.abfd, - NULL, 0, finfo->info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR))) - { - eoinfo->failed = TRUE; - return FALSE; - } - } - - /* We should also warn if a forced local symbol is referenced from - shared libraries. */ - if (! finfo->info->relocatable - && (! finfo->info->shared) - && (h->elf_link_hash_flags - & (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC | ELF_LINK_DYNAMIC_DEF | ELF_LINK_DYNAMIC_WEAK)) - == (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC) - && ! elf_link_check_versioned_symbol (finfo->info, h)) - { - (*_bfd_error_handler) - (_("%s: %s symbol `%s' in %s is referenced by DSO"), - bfd_get_filename (finfo->output_bfd), - ELF_ST_VISIBILITY (h->other) == STV_INTERNAL - ? "internal" - : ELF_ST_VISIBILITY (h->other) == STV_HIDDEN - ? "hidden" : "local", - h->root.root.string, - bfd_archive_filename (h->root.u.def.section->owner)); - eoinfo->failed = TRUE; - return FALSE; - } - - /* We don't want to output symbols that have never been mentioned by - a regular file, or that we have been told to strip. However, if - h->indx is set to -2, the symbol is used by a reloc and we must - output it. */ - if (h->indx == -2) - strip = FALSE; - else if (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) - strip = TRUE; - else if (finfo->info->strip == strip_all) - strip = TRUE; - else if (finfo->info->strip == strip_some - && bfd_hash_lookup (finfo->info->keep_hash, - h->root.root.string, FALSE, FALSE) == NULL) - strip = TRUE; - else if (finfo->info->strip_discarded - && (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - && elf_discarded_section (h->root.u.def.section)) - strip = TRUE; - else - strip = FALSE; - - /* If we're stripping it, and it's not a dynamic symbol, there's - nothing else to do unless it is a forced local symbol. */ - if (strip - && h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) - return TRUE; - - sym.st_value = 0; - sym.st_size = h->size; - sym.st_other = h->other; - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) - sym.st_info = ELF_ST_INFO (STB_LOCAL, h->type); - else if (h->root.type == bfd_link_hash_undefweak - || h->root.type == bfd_link_hash_defweak) - sym.st_info = ELF_ST_INFO (STB_WEAK, h->type); - else - sym.st_info = ELF_ST_INFO (STB_GLOBAL, h->type); - - switch (h->root.type) - { - default: - case bfd_link_hash_new: - case bfd_link_hash_warning: - abort (); - return FALSE; - - case bfd_link_hash_undefined: - case bfd_link_hash_undefweak: - input_sec = bfd_und_section_ptr; - sym.st_shndx = SHN_UNDEF; - break; - - case bfd_link_hash_defined: - case bfd_link_hash_defweak: - { - input_sec = h->root.u.def.section; - if (input_sec->output_section != NULL) - { - sym.st_shndx = - _bfd_elf_section_from_bfd_section (finfo->output_bfd, - input_sec->output_section); - if (sym.st_shndx == SHN_BAD) - { - (*_bfd_error_handler) - (_("%s: could not find output section %s for input section %s"), - bfd_get_filename (finfo->output_bfd), - input_sec->output_section->name, - input_sec->name); - eoinfo->failed = TRUE; - return FALSE; - } - - /* ELF symbols in relocatable files are section relative, - but in nonrelocatable files they are virtual - addresses. */ - sym.st_value = h->root.u.def.value + input_sec->output_offset; - if (! finfo->info->relocatable) - { - sym.st_value += input_sec->output_section->vma; - if (h->type == STT_TLS) - { - /* STT_TLS symbols are relative to PT_TLS segment - base. */ - BFD_ASSERT (elf_hash_table (finfo->info)->tls_sec != NULL); - sym.st_value -= elf_hash_table (finfo->info)->tls_sec->vma; - } - } - } - else - { - BFD_ASSERT (input_sec->owner == NULL - || (input_sec->owner->flags & DYNAMIC) != 0); - sym.st_shndx = SHN_UNDEF; - input_sec = bfd_und_section_ptr; - } - } - break; - - case bfd_link_hash_common: - input_sec = h->root.u.c.p->section; - sym.st_shndx = SHN_COMMON; - sym.st_value = 1 << h->root.u.c.p->alignment_power; - break; - - case bfd_link_hash_indirect: - /* These symbols are created by symbol versioning. They point - to the decorated version of the name. For example, if the - symbol foo@@GNU_1.2 is the default, which should be used when - foo is used with no version, then we add an indirect symbol - foo which points to foo@@GNU_1.2. We ignore these symbols, - since the indirected symbol is already in the hash table. */ - return TRUE; - } - - /* Give the processor backend a chance to tweak the symbol value, - and also to finish up anything that needs to be done for this - symbol. FIXME: Not calling elf_backend_finish_dynamic_symbol for - forced local syms when non-shared is due to a historical quirk. */ - if ((h->dynindx != -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) - && ((finfo->info->shared - && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT - || h->root.type != bfd_link_hash_undefweak)) - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) - && elf_hash_table (finfo->info)->dynamic_sections_created) - { - const struct elf_backend_data *bed; - - bed = get_elf_backend_data (finfo->output_bfd); - if (! ((*bed->elf_backend_finish_dynamic_symbol) - (finfo->output_bfd, finfo->info, h, &sym))) - { - eoinfo->failed = TRUE; - return FALSE; - } - } - - /* If we are marking the symbol as undefined, and there are no - non-weak references to this symbol from a regular object, then - mark the symbol as weak undefined; if there are non-weak - references, mark the symbol as strong. We can't do this earlier, - because it might not be marked as undefined until the - finish_dynamic_symbol routine gets through with it. */ - if (sym.st_shndx == SHN_UNDEF - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0 - && (ELF_ST_BIND (sym.st_info) == STB_GLOBAL - || ELF_ST_BIND (sym.st_info) == STB_WEAK)) - { - int bindtype; - - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) != 0) - bindtype = STB_GLOBAL; - else - bindtype = STB_WEAK; - sym.st_info = ELF_ST_INFO (bindtype, ELF_ST_TYPE (sym.st_info)); - } - - /* If a non-weak symbol with non-default visibility is not defined - locally, it is a fatal error. */ - if (! finfo->info->relocatable - && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT - && ELF_ST_BIND (sym.st_info) != STB_WEAK - && h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) - { - (*_bfd_error_handler) - (_("%s: %s symbol `%s' isn't defined"), - bfd_get_filename (finfo->output_bfd), - ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED - ? "protected" - : ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL - ? "internal" : "hidden", - h->root.root.string); - eoinfo->failed = TRUE; - return FALSE; - } - - /* If this symbol should be put in the .dynsym section, then put it - there now. We already know the symbol index. We also fill in - the entry in the .hash section. */ - if (h->dynindx != -1 - && elf_hash_table (finfo->info)->dynamic_sections_created) - { - size_t bucketcount; - size_t bucket; - size_t hash_entry_size; - bfd_byte *bucketpos; - bfd_vma chain; - Elf_External_Sym *esym; - - sym.st_name = h->dynstr_index; - esym = (Elf_External_Sym *) finfo->dynsym_sec->contents + h->dynindx; - elf_swap_symbol_out (finfo->output_bfd, &sym, esym, 0); - - bucketcount = elf_hash_table (finfo->info)->bucketcount; - bucket = h->elf_hash_value % bucketcount; - hash_entry_size - = elf_section_data (finfo->hash_sec)->this_hdr.sh_entsize; - bucketpos = ((bfd_byte *) finfo->hash_sec->contents - + (bucket + 2) * hash_entry_size); - chain = bfd_get (8 * hash_entry_size, finfo->output_bfd, bucketpos); - bfd_put (8 * hash_entry_size, finfo->output_bfd, h->dynindx, bucketpos); - bfd_put (8 * hash_entry_size, finfo->output_bfd, chain, - ((bfd_byte *) finfo->hash_sec->contents - + (bucketcount + 2 + h->dynindx) * hash_entry_size)); - - if (finfo->symver_sec != NULL && finfo->symver_sec->contents != NULL) - { - Elf_Internal_Versym iversym; - Elf_External_Versym *eversym; - - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) - { - if (h->verinfo.verdef == NULL) - iversym.vs_vers = 0; - else - iversym.vs_vers = h->verinfo.verdef->vd_exp_refno + 1; - } - else - { - if (h->verinfo.vertree == NULL) - iversym.vs_vers = 1; - else - iversym.vs_vers = h->verinfo.vertree->vernum + 1; - } - - if ((h->elf_link_hash_flags & ELF_LINK_HIDDEN) != 0) - iversym.vs_vers |= VERSYM_HIDDEN; - - eversym = (Elf_External_Versym *) finfo->symver_sec->contents; - eversym += h->dynindx; - _bfd_elf_swap_versym_out (finfo->output_bfd, &iversym, eversym); - } - } - - /* If we're stripping it, then it was just a dynamic symbol, and - there's nothing else to do. */ - if (strip || (input_sec->flags & SEC_EXCLUDE) != 0) - return TRUE; - - h->indx = bfd_get_symcount (finfo->output_bfd); - - if (! elf_link_output_sym (finfo, h->root.root.string, &sym, input_sec, h)) - { - eoinfo->failed = TRUE; - return FALSE; - } - - return TRUE; -} - -/* Link an input file into the linker output file. This function - handles all the sections and relocations of the input file at once. - This is so that we only have to read the local symbols once, and - don't have to keep them in memory. */ - -static bfd_boolean -elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd) -{ - bfd_boolean (*relocate_section) - (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, - Elf_Internal_Rela *, Elf_Internal_Sym *, asection **); - bfd *output_bfd; - Elf_Internal_Shdr *symtab_hdr; - size_t locsymcount; - size_t extsymoff; - Elf_Internal_Sym *isymbuf; - Elf_Internal_Sym *isym; - Elf_Internal_Sym *isymend; - long *pindex; - asection **ppsection; - asection *o; - const struct elf_backend_data *bed; - bfd_boolean emit_relocs; - struct elf_link_hash_entry **sym_hashes; - - output_bfd = finfo->output_bfd; - bed = get_elf_backend_data (output_bfd); - relocate_section = bed->elf_backend_relocate_section; - - /* If this is a dynamic object, we don't want to do anything here: - we don't want the local symbols, and we don't want the section - contents. */ - if ((input_bfd->flags & DYNAMIC) != 0) - return TRUE; - - emit_relocs = (finfo->info->relocatable - || finfo->info->emitrelocations - || bed->elf_backend_emit_relocs); - - symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; - if (elf_bad_symtab (input_bfd)) - { - locsymcount = symtab_hdr->sh_size / sizeof (Elf_External_Sym); - extsymoff = 0; - } - else - { - locsymcount = symtab_hdr->sh_info; - extsymoff = symtab_hdr->sh_info; - } - - /* Read the local symbols. */ - isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents; - if (isymbuf == NULL && locsymcount != 0) - { - isymbuf = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, locsymcount, 0, - finfo->internal_syms, - finfo->external_syms, - finfo->locsym_shndx); - if (isymbuf == NULL) - return FALSE; - } - - /* Find local symbol sections and adjust values of symbols in - SEC_MERGE sections. Write out those local symbols we know are - going into the output file. */ - isymend = isymbuf + locsymcount; - for (isym = isymbuf, pindex = finfo->indices, ppsection = finfo->sections; - isym < isymend; - isym++, pindex++, ppsection++) - { - asection *isec; - const char *name; - Elf_Internal_Sym osym; - - *pindex = -1; - - if (elf_bad_symtab (input_bfd)) - { - if (ELF_ST_BIND (isym->st_info) != STB_LOCAL) - { - *ppsection = NULL; - continue; - } - } - - if (isym->st_shndx == SHN_UNDEF) - isec = bfd_und_section_ptr; - else if (isym->st_shndx < SHN_LORESERVE - || isym->st_shndx > SHN_HIRESERVE) - { - isec = section_from_elf_index (input_bfd, isym->st_shndx); - if (isec - && isec->sec_info_type == ELF_INFO_TYPE_MERGE - && ELF_ST_TYPE (isym->st_info) != STT_SECTION) - isym->st_value = - _bfd_merged_section_offset (output_bfd, &isec, - elf_section_data (isec)->sec_info, - isym->st_value, 0); - } - else if (isym->st_shndx == SHN_ABS) - isec = bfd_abs_section_ptr; - else if (isym->st_shndx == SHN_COMMON) - isec = bfd_com_section_ptr; - else - { - /* Who knows? */ - isec = NULL; - } - - *ppsection = isec; - - /* Don't output the first, undefined, symbol. */ - if (ppsection == finfo->sections) - continue; - - if (ELF_ST_TYPE (isym->st_info) == STT_SECTION) - { - /* We never output section symbols. Instead, we use the - section symbol of the corresponding section in the output - file. */ - continue; - } - - /* If we are stripping all symbols, we don't want to output this - one. */ - if (finfo->info->strip == strip_all) - continue; - - /* If we are discarding all local symbols, we don't want to - output this one. If we are generating a relocatable output - file, then some of the local symbols may be required by - relocs; we output them below as we discover that they are - needed. */ - if (finfo->info->discard == discard_all) - continue; - - /* If this symbol is defined in a section which we are - discarding, we don't need to keep it, but note that - linker_mark is only reliable for sections that have contents. - For the benefit of the MIPS ELF linker, we check SEC_EXCLUDE - as well as linker_mark. */ - if ((isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE) - && isec != NULL - && ((! isec->linker_mark && (isec->flags & SEC_HAS_CONTENTS) != 0) - || (! finfo->info->relocatable - && (isec->flags & SEC_EXCLUDE) != 0))) - continue; - - /* Get the name of the symbol. */ - name = bfd_elf_string_from_elf_section (input_bfd, symtab_hdr->sh_link, - isym->st_name); - if (name == NULL) - return FALSE; - - /* See if we are discarding symbols with this name. */ - if ((finfo->info->strip == strip_some - && (bfd_hash_lookup (finfo->info->keep_hash, name, FALSE, FALSE) - == NULL)) - || (((finfo->info->discard == discard_sec_merge - && (isec->flags & SEC_MERGE) && ! finfo->info->relocatable) - || finfo->info->discard == discard_l) - && bfd_is_local_label_name (input_bfd, name))) - continue; - - /* If we get here, we are going to output this symbol. */ - - osym = *isym; - - /* Adjust the section index for the output file. */ - osym.st_shndx = _bfd_elf_section_from_bfd_section (output_bfd, - isec->output_section); - if (osym.st_shndx == SHN_BAD) - return FALSE; - - *pindex = bfd_get_symcount (output_bfd); - - /* ELF symbols in relocatable files are section relative, but - in executable files they are virtual addresses. Note that - this code assumes that all ELF sections have an associated - BFD section with a reasonable value for output_offset; below - we assume that they also have a reasonable value for - output_section. Any special sections must be set up to meet - these requirements. */ - osym.st_value += isec->output_offset; - if (! finfo->info->relocatable) - { - osym.st_value += isec->output_section->vma; - if (ELF_ST_TYPE (osym.st_info) == STT_TLS) - { - /* STT_TLS symbols are relative to PT_TLS segment base. */ - BFD_ASSERT (elf_hash_table (finfo->info)->tls_sec != NULL); - osym.st_value -= elf_hash_table (finfo->info)->tls_sec->vma; - } - } - - if (! elf_link_output_sym (finfo, name, &osym, isec, NULL)) - return FALSE; - } - - /* Relocate the contents of each section. */ - sym_hashes = elf_sym_hashes (input_bfd); - for (o = input_bfd->sections; o != NULL; o = o->next) - { - bfd_byte *contents; - - if (! o->linker_mark) - { - /* This section was omitted from the link. */ - continue; - } - - if ((o->flags & SEC_HAS_CONTENTS) == 0 - || (o->_raw_size == 0 && (o->flags & SEC_RELOC) == 0)) - continue; - - if ((o->flags & SEC_LINKER_CREATED) != 0) - { - /* Section was created by _bfd_elf_link_create_dynamic_sections - or somesuch. */ - continue; - } - - /* Get the contents of the section. They have been cached by a - relaxation routine. Note that o is a section in an input - file, so the contents field will not have been set by any of - the routines which work on output files. */ - if (elf_section_data (o)->this_hdr.contents != NULL) - contents = elf_section_data (o)->this_hdr.contents; - else - { - contents = finfo->contents; - if (! bfd_get_section_contents (input_bfd, o, contents, 0, - o->_raw_size)) - return FALSE; - } - - if ((o->flags & SEC_RELOC) != 0) - { - Elf_Internal_Rela *internal_relocs; - - /* Get the swapped relocs. */ - internal_relocs - = _bfd_elf_link_read_relocs (input_bfd, o, finfo->external_relocs, - finfo->internal_relocs, FALSE); - if (internal_relocs == NULL - && o->reloc_count > 0) - return FALSE; - - /* Run through the relocs looking for any against symbols - from discarded sections and section symbols from - removed link-once sections. Complain about relocs - against discarded sections. Zero relocs against removed - link-once sections. Preserve debug information as much - as we can. */ - if (!elf_section_ignore_discarded_relocs (o)) - { - Elf_Internal_Rela *rel, *relend; - - rel = internal_relocs; - relend = rel + o->reloc_count * bed->s->int_rels_per_ext_rel; - for ( ; rel < relend; rel++) - { - unsigned long r_symndx = ELF_R_SYM (rel->r_info); - asection *sec; - - if (r_symndx >= locsymcount - || (elf_bad_symtab (input_bfd) - && finfo->sections[r_symndx] == NULL)) - { - struct elf_link_hash_entry *h; - - h = sym_hashes[r_symndx - extsymoff]; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - /* Complain if the definition comes from a - discarded section. */ - sec = h->root.u.def.section; - if ((h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - && elf_discarded_section (sec)) - { - if ((o->flags & SEC_DEBUGGING) != 0) - { - BFD_ASSERT (r_symndx != 0); - /* Try to preserve debug information. */ - if ((o->flags & SEC_DEBUGGING) != 0 - && sec->kept_section != NULL - && sec->_raw_size == sec->kept_section->_raw_size) - h->root.u.def.section - = sec->kept_section; - else - memset (rel, 0, sizeof (*rel)); - } - else - finfo->info->callbacks->error_handler - (LD_DEFINITION_IN_DISCARDED_SECTION, - _("%T: discarded in section `%s' from %s\n"), - h->root.root.string, - h->root.root.string, - h->root.u.def.section->name, - bfd_archive_filename (h->root.u.def.section->owner)); - } - } - else - { - sec = finfo->sections[r_symndx]; - - if (sec != NULL && elf_discarded_section (sec)) - { - if ((o->flags & SEC_DEBUGGING) != 0 - || (sec->flags & SEC_LINK_ONCE) != 0) - { - BFD_ASSERT (r_symndx != 0); - /* Try to preserve debug information. */ - if ((o->flags & SEC_DEBUGGING) != 0 - && sec->kept_section != NULL - && sec->_raw_size == sec->kept_section->_raw_size) - finfo->sections[r_symndx] - = sec->kept_section; - else - { - rel->r_info - = ELF_R_INFO (0, ELF_R_TYPE (rel->r_info)); - rel->r_addend = 0; - } - } - else - { - static int count; - int ok; - char *buf; - - ok = asprintf (&buf, "local symbol %d", - count++); - if (ok <= 0) - buf = (char *) "local symbol"; - finfo->info->callbacks->error_handler - (LD_DEFINITION_IN_DISCARDED_SECTION, - _("%T: discarded in section `%s' from %s\n"), - buf, buf, sec->name, - bfd_archive_filename (input_bfd)); - if (ok != -1) - free (buf); - } - } - } - } - } - - /* Relocate the section by invoking a back end routine. - - The back end routine is responsible for adjusting the - section contents as necessary, and (if using Rela relocs - and generating a relocatable output file) adjusting the - reloc addend as necessary. - - The back end routine does not have to worry about setting - the reloc address or the reloc symbol index. - - The back end routine is given a pointer to the swapped in - internal symbols, and can access the hash table entries - for the external symbols via elf_sym_hashes (input_bfd). - - When generating relocatable output, the back end routine - must handle STB_LOCAL/STT_SECTION symbols specially. The - output symbol is going to be a section symbol - corresponding to the output section, which will require - the addend to be adjusted. */ - - if (! (*relocate_section) (output_bfd, finfo->info, - input_bfd, o, contents, - internal_relocs, - isymbuf, - finfo->sections)) - return FALSE; - - if (emit_relocs) - { - Elf_Internal_Rela *irela; - Elf_Internal_Rela *irelaend; - bfd_vma last_offset; - struct elf_link_hash_entry **rel_hash; - Elf_Internal_Shdr *input_rel_hdr, *input_rel_hdr2; - unsigned int next_erel; - bfd_boolean (*reloc_emitter) - (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *); - bfd_boolean rela_normal; - - input_rel_hdr = &elf_section_data (o)->rel_hdr; - rela_normal = (bed->rela_normal - && (input_rel_hdr->sh_entsize - == sizeof (Elf_External_Rela))); - - /* Adjust the reloc addresses and symbol indices. */ - - irela = internal_relocs; - irelaend = irela + o->reloc_count * bed->s->int_rels_per_ext_rel; - rel_hash = (elf_section_data (o->output_section)->rel_hashes - + elf_section_data (o->output_section)->rel_count - + elf_section_data (o->output_section)->rel_count2); - last_offset = o->output_offset; - if (!finfo->info->relocatable) - last_offset += o->output_section->vma; - for (next_erel = 0; irela < irelaend; irela++, next_erel++) - { - unsigned long r_symndx; - asection *sec; - Elf_Internal_Sym sym; - - if (next_erel == bed->s->int_rels_per_ext_rel) - { - rel_hash++; - next_erel = 0; - } - - irela->r_offset = _bfd_elf_section_offset (output_bfd, - finfo->info, o, - irela->r_offset); - if (irela->r_offset >= (bfd_vma) -2) - { - /* This is a reloc for a deleted entry or somesuch. - Turn it into an R_*_NONE reloc, at the same - offset as the last reloc. elf_eh_frame.c and - elf_bfd_discard_info rely on reloc offsets - being ordered. */ - irela->r_offset = last_offset; - irela->r_info = 0; - irela->r_addend = 0; - continue; - } - - irela->r_offset += o->output_offset; - - /* Relocs in an executable have to be virtual addresses. */ - if (!finfo->info->relocatable) - irela->r_offset += o->output_section->vma; - - last_offset = irela->r_offset; - - r_symndx = ELF_R_SYM (irela->r_info); - if (r_symndx == STN_UNDEF) - continue; - - if (r_symndx >= locsymcount - || (elf_bad_symtab (input_bfd) - && finfo->sections[r_symndx] == NULL)) - { - struct elf_link_hash_entry *rh; - unsigned long indx; - - /* This is a reloc against a global symbol. We - have not yet output all the local symbols, so - we do not know the symbol index of any global - symbol. We set the rel_hash entry for this - reloc to point to the global hash table entry - for this symbol. The symbol index is then - set at the end of elf_bfd_final_link. */ - indx = r_symndx - extsymoff; - rh = elf_sym_hashes (input_bfd)[indx]; - while (rh->root.type == bfd_link_hash_indirect - || rh->root.type == bfd_link_hash_warning) - rh = (struct elf_link_hash_entry *) rh->root.u.i.link; - - /* Setting the index to -2 tells - elf_link_output_extsym that this symbol is - used by a reloc. */ - BFD_ASSERT (rh->indx < 0); - rh->indx = -2; - - *rel_hash = rh; - - continue; - } - - /* This is a reloc against a local symbol. */ - - *rel_hash = NULL; - sym = isymbuf[r_symndx]; - sec = finfo->sections[r_symndx]; - if (ELF_ST_TYPE (sym.st_info) == STT_SECTION) - { - /* I suppose the backend ought to fill in the - section of any STT_SECTION symbol against a - processor specific section. If we have - discarded a section, the output_section will - be the absolute section. */ - if (bfd_is_abs_section (sec) - || (sec != NULL - && bfd_is_abs_section (sec->output_section))) - r_symndx = 0; - else if (sec == NULL || sec->owner == NULL) - { - bfd_set_error (bfd_error_bad_value); - return FALSE; - } - else - { - r_symndx = sec->output_section->target_index; - BFD_ASSERT (r_symndx != 0); - } - - /* Adjust the addend according to where the - section winds up in the output section. */ - if (rela_normal) - irela->r_addend += sec->output_offset; - } - else - { - if (finfo->indices[r_symndx] == -1) - { - unsigned long shlink; - const char *name; - asection *osec; - - if (finfo->info->strip == strip_all) - { - /* You can't do ld -r -s. */ - bfd_set_error (bfd_error_invalid_operation); - return FALSE; - } - - /* This symbol was skipped earlier, but - since it is needed by a reloc, we - must output it now. */ - shlink = symtab_hdr->sh_link; - name = (bfd_elf_string_from_elf_section - (input_bfd, shlink, sym.st_name)); - if (name == NULL) - return FALSE; - - osec = sec->output_section; - sym.st_shndx = - _bfd_elf_section_from_bfd_section (output_bfd, - osec); - if (sym.st_shndx == SHN_BAD) - return FALSE; - - sym.st_value += sec->output_offset; - if (! finfo->info->relocatable) - { - sym.st_value += osec->vma; - if (ELF_ST_TYPE (sym.st_info) == STT_TLS) - { - /* STT_TLS symbols are relative to PT_TLS - segment base. */ - BFD_ASSERT (elf_hash_table (finfo->info) - ->tls_sec != NULL); - sym.st_value -= (elf_hash_table (finfo->info) - ->tls_sec->vma); - } - } - - finfo->indices[r_symndx] - = bfd_get_symcount (output_bfd); - - if (! elf_link_output_sym (finfo, name, &sym, sec, - NULL)) - return FALSE; - } - - r_symndx = finfo->indices[r_symndx]; - } - - irela->r_info = ELF_R_INFO (r_symndx, - ELF_R_TYPE (irela->r_info)); - } - - /* Swap out the relocs. */ - if (bed->elf_backend_emit_relocs - && !(finfo->info->relocatable - || finfo->info->emitrelocations)) - reloc_emitter = bed->elf_backend_emit_relocs; - else - reloc_emitter = _bfd_elf_link_output_relocs; - - if (input_rel_hdr->sh_size != 0 - && ! (*reloc_emitter) (output_bfd, o, input_rel_hdr, - internal_relocs)) - return FALSE; - - input_rel_hdr2 = elf_section_data (o)->rel_hdr2; - if (input_rel_hdr2 && input_rel_hdr2->sh_size != 0) - { - internal_relocs += (NUM_SHDR_ENTRIES (input_rel_hdr) - * bed->s->int_rels_per_ext_rel); - if (! (*reloc_emitter) (output_bfd, o, input_rel_hdr2, - internal_relocs)) - return FALSE; - } - } - } - - /* Write out the modified section contents. */ - if (bed->elf_backend_write_section - && (*bed->elf_backend_write_section) (output_bfd, o, contents)) - { - /* Section written out. */ - } - else switch (o->sec_info_type) - { - case ELF_INFO_TYPE_STABS: - if (! (_bfd_write_section_stabs - (output_bfd, - &elf_hash_table (finfo->info)->stab_info, - o, &elf_section_data (o)->sec_info, contents))) - return FALSE; - break; - case ELF_INFO_TYPE_MERGE: - if (! _bfd_write_merged_section (output_bfd, o, - elf_section_data (o)->sec_info)) - return FALSE; - break; - case ELF_INFO_TYPE_EH_FRAME: - { - if (! _bfd_elf_write_section_eh_frame (output_bfd, finfo->info, - o, contents)) - return FALSE; - } - break; - default: - { - bfd_size_type sec_size; - - sec_size = (o->_cooked_size != 0 ? o->_cooked_size : o->_raw_size); - if (! (o->flags & SEC_EXCLUDE) - && ! bfd_set_section_contents (output_bfd, o->output_section, - contents, - (file_ptr) o->output_offset, - sec_size)) - return FALSE; - } - break; - } - } - - return TRUE; -} - -/* Generate a reloc when linking an ELF file. This is a reloc - requested by the linker, and does come from any input file. This - is used to build constructor and destructor tables when linking - with -Ur. */ - -static bfd_boolean -elf_reloc_link_order (bfd *output_bfd, - struct bfd_link_info *info, - asection *output_section, - struct bfd_link_order *link_order) -{ - reloc_howto_type *howto; - long indx; - bfd_vma offset; - bfd_vma addend; - struct elf_link_hash_entry **rel_hash_ptr; - Elf_Internal_Shdr *rel_hdr; - const struct elf_backend_data *bed = get_elf_backend_data (output_bfd); - Elf_Internal_Rela irel[MAX_INT_RELS_PER_EXT_REL]; - bfd_byte *erel; - unsigned int i; - - howto = bfd_reloc_type_lookup (output_bfd, link_order->u.reloc.p->reloc); - if (howto == NULL) - { - bfd_set_error (bfd_error_bad_value); - return FALSE; - } - - addend = link_order->u.reloc.p->addend; - - /* Figure out the symbol index. */ - rel_hash_ptr = (elf_section_data (output_section)->rel_hashes - + elf_section_data (output_section)->rel_count - + elf_section_data (output_section)->rel_count2); - if (link_order->type == bfd_section_reloc_link_order) - { - indx = link_order->u.reloc.p->u.section->target_index; - BFD_ASSERT (indx != 0); - *rel_hash_ptr = NULL; - } - else - { - struct elf_link_hash_entry *h; - - /* Treat a reloc against a defined symbol as though it were - actually against the section. */ - h = ((struct elf_link_hash_entry *) - bfd_wrapped_link_hash_lookup (output_bfd, info, - link_order->u.reloc.p->u.name, - FALSE, FALSE, TRUE)); - if (h != NULL - && (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak)) - { - asection *section; - - section = h->root.u.def.section; - indx = section->output_section->target_index; - *rel_hash_ptr = NULL; - /* It seems that we ought to add the symbol value to the - addend here, but in practice it has already been added - because it was passed to constructor_callback. */ - addend += section->output_section->vma + section->output_offset; - } - else if (h != NULL) - { - /* Setting the index to -2 tells elf_link_output_extsym that - this symbol is used by a reloc. */ - h->indx = -2; - *rel_hash_ptr = h; - indx = 0; - } - else - { - if (! ((*info->callbacks->unattached_reloc) - (info, link_order->u.reloc.p->u.name, NULL, NULL, 0))) - return FALSE; - indx = 0; - } - } - - /* If this is an inplace reloc, we must write the addend into the - object file. */ - if (howto->partial_inplace && addend != 0) - { - bfd_size_type size; - bfd_reloc_status_type rstat; - bfd_byte *buf; - bfd_boolean ok; - const char *sym_name; - - size = bfd_get_reloc_size (howto); - buf = bfd_zmalloc (size); - if (buf == NULL) - return FALSE; - rstat = _bfd_relocate_contents (howto, output_bfd, addend, buf); - switch (rstat) - { - case bfd_reloc_ok: - break; - - default: - case bfd_reloc_outofrange: - abort (); - - case bfd_reloc_overflow: - if (link_order->type == bfd_section_reloc_link_order) - sym_name = bfd_section_name (output_bfd, - link_order->u.reloc.p->u.section); - else - sym_name = link_order->u.reloc.p->u.name; - if (! ((*info->callbacks->reloc_overflow) - (info, sym_name, howto->name, addend, NULL, NULL, 0))) - { - free (buf); - return FALSE; - } - break; - } - ok = bfd_set_section_contents (output_bfd, output_section, buf, - link_order->offset, size); - free (buf); - if (! ok) - return FALSE; - } - - /* The address of a reloc is relative to the section in a - relocatable file, and is a virtual address in an executable - file. */ - offset = link_order->offset; - if (! info->relocatable) - offset += output_section->vma; - - for (i = 0; i < bed->s->int_rels_per_ext_rel; i++) - { - irel[i].r_offset = offset; - irel[i].r_info = 0; - irel[i].r_addend = 0; - } - irel[0].r_info = ELF_R_INFO (indx, howto->type); - - rel_hdr = &elf_section_data (output_section)->rel_hdr; - erel = rel_hdr->contents; - if (rel_hdr->sh_type == SHT_REL) - { - erel += (elf_section_data (output_section)->rel_count - * sizeof (Elf_External_Rel)); - (*bed->s->swap_reloc_out) (output_bfd, irel, erel); - } - else - { - irel[0].r_addend = addend; - erel += (elf_section_data (output_section)->rel_count - * sizeof (Elf_External_Rela)); - (*bed->s->swap_reloca_out) (output_bfd, irel, erel); - } - - ++elf_section_data (output_section)->rel_count; - - return TRUE; -} - -/* Garbage collect unused sections. */ - -static bfd_boolean elf_gc_sweep_symbol - (struct elf_link_hash_entry *, void *); - -static bfd_boolean elf_gc_allocate_got_offsets - (struct elf_link_hash_entry *, void *); - -/* The mark phase of garbage collection. For a given section, mark - it and any sections in this section's group, and all the sections - which define symbols to which it refers. */ - -typedef asection * (*gc_mark_hook_fn) - (asection *, struct bfd_link_info *, Elf_Internal_Rela *, - struct elf_link_hash_entry *, Elf_Internal_Sym *); - -static bfd_boolean -elf_gc_mark (struct bfd_link_info *info, - asection *sec, - gc_mark_hook_fn gc_mark_hook) -{ - bfd_boolean ret; - asection *group_sec; - - sec->gc_mark = 1; - - /* Mark all the sections in the group. */ - group_sec = elf_section_data (sec)->next_in_group; - if (group_sec && !group_sec->gc_mark) - if (!elf_gc_mark (info, group_sec, gc_mark_hook)) - return FALSE; - - /* Look through the section relocs. */ - ret = TRUE; - if ((sec->flags & SEC_RELOC) != 0 && sec->reloc_count > 0) - { - Elf_Internal_Rela *relstart, *rel, *relend; - Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes; - size_t nlocsyms; - size_t extsymoff; - bfd *input_bfd = sec->owner; - const struct elf_backend_data *bed = get_elf_backend_data (input_bfd); - Elf_Internal_Sym *isym = NULL; - - symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; - sym_hashes = elf_sym_hashes (input_bfd); - - /* Read the local symbols. */ - if (elf_bad_symtab (input_bfd)) - { - nlocsyms = symtab_hdr->sh_size / sizeof (Elf_External_Sym); - extsymoff = 0; - } - else - extsymoff = nlocsyms = symtab_hdr->sh_info; - - isym = (Elf_Internal_Sym *) symtab_hdr->contents; - if (isym == NULL && nlocsyms != 0) - { - isym = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, nlocsyms, 0, - NULL, NULL, NULL); - if (isym == NULL) - return FALSE; - } - - /* Read the relocations. */ - relstart = _bfd_elf_link_read_relocs (input_bfd, sec, NULL, NULL, - info->keep_memory); - if (relstart == NULL) - { - ret = FALSE; - goto out1; - } - relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel; - - for (rel = relstart; rel < relend; rel++) - { - unsigned long r_symndx; - asection *rsec; - struct elf_link_hash_entry *h; - - r_symndx = ELF_R_SYM (rel->r_info); - if (r_symndx == 0) - continue; - - if (r_symndx >= nlocsyms - || ELF_ST_BIND (isym[r_symndx].st_info) != STB_LOCAL) - { - h = sym_hashes[r_symndx - extsymoff]; - rsec = (*gc_mark_hook) (sec, info, rel, h, NULL); - } - else - { - rsec = (*gc_mark_hook) (sec, info, rel, NULL, &isym[r_symndx]); - } - - if (rsec && !rsec->gc_mark) - { - if (bfd_get_flavour (rsec->owner) != bfd_target_elf_flavour) - rsec->gc_mark = 1; - else if (!elf_gc_mark (info, rsec, gc_mark_hook)) - { - ret = FALSE; - goto out2; - } - } - } - - out2: - if (elf_section_data (sec)->relocs != relstart) - free (relstart); - out1: - if (isym != NULL && symtab_hdr->contents != (unsigned char *) isym) - { - if (! info->keep_memory) - free (isym); - else - symtab_hdr->contents = (unsigned char *) isym; - } - } - - return ret; -} - -/* The sweep phase of garbage collection. Remove all garbage sections. */ - -typedef bfd_boolean (*gc_sweep_hook_fn) - (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *); - -static bfd_boolean -elf_gc_sweep (struct bfd_link_info *info, gc_sweep_hook_fn gc_sweep_hook) -{ - bfd *sub; - - for (sub = info->input_bfds; sub != NULL; sub = sub->link_next) - { - asection *o; - - if (bfd_get_flavour (sub) != bfd_target_elf_flavour) - continue; - - for (o = sub->sections; o != NULL; o = o->next) - { - /* Keep special sections. Keep .debug sections. */ - if ((o->flags & SEC_LINKER_CREATED) - || (o->flags & SEC_DEBUGGING)) - o->gc_mark = 1; - - if (o->gc_mark) - continue; - - /* Skip sweeping sections already excluded. */ - if (o->flags & SEC_EXCLUDE) - continue; - - /* Since this is early in the link process, it is simple - to remove a section from the output. */ - o->flags |= SEC_EXCLUDE; - - /* But we also have to update some of the relocation - info we collected before. */ - if (gc_sweep_hook - && (o->flags & SEC_RELOC) && o->reloc_count > 0) - { - Elf_Internal_Rela *internal_relocs; - bfd_boolean r; - - internal_relocs - = _bfd_elf_link_read_relocs (o->owner, o, NULL, NULL, - info->keep_memory); - if (internal_relocs == NULL) - return FALSE; - - r = (*gc_sweep_hook) (o->owner, info, o, internal_relocs); - - if (elf_section_data (o)->relocs != internal_relocs) - free (internal_relocs); - - if (!r) - return FALSE; - } - } - } - - /* Remove the symbols that were in the swept sections from the dynamic - symbol table. GCFIXME: Anyone know how to get them out of the - static symbol table as well? */ - { - int i = 0; - - elf_link_hash_traverse (elf_hash_table (info), elf_gc_sweep_symbol, &i); - - elf_hash_table (info)->dynsymcount = i; - } - - return TRUE; -} - -/* Sweep symbols in swept sections. Called via elf_link_hash_traverse. */ - -static bfd_boolean -elf_gc_sweep_symbol (struct elf_link_hash_entry *h, void *idxptr) -{ - int *idx = idxptr; - - if (h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - if (h->dynindx != -1 - && ((h->root.type != bfd_link_hash_defined - && h->root.type != bfd_link_hash_defweak) - || h->root.u.def.section->gc_mark)) - h->dynindx = (*idx)++; - - return TRUE; -} - -/* Propagate collected vtable information. This is called through - elf_link_hash_traverse. */ - -static bfd_boolean -elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp) -{ - if (h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - /* Those that are not vtables. */ - if (h->vtable_parent == NULL) - return TRUE; - - /* Those vtables that do not have parents, we cannot merge. */ - if (h->vtable_parent == (struct elf_link_hash_entry *) -1) - return TRUE; - - /* If we've already been done, exit. */ - if (h->vtable_entries_used && h->vtable_entries_used[-1]) - return TRUE; - - /* Make sure the parent's table is up to date. */ - elf_gc_propagate_vtable_entries_used (h->vtable_parent, okp); - - if (h->vtable_entries_used == NULL) - { - /* None of this table's entries were referenced. Re-use the - parent's table. */ - h->vtable_entries_used = h->vtable_parent->vtable_entries_used; - h->vtable_entries_size = h->vtable_parent->vtable_entries_size; - } - else - { - size_t n; - bfd_boolean *cu, *pu; - - /* Or the parent's entries into ours. */ - cu = h->vtable_entries_used; - cu[-1] = TRUE; - pu = h->vtable_parent->vtable_entries_used; - if (pu != NULL) - { - const struct elf_backend_data *bed; - unsigned int log_file_align; - - bed = get_elf_backend_data (h->root.u.def.section->owner); - log_file_align = bed->s->log_file_align; - n = h->vtable_parent->vtable_entries_size >> log_file_align; - while (n--) - { - if (*pu) - *cu = TRUE; - pu++; - cu++; - } - } - } - - return TRUE; -} - -static bfd_boolean -elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp) -{ - asection *sec; - bfd_vma hstart, hend; - Elf_Internal_Rela *relstart, *relend, *rel; - const struct elf_backend_data *bed; - unsigned int log_file_align; - - if (h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - /* Take care of both those symbols that do not describe vtables as - well as those that are not loaded. */ - if (h->vtable_parent == NULL) - return TRUE; - - BFD_ASSERT (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak); - - sec = h->root.u.def.section; - hstart = h->root.u.def.value; - hend = hstart + h->size; - - relstart = _bfd_elf_link_read_relocs (sec->owner, sec, NULL, NULL, TRUE); - if (!relstart) - return *(bfd_boolean *) okp = FALSE; - bed = get_elf_backend_data (sec->owner); - log_file_align = bed->s->log_file_align; - - relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel; - - for (rel = relstart; rel < relend; ++rel) - if (rel->r_offset >= hstart && rel->r_offset < hend) - { - /* If the entry is in use, do nothing. */ - if (h->vtable_entries_used - && (rel->r_offset - hstart) < h->vtable_entries_size) - { - bfd_vma entry = (rel->r_offset - hstart) >> log_file_align; - if (h->vtable_entries_used[entry]) - continue; - } - /* Otherwise, kill it. */ - rel->r_offset = rel->r_info = rel->r_addend = 0; - } - - return TRUE; -} - -/* Do mark and sweep of unused sections. */ - -bfd_boolean -elf_gc_sections (bfd *abfd, struct bfd_link_info *info) -{ - bfd_boolean ok = TRUE; - bfd *sub; - asection * (*gc_mark_hook) - (asection *, struct bfd_link_info *, Elf_Internal_Rela *, - struct elf_link_hash_entry *h, Elf_Internal_Sym *); - - if (!get_elf_backend_data (abfd)->can_gc_sections - || info->relocatable - || info->emitrelocations - || !is_elf_hash_table (info->hash) - || elf_hash_table (info)->dynamic_sections_created) - { - (*_bfd_error_handler)(_("Warning: gc-sections option ignored")); - return TRUE; - } - - /* Apply transitive closure to the vtable entry usage info. */ - elf_link_hash_traverse (elf_hash_table (info), - elf_gc_propagate_vtable_entries_used, - &ok); - if (!ok) - return FALSE; - - /* Kill the vtable relocations that were not used. */ - elf_link_hash_traverse (elf_hash_table (info), - elf_gc_smash_unused_vtentry_relocs, - &ok); - if (!ok) - return FALSE; - - /* Grovel through relocs to find out who stays ... */ - - gc_mark_hook = get_elf_backend_data (abfd)->gc_mark_hook; - for (sub = info->input_bfds; sub != NULL; sub = sub->link_next) - { - asection *o; - - if (bfd_get_flavour (sub) != bfd_target_elf_flavour) - continue; - - for (o = sub->sections; o != NULL; o = o->next) - { - if (o->flags & SEC_KEEP) - if (!elf_gc_mark (info, o, gc_mark_hook)) - return FALSE; - } - } - - /* ... and mark SEC_EXCLUDE for those that go. */ - if (!elf_gc_sweep (info, get_elf_backend_data (abfd)->gc_sweep_hook)) - return FALSE; - - return TRUE; -} - -/* Called from check_relocs to record the existence of a VTINHERIT reloc. */ - -bfd_boolean -elf_gc_record_vtinherit (bfd *abfd, - asection *sec, - struct elf_link_hash_entry *h, - bfd_vma offset) -{ - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; - struct elf_link_hash_entry **search, *child; - bfd_size_type extsymcount; - - /* The sh_info field of the symtab header tells us where the - external symbols start. We don't care about the local symbols at - this point. */ - extsymcount = elf_tdata (abfd)->symtab_hdr.sh_size/sizeof (Elf_External_Sym); - if (!elf_bad_symtab (abfd)) - extsymcount -= elf_tdata (abfd)->symtab_hdr.sh_info; - - sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + extsymcount; - - /* Hunt down the child symbol, which is in this section at the same - offset as the relocation. */ - for (search = sym_hashes; search != sym_hashes_end; ++search) - { - if ((child = *search) != NULL - && (child->root.type == bfd_link_hash_defined - || child->root.type == bfd_link_hash_defweak) - && child->root.u.def.section == sec - && child->root.u.def.value == offset) - goto win; - } - - (*_bfd_error_handler) ("%s: %s+%lu: No symbol found for INHERIT", - bfd_archive_filename (abfd), sec->name, - (unsigned long) offset); - bfd_set_error (bfd_error_invalid_operation); - return FALSE; - - win: - if (!h) - { - /* This *should* only be the absolute section. It could potentially - be that someone has defined a non-global vtable though, which - would be bad. It isn't worth paging in the local symbols to be - sure though; that case should simply be handled by the assembler. */ - - child->vtable_parent = (struct elf_link_hash_entry *) -1; - } - else - child->vtable_parent = h; - - return TRUE; -} - -/* Called from check_relocs to record the existence of a VTENTRY reloc. */ - -bfd_boolean -elf_gc_record_vtentry (bfd *abfd ATTRIBUTE_UNUSED, - asection *sec ATTRIBUTE_UNUSED, - struct elf_link_hash_entry *h, - bfd_vma addend) -{ - const struct elf_backend_data *bed = get_elf_backend_data (abfd); - unsigned int log_file_align = bed->s->log_file_align; - - if (addend >= h->vtable_entries_size) - { - size_t size, bytes, file_align; - bfd_boolean *ptr = h->vtable_entries_used; - - /* While the symbol is undefined, we have to be prepared to handle - a zero size. */ - file_align = 1 << log_file_align; - if (h->root.type == bfd_link_hash_undefined) - size = addend + file_align; - else - { - size = h->size; - if (addend >= size) - { - /* Oops! We've got a reference past the defined end of - the table. This is probably a bug -- shall we warn? */ - size = addend + file_align; - } - } - size = (size + file_align - 1) & -file_align; - - /* Allocate one extra entry for use as a "done" flag for the - consolidation pass. */ - bytes = ((size >> log_file_align) + 1) * sizeof (bfd_boolean); - - if (ptr) - { - ptr = bfd_realloc (ptr - 1, bytes); - - if (ptr != NULL) - { - size_t oldbytes; - - oldbytes = (((h->vtable_entries_size >> log_file_align) + 1) - * sizeof (bfd_boolean)); - memset (((char *) ptr) + oldbytes, 0, bytes - oldbytes); - } - } - else - ptr = bfd_zmalloc (bytes); - - if (ptr == NULL) - return FALSE; - - /* And arrange for that done flag to be at index -1. */ - h->vtable_entries_used = ptr + 1; - h->vtable_entries_size = size; - } - - h->vtable_entries_used[addend >> log_file_align] = TRUE; - - return TRUE; -} - -/* And an accompanying bit to work out final got entry offsets once - we're done. Should be called from final_link. */ - -bfd_boolean -elf_gc_common_finalize_got_offsets (bfd *abfd, - struct bfd_link_info *info) -{ - bfd *i; - const struct elf_backend_data *bed = get_elf_backend_data (abfd); - bfd_vma gotoff; - - if (! is_elf_hash_table (info->hash)) - return FALSE; - - /* The GOT offset is relative to the .got section, but the GOT header is - put into the .got.plt section, if the backend uses it. */ - if (bed->want_got_plt) - gotoff = 0; - else - gotoff = bed->got_header_size; - - /* Do the local .got entries first. */ - for (i = info->input_bfds; i; i = i->link_next) - { - bfd_signed_vma *local_got; - bfd_size_type j, locsymcount; - Elf_Internal_Shdr *symtab_hdr; - - if (bfd_get_flavour (i) != bfd_target_elf_flavour) - continue; - - local_got = elf_local_got_refcounts (i); - if (!local_got) - continue; - - symtab_hdr = &elf_tdata (i)->symtab_hdr; - if (elf_bad_symtab (i)) - locsymcount = symtab_hdr->sh_size / sizeof (Elf_External_Sym); - else - locsymcount = symtab_hdr->sh_info; - - for (j = 0; j < locsymcount; ++j) - { - if (local_got[j] > 0) - { - local_got[j] = gotoff; - gotoff += ARCH_SIZE / 8; - } - else - local_got[j] = (bfd_vma) -1; - } - } - - /* Then the global .got entries. .plt refcounts are handled by - adjust_dynamic_symbol */ - elf_link_hash_traverse (elf_hash_table (info), - elf_gc_allocate_got_offsets, - &gotoff); - return TRUE; -} - -/* We need a special top-level link routine to convert got reference counts - to real got offsets. */ - -static bfd_boolean -elf_gc_allocate_got_offsets (struct elf_link_hash_entry *h, void *offarg) -{ - bfd_vma *off = offarg; - - if (h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - if (h->got.refcount > 0) - { - h->got.offset = off[0]; - off[0] += ARCH_SIZE / 8; - } - else - h->got.offset = (bfd_vma) -1; - - return TRUE; -} - -/* Many folk need no more in the way of final link than this, once - got entry reference counting is enabled. */ - -bfd_boolean -elf_gc_common_final_link (bfd *abfd, struct bfd_link_info *info) -{ - if (!elf_gc_common_finalize_got_offsets (abfd, info)) - return FALSE; - - /* Invoke the regular ELF backend linker to do all the work. */ - return elf_bfd_final_link (abfd, info); -} - -/* This function will be called though elf_link_hash_traverse to store - all hash value of the exported symbols in an array. */ - -static bfd_boolean -elf_collect_hash_codes (struct elf_link_hash_entry *h, void *data) -{ - unsigned long **valuep = data; - const char *name; - char *p; - unsigned long ha; - char *alc = NULL; - - if (h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - /* Ignore indirect symbols. These are added by the versioning code. */ - if (h->dynindx == -1) - return TRUE; - - name = h->root.root.string; - p = strchr (name, ELF_VER_CHR); - if (p != NULL) - { - alc = bfd_malloc (p - name + 1); - memcpy (alc, name, p - name); - alc[p - name] = '\0'; - name = alc; - } - - /* Compute the hash value. */ - ha = bfd_elf_hash (name); - - /* Store the found hash value in the array given as the argument. */ - *(*valuep)++ = ha; - - /* And store it in the struct so that we can put it in the hash table - later. */ - h->elf_hash_value = ha; - - if (alc != NULL) - free (alc); - - return TRUE; -} - -bfd_boolean -elf_reloc_symbol_deleted_p (bfd_vma offset, void *cookie) -{ - struct elf_reloc_cookie *rcookie = cookie; - - if (rcookie->bad_symtab) - rcookie->rel = rcookie->rels; - - for (; rcookie->rel < rcookie->relend; rcookie->rel++) - { - unsigned long r_symndx; - - if (! rcookie->bad_symtab) - if (rcookie->rel->r_offset > offset) - return FALSE; - if (rcookie->rel->r_offset != offset) - continue; - - r_symndx = ELF_R_SYM (rcookie->rel->r_info); - if (r_symndx == SHN_UNDEF) - return TRUE; - - if (r_symndx >= rcookie->locsymcount - || ELF_ST_BIND (rcookie->locsyms[r_symndx].st_info) != STB_LOCAL) - { - struct elf_link_hash_entry *h; - - h = rcookie->sym_hashes[r_symndx - rcookie->extsymoff]; - - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - - if ((h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - && elf_discarded_section (h->root.u.def.section)) - return TRUE; - else - return FALSE; - } - else - { - /* It's not a relocation against a global symbol, - but it could be a relocation against a local - symbol for a discarded section. */ - asection *isec; - Elf_Internal_Sym *isym; - - /* Need to: get the symbol; get the section. */ - isym = &rcookie->locsyms[r_symndx]; - if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE) - { - isec = section_from_elf_index (rcookie->abfd, isym->st_shndx); - if (isec != NULL && elf_discarded_section (isec)) - return TRUE; - } - } - return FALSE; - } - return FALSE; -} - -/* Discard unneeded references to discarded sections. - Returns TRUE if any section's size was changed. */ -/* This function assumes that the relocations are in sorted order, - which is true for all known assemblers. */ - -bfd_boolean -elf_bfd_discard_info (bfd *output_bfd, struct bfd_link_info *info) -{ - struct elf_reloc_cookie cookie; - asection *stab, *eh; - Elf_Internal_Shdr *symtab_hdr; - const struct elf_backend_data *bed; - bfd *abfd; - unsigned int count; - bfd_boolean ret = FALSE; - - if (info->traditional_format - || !is_elf_hash_table (info->hash)) - return FALSE; - - for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next) - { - if (bfd_get_flavour (abfd) != bfd_target_elf_flavour) - continue; - - bed = get_elf_backend_data (abfd); - - if ((abfd->flags & DYNAMIC) != 0) - continue; - - eh = bfd_get_section_by_name (abfd, ".eh_frame"); - if (info->relocatable - || (eh != NULL - && (eh->_raw_size == 0 - || bfd_is_abs_section (eh->output_section)))) - eh = NULL; - - stab = bfd_get_section_by_name (abfd, ".stab"); - if (stab != NULL - && (stab->_raw_size == 0 - || bfd_is_abs_section (stab->output_section) - || stab->sec_info_type != ELF_INFO_TYPE_STABS)) - stab = NULL; - - if (stab == NULL - && eh == NULL - && bed->elf_backend_discard_info == NULL) - continue; - - symtab_hdr = &elf_tdata (abfd)->symtab_hdr; - cookie.abfd = abfd; - cookie.sym_hashes = elf_sym_hashes (abfd); - cookie.bad_symtab = elf_bad_symtab (abfd); - if (cookie.bad_symtab) - { - cookie.locsymcount = symtab_hdr->sh_size / sizeof (Elf_External_Sym); - cookie.extsymoff = 0; - } - else - { - cookie.locsymcount = symtab_hdr->sh_info; - cookie.extsymoff = symtab_hdr->sh_info; - } - - cookie.locsyms = (Elf_Internal_Sym *) symtab_hdr->contents; - if (cookie.locsyms == NULL && cookie.locsymcount != 0) - { - cookie.locsyms = bfd_elf_get_elf_syms (abfd, symtab_hdr, - cookie.locsymcount, 0, - NULL, NULL, NULL); - if (cookie.locsyms == NULL) - return FALSE; - } - - if (stab != NULL) - { - cookie.rels = NULL; - count = stab->reloc_count; - if (count != 0) - cookie.rels = _bfd_elf_link_read_relocs (abfd, stab, NULL, NULL, - info->keep_memory); - if (cookie.rels != NULL) - { - cookie.rel = cookie.rels; - cookie.relend = cookie.rels; - cookie.relend += count * bed->s->int_rels_per_ext_rel; - if (_bfd_discard_section_stabs (abfd, stab, - elf_section_data (stab)->sec_info, - elf_reloc_symbol_deleted_p, - &cookie)) - ret = TRUE; - if (elf_section_data (stab)->relocs != cookie.rels) - free (cookie.rels); - } - } - - if (eh != NULL) - { - cookie.rels = NULL; - count = eh->reloc_count; - if (count != 0) - cookie.rels = _bfd_elf_link_read_relocs (abfd, eh, NULL, NULL, - info->keep_memory); - cookie.rel = cookie.rels; - cookie.relend = cookie.rels; - if (cookie.rels != NULL) - cookie.relend += count * bed->s->int_rels_per_ext_rel; - - if (_bfd_elf_discard_section_eh_frame (abfd, info, eh, - elf_reloc_symbol_deleted_p, - &cookie)) - ret = TRUE; - - if (cookie.rels != NULL - && elf_section_data (eh)->relocs != cookie.rels) - free (cookie.rels); - } - - if (bed->elf_backend_discard_info != NULL - && (*bed->elf_backend_discard_info) (abfd, &cookie, info)) - ret = TRUE; - - if (cookie.locsyms != NULL - && symtab_hdr->contents != (unsigned char *) cookie.locsyms) - { - if (! info->keep_memory) - free (cookie.locsyms); - else - symtab_hdr->contents = (unsigned char *) cookie.locsyms; - } - } - - if (info->eh_frame_hdr - && !info->relocatable - && _bfd_elf_discard_section_eh_frame_hdr (output_bfd, info)) - ret = TRUE; - - return ret; -} - -static bfd_boolean -elf_section_ignore_discarded_relocs (asection *sec) -{ - const struct elf_backend_data *bed; - - switch (sec->sec_info_type) - { - case ELF_INFO_TYPE_STABS: - case ELF_INFO_TYPE_EH_FRAME: - return TRUE; - default: - break; - } - - bed = get_elf_backend_data (sec->owner); - if (bed->elf_backend_ignore_discarded_relocs != NULL - && (*bed->elf_backend_ignore_discarded_relocs) (sec)) - return TRUE; - - return FALSE; -} diff -uprN binutils-2.15.90.0.1.1/bfd/elfxx-ia64.c binutils-2.15.90.0.2/bfd/elfxx-ia64.c --- binutils-2.15.90.0.1.1/bfd/elfxx-ia64.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elfxx-ia64.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,6 @@ /* IA-64 support for 64-bit ELF - Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Contributed by David Mosberger-Tang This file is part of BFD, the Binary File Descriptor library. @@ -191,7 +192,7 @@ static bfd_boolean elfNN_ia64_fake_secti static void elfNN_ia64_final_write_processing PARAMS ((bfd *abfd, bfd_boolean linker)); static bfd_boolean elfNN_ia64_add_symbol_hook - PARAMS ((bfd *abfd, struct bfd_link_info *info, const Elf_Internal_Sym *sym, + PARAMS ((bfd *abfd, struct bfd_link_info *info, Elf_Internal_Sym *sym, const char **namep, flagword *flagsp, asection **secp, bfd_vma *valp)); static int elfNN_ia64_additional_program_headers @@ -635,7 +636,7 @@ static const bfd_byte plt_min_entry[PLT_ static const bfd_byte plt_full_entry[PLT_FULL_ENTRY_SIZE] = { 0x0b, 0x78, 0x00, 0x02, 0x00, 0x24, /* [MMI] addl r15=0,r1;; */ - 0x00, 0x41, 0x3c, 0x30, 0x28, 0xc0, /* ld8 r16=[r15],8 */ + 0x00, 0x41, 0x3c, 0x70, 0x29, 0xc0, /* ld8.acq r16=[r15],8*/ 0x01, 0x08, 0x00, 0x84, /* mov r14=r1;; */ 0x11, 0x08, 0x00, 0x1e, 0x18, 0x10, /* [MIB] ld8 r1=[r15] */ 0x60, 0x80, 0x04, 0x80, 0x03, 0x00, /* mov b6=r16 */ @@ -1429,7 +1430,7 @@ static bfd_boolean elfNN_ia64_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp) bfd *abfd; struct bfd_link_info *info; - const Elf_Internal_Sym *sym; + Elf_Internal_Sym *sym; const char **namep ATTRIBUTE_UNUSED; flagword *flagsp ATTRIBUTE_UNUSED; asection **secp; @@ -2458,7 +2459,7 @@ elfNN_ia64_check_relocs (abfd, info, sec dynamic symbol table. */ if (!h && info->shared) { - if (! (_bfd_elfNN_link_record_local_dynamic_symbol + if (! (bfd_elf_link_record_local_dynamic_symbol (info, abfd, (long) r_symndx))) return FALSE; } @@ -2630,7 +2631,7 @@ allocate_fptr (dyn_i, data) BFD_ASSERT ((h->root.type == bfd_link_hash_defined) || (h->root.type == bfd_link_hash_defweak)); - if (!_bfd_elfNN_link_record_local_dynamic_symbol + if (!bfd_elf_link_record_local_dynamic_symbol (x->info, h->root.u.def.section->owner, global_sym_index (h))) return FALSE; @@ -2940,8 +2941,12 @@ elfNN_ia64_size_dynamic_sections (output data.ofs = (data.ofs + 31) & (bfd_vma) -32; elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_plt2_entries, &data); - if (data.ofs != 0) + if (data.ofs != 0 || ia64_info->root.dynamic_sections_created) { + /* FIXME: we always reserve the memory for dynamic linker even if + there are no PLT entries since dynamic linker may assume the + reserved memory always exists. */ + BFD_ASSERT (ia64_info->root.dynamic_sections_created); ia64_info->plt_sec->_raw_size = data.ofs; @@ -3082,7 +3087,7 @@ elfNN_ia64_size_dynamic_sections (output /* The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ #define add_dynamic_entry(TAG, VAL) \ - bfd_elfNN_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) + _bfd_elf_add_dynamic_entry (info, TAG, VAL) if (!add_dynamic_entry (DT_DEBUG, 0)) return FALSE; @@ -3837,7 +3842,7 @@ elfNN_ia64_final_link (abfd, info) } /* Invoke the regular ELF backend linker to do all the work. */ - if (!bfd_elfNN_bfd_final_link (abfd, info)) + if (!bfd_elf_final_link (abfd, info)) return FALSE; if (unwind_output_sec) @@ -3974,12 +3979,12 @@ elfNN_ia64_relocate_section (output_bfd, { bfd_boolean unresolved_reloc; bfd_boolean warned; + struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd); - RELOC_FOR_GLOBAL_SYMBOL (h, elf_sym_hashes (input_bfd), - r_symndx, - symtab_hdr, value, sym_sec, - unresolved_reloc, info, - warned); + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sym_sec, value, + unresolved_reloc, warned); if (h->root.type == bfd_link_hash_undefweak) undef_weak_ref = TRUE; @@ -4595,7 +4600,7 @@ elfNN_ia64_finish_dynamic_symbol (output /* Mark the symbol as undefined, rather than as defined in the plt section. Leave the value alone. */ /* ??? We didn't redefine it in adjust_dynamic_symbol in the - first place. But perhaps elflink.h did some for us. */ + first place. But perhaps elflink.c did some for us. */ if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) sym->st_shndx = SHN_UNDEF; } diff -uprN binutils-2.15.90.0.1.1/bfd/elfxx-mips.c binutils-2.15.90.0.2/bfd/elfxx-mips.c --- binutils-2.15.90.0.1.1/bfd/elfxx-mips.c 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elfxx-mips.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* MIPS-specific support for ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003 Free Software Foundation, Inc. + 2003, 2004 Free Software Foundation, Inc. Most of the information added by Ian Lance Taylor, Cygnus Support, . @@ -530,8 +530,7 @@ static bfd *reldyn_sorting_bfd; (NEWABI_P (abfd) ? ".MIPS.options" : ".options") /* The name of the stub section. */ -#define MIPS_ELF_STUB_SECTION_NAME(abfd) \ - (NEWABI_P (abfd) ? ".MIPS.stubs" : ".stub") +#define MIPS_ELF_STUB_SECTION_NAME(abfd) ".MIPS.stubs" /* The size of an external REL relocation. */ #define MIPS_ELF_REL_SIZE(abfd) \ @@ -564,17 +563,8 @@ static bfd *reldyn_sorting_bfd; : bfd_put_32 (abfd, val, ptr)) /* Add a dynamic symbol table-entry. */ -#ifdef BFD64 -#define MIPS_ELF_ADD_DYNAMIC_ENTRY(info, tag, val) \ - (ABI_64_P (elf_hash_table (info)->dynobj) \ - ? bfd_elf64_add_dynamic_entry (info, tag, val) \ - : bfd_elf32_add_dynamic_entry (info, tag, val)) -#else #define MIPS_ELF_ADD_DYNAMIC_ENTRY(info, tag, val) \ - (ABI_64_P (elf_hash_table (info)->dynobj) \ - ? (abort (), FALSE) \ - : bfd_elf32_add_dynamic_entry (info, tag, val)) -#endif + _bfd_elf_add_dynamic_entry (info, tag, val) #define MIPS_ELF_RTYPE_TO_HOWTO(abfd, rtype, rela) \ (get_elf_backend_data (abfd)->elf_backend_mips_rtype_to_howto (rtype, rela)) @@ -2153,7 +2143,7 @@ mips_elf_record_global_got_symbol (struc _bfd_mips_elf_hide_symbol (info, h, TRUE); break; } - if (!bfd_elf32_link_record_dynamic_symbol (info, h)) + if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -2965,7 +2955,7 @@ mips_elf_create_got_section (bfd *abfd, h->type = STT_OBJECT; if (info->shared - && ! bfd_elf32_link_record_dynamic_symbol (info, h)) + && ! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; amt = sizeof (struct mips_got_info); @@ -3156,8 +3146,7 @@ mips_elf_calculate_relocation (bfd *abfd and check to see if they exist by looking at their addresses. */ symbol = 0; - else if (info->shared - && info->unresolved_syms_in_objects == RM_IGNORE + else if (info->unresolved_syms_in_objects == RM_IGNORE && ELF_ST_VISIBILITY (h->root.other) == STV_DEFAULT) symbol = 0; else if (strcmp (*namep, "_DYNAMIC_LINK") == 0 || @@ -3178,9 +3167,8 @@ mips_elf_calculate_relocation (bfd *abfd if (! ((*info->callbacks->undefined_symbol) (info, h->root.root.root.string, input_bfd, input_section, relocation->r_offset, - ((info->shared && info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR) - || (!info->shared && info->unresolved_syms_in_objects == RM_GENERATE_ERROR) - || ELF_ST_VISIBILITY (h->root.other))))) + (info->unresolved_syms_in_objects == RM_GENERATE_ERROR) + || ELF_ST_VISIBILITY (h->root.other)))) return bfd_reloc_undefined; symbol = 0; } @@ -4726,7 +4714,7 @@ _bfd_mips_elf_section_from_bfd_section ( bfd_boolean _bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, - const Elf_Internal_Sym *sym, const char **namep, + Elf_Internal_Sym *sym, const char **namep, flagword *flagsp ATTRIBUTE_UNUSED, asection **secp, bfd_vma *valp) { @@ -4859,7 +4847,7 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; h->type = STT_OBJECT; - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; mips_elf_hash_table (info)->use_rld_obj_head = TRUE; @@ -4891,9 +4879,8 @@ _bfd_mips_elf_link_output_symbol_hook && strcmp (input_sec->name, ".scommon") == 0) sym->st_shndx = SHN_MIPS_SCOMMON; - if (sym->st_other == STO_MIPS16 - && (sym->st_value & 1) != 0) - --sym->st_value; + if (sym->st_other == STO_MIPS16) + sym->st_value &= ~1; return TRUE; } @@ -4972,7 +4959,7 @@ _bfd_mips_elf_create_dynamic_sections (b h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; h->type = STT_SECTION; - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } @@ -5017,7 +5004,7 @@ _bfd_mips_elf_create_dynamic_sections (b h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; h->type = STT_SECTION; - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; if (! mips_elf_hash_table (info)->use_rld_obj_head) @@ -5041,7 +5028,7 @@ _bfd_mips_elf_create_dynamic_sections (b h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; h->type = STT_OBJECT; - if (! bfd_elf32_link_record_dynamic_symbol (info, h)) + if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } } @@ -5360,7 +5347,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s /* We need a stub, not a plt entry for the undefined function. But we record it as if it needs plt. See - elf_adjust_dynamic_symbol in elflink.h. */ + _bfd_elf_adjust_dynamic_symbol. */ h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; h->type = STT_FUNC; } @@ -5472,14 +5459,14 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s /* This relocation describes the C++ object vtable hierarchy. Reconstruct it for later use during GC. */ case R_MIPS_GNU_VTINHERIT: - if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) return FALSE; break; /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_MIPS_GNU_VTENTRY: - if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset)) return FALSE; break; @@ -6814,9 +6801,8 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd } /* If this is a mips16 symbol, force the value to be even. */ - if (sym->st_other == STO_MIPS16 - && (sym->st_value & 1) != 0) - --sym->st_value; + if (sym->st_other == STO_MIPS16) + sym->st_value &= ~1; return TRUE; } @@ -7744,7 +7730,7 @@ _bfd_mips_elf_discard_info (bfd *abfd, s for (i = 0, skip = 0; i < o->_raw_size / PDR_SIZE; i ++) { - if (MNAME(abfd,_bfd_elf,reloc_symbol_deleted_p) (i * PDR_SIZE, cookie)) + if (bfd_elf_reloc_symbol_deleted_p (i * PDR_SIZE, cookie)) { tdata[i] = 1; skip ++; @@ -8801,7 +8787,7 @@ _bfd_mips_elf_final_link (bfd *abfd, str } /* Invoke the regular ELF backend linker to do all the work. */ - if (!MNAME(abfd,bfd_elf,bfd_final_link) (abfd, info)) + if (!bfd_elf_final_link (abfd, info)) return FALSE; /* Now write out the computed sections. */ @@ -9030,10 +9016,10 @@ _bfd_mips_elf_merge_private_bfd_data (bf which are automatically generated by gas. */ if (strcmp (sec->name, ".reginfo") && strcmp (sec->name, ".mdebug") - && ((!strcmp (sec->name, ".text") - || !strcmp (sec->name, ".data") - || !strcmp (sec->name, ".bss")) - && sec->_raw_size != 0)) + && (sec->_raw_size != 0 + || (strcmp (sec->name, ".text") + && strcmp (sec->name, ".data") + && strcmp (sec->name, ".bss")))) { null_input_bfd = FALSE; break; diff -uprN binutils-2.15.90.0.1.1/bfd/elfxx-mips.h binutils-2.15.90.0.2/bfd/elfxx-mips.h --- binutils-2.15.90.0.1.1/bfd/elfxx-mips.h 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elfxx-mips.h 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* MIPS ELF specific backend routines. - Copyright 2002, 2003 Free Software Foundation, Inc. + Copyright 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -35,7 +35,7 @@ extern bfd_boolean _bfd_mips_elf_fake_se extern bfd_boolean _bfd_mips_elf_section_from_bfd_section (bfd *, asection *, int *); extern bfd_boolean _bfd_mips_elf_add_symbol_hook - (bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, + (bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **, flagword *, asection **, bfd_vma *); extern bfd_boolean _bfd_mips_elf_link_output_symbol_hook (struct bfd_link_info *, const char *, Elf_Internal_Sym *, diff -uprN binutils-2.15.90.0.1.1/bfd/elfxx-target.h binutils-2.15.90.0.2/bfd/elfxx-target.h --- binutils-2.15.90.0.1.1/bfd/elfxx-target.h 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/elfxx-target.h 2004-04-12 12:56:34.000000000 -0700 @@ -126,7 +126,7 @@ #define elf_backend_gc_sweep_hook NULL #endif #ifndef bfd_elfNN_bfd_gc_sections -#define bfd_elfNN_bfd_gc_sections _bfd_elfNN_gc_sections +#define bfd_elfNN_bfd_gc_sections bfd_elf_gc_sections #endif #ifndef bfd_elfNN_bfd_merge_sections @@ -189,6 +189,12 @@ #ifndef bfd_elfNN_bfd_link_hash_table_create #define bfd_elfNN_bfd_link_hash_table_create _bfd_elf_link_hash_table_create #endif +#ifndef bfd_elfNN_bfd_link_add_symbols +#define bfd_elfNN_bfd_link_add_symbols bfd_elf_link_add_symbols +#endif +#ifndef bfd_elfNN_bfd_final_link +#define bfd_elfNN_bfd_final_link bfd_elf_final_link +#endif #else /* ! defined (elf_backend_relocate_section) */ /* If no backend relocate_section routine, use the generic linker. Note - this will prevent the port from being able to use some of @@ -235,6 +241,10 @@ #define bfd_elfNN_mkarchive _bfd_generic_mkarchive #endif +#ifndef bfd_elfNN_print_symbol +#define bfd_elfNN_print_symbol bfd_elf_print_symbol +#endif + #ifndef elf_symbol_leading_char #define elf_symbol_leading_char 0 #endif diff -uprN binutils-2.15.90.0.1.1/bfd/hppabsd-core.c binutils-2.15.90.0.2/bfd/hppabsd-core.c --- binutils-2.15.90.0.1.1/bfd/hppabsd-core.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/hppabsd-core.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* BFD back-end for HPPA BSD core files. - Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002 + Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -236,10 +236,12 @@ swap_abort () abort (); } -#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort ) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) -#define NO_SIGNED_GET \ - ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort ) +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target hppabsd_core_vec = { @@ -254,26 +256,26 @@ const bfd_target hppabsd_core_vec = 0, /* symbol prefix */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit data */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs */ { /* bfd_check_format */ - _bfd_dummy_target, /* unknown format */ - _bfd_dummy_target, /* object file */ - _bfd_dummy_target, /* archive */ - hppabsd_core_core_file_p /* a core file */ + _bfd_dummy_target, /* unknown format */ + _bfd_dummy_target, /* object file */ + _bfd_dummy_target, /* archive */ + hppabsd_core_core_file_p /* a core file */ }, { /* bfd_set_format */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, { /* bfd_write_contents */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, BFD_JUMP_TABLE_GENERIC (_bfd_generic), @@ -289,5 +291,5 @@ const bfd_target hppabsd_core_vec = NULL, (PTR) 0 /* backend_data */ -}; + }; #endif diff -uprN binutils-2.15.90.0.1.1/bfd/hpux-core.c binutils-2.15.90.0.2/bfd/hpux-core.c --- binutils-2.15.90.0.1.1/bfd/hpux-core.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/hpux-core.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* BFD back-end for HP/UX core files. - Copyright 1993, 1994, 1996, 1998, 1999, 2001, 2002 + Copyright 1993, 1994, 1996, 1998, 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Stu Grossman, Cygnus Support. Converted to back-end form by Ian Lance Taylor, Cygnus SUpport @@ -348,10 +348,13 @@ swap_abort () { abort(); /* This way doesn't require any declaration for ANSI to fuck up */ } -#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort ) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) -#define NO_SIGNED_GET \ - ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort ) + +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target hpux_core_vec = { @@ -366,26 +369,26 @@ const bfd_target hpux_core_vec = 0, /* symbol prefix */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit data */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs */ { /* bfd_check_format */ - _bfd_dummy_target, /* unknown format */ - _bfd_dummy_target, /* object file */ - _bfd_dummy_target, /* archive */ - hpux_core_core_file_p /* a core file */ + _bfd_dummy_target, /* unknown format */ + _bfd_dummy_target, /* object file */ + _bfd_dummy_target, /* archive */ + hpux_core_core_file_p /* a core file */ }, { /* bfd_set_format */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, { /* bfd_write_contents */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, BFD_JUMP_TABLE_GENERIC (_bfd_generic), @@ -401,4 +404,4 @@ const bfd_target hpux_core_vec = NULL, (PTR) 0 /* backend_data */ -}; + }; diff -uprN binutils-2.15.90.0.1.1/bfd/irix-core.c binutils-2.15.90.0.2/bfd/irix-core.c --- binutils-2.15.90.0.1.1/bfd/irix-core.c 2002-12-16 12:22:52.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/irix-core.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* BFD back-end for Irix core files. - Copyright 1993, 1994, 1996, 1999, 2001, 2002 + Copyright 1993, 1994, 1996, 1999, 2001, 2002, 2004 Free Software Foundation, Inc. Written by Stu Grossman, Cygnus Support. Converted to back-end form by Ian Lance Taylor, Cygnus Support @@ -299,10 +299,13 @@ swap_abort() { abort(); /* This way doesn't require any declaration for ANSI to fuck up */ } -#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort ) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) -#define NO_SIGNED_GET \ - ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort ) + +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target irix_core_vec = { @@ -317,26 +320,26 @@ const bfd_target irix_core_vec = 0, /* symbol prefix */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit data */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs */ { /* bfd_check_format */ - _bfd_dummy_target, /* unknown format */ - _bfd_dummy_target, /* object file */ - _bfd_dummy_target, /* archive */ - irix_core_core_file_p /* a core file */ + _bfd_dummy_target, /* unknown format */ + _bfd_dummy_target, /* object file */ + _bfd_dummy_target, /* archive */ + irix_core_core_file_p /* a core file */ }, { /* bfd_set_format */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, { /* bfd_write_contents */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, BFD_JUMP_TABLE_GENERIC (_bfd_generic), @@ -352,6 +355,6 @@ const bfd_target irix_core_vec = NULL, (PTR) 0 /* backend_data */ -}; + }; #endif /* IRIX_CORE */ diff -uprN binutils-2.15.90.0.1.1/bfd/libaout.h binutils-2.15.90.0.2/bfd/libaout.h --- binutils-2.15.90.0.1.1/bfd/libaout.h 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/libaout.h 2004-04-12 12:56:34.000000000 -0700 @@ -29,51 +29,23 @@ #include "bfdlink.h" -/* Macros for accessing components in an aout header. Saves cluttering - the source with (bfd_vma) and (bfd_byte *) casts. */ - -#define H_PUT_64(abfd, val, where) \ - bfd_h_put_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_32(abfd, val, where) \ - bfd_h_put_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_16(abfd, val, where) \ - bfd_h_put_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) +/* Macros for accessing components in an aout header. */ +#define H_PUT_64 bfd_h_put_64 +#define H_PUT_32 bfd_h_put_32 +#define H_PUT_16 bfd_h_put_16 #define H_PUT_8 bfd_h_put_8 - -#define H_PUT_S64(abfd, val, where) \ - bfd_h_put_signed_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_S32(abfd, val, where) \ - bfd_h_put_signed_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - -#define H_PUT_S16(abfd, val, where) \ - bfd_h_put_signed_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) - +#define H_PUT_S64 bfd_h_put_signed_64 +#define H_PUT_S32 bfd_h_put_signed_32 +#define H_PUT_S16 bfd_h_put_signed_16 #define H_PUT_S8 bfd_h_put_signed_8 - -#define H_GET_64(abfd, where) \ - bfd_h_get_64 ((abfd), (bfd_byte *) (where)) - -#define H_GET_32(abfd, where) \ - bfd_h_get_32 ((abfd), (bfd_byte *) (where)) - -#define H_GET_16(abfd, where) \ - bfd_h_get_16 ((abfd), (bfd_byte *) (where)) - +#define H_GET_64 bfd_h_get_64 +#define H_GET_32 bfd_h_get_32 +#define H_GET_16 bfd_h_get_16 #define H_GET_8 bfd_h_get_8 - -#define H_GET_S64(abfd, where) \ - bfd_h_get_signed_64 ((abfd), (bfd_byte *) (where)) - -#define H_GET_S32(abfd, where) \ - bfd_h_get_signed_32 ((abfd), (bfd_byte *) (where)) - -#define H_GET_S16(abfd, where) \ - bfd_h_get_signed_16 ((abfd), (bfd_byte *) (where)) - +#define H_GET_S64 bfd_h_get_signed_64 +#define H_GET_S32 bfd_h_get_signed_32 +#define H_GET_S16 bfd_h_get_signed_16 #define H_GET_S8 bfd_h_get_signed_8 /* Parameterize the a.out code based on whether it is being built diff -uprN binutils-2.15.90.0.1.1/bfd/libbfd.c binutils-2.15.90.0.2/bfd/libbfd.c --- binutils-2.15.90.0.1.1/bfd/libbfd.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/libbfd.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* Assorted BFD support routines, only used internally. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003 + 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Cygnus Support. @@ -266,7 +266,7 @@ DESCRIPTION .{* Byte swapping macros for user section data. *} . .#define bfd_put_8(abfd, val, ptr) \ -. ((void) (*((unsigned char *) (ptr)) = (unsigned char) (val))) +. ((void) (*((unsigned char *) (ptr)) = (val) & 0xff)) .#define bfd_put_signed_8 \ . bfd_put_8 .#define bfd_get_8(abfd, ptr) \ @@ -367,103 +367,82 @@ DESCRIPTION .#define bfd_h_get_signed_64(abfd, ptr) \ . BFD_SEND (abfd, bfd_h_getx_signed_64, (ptr)) . -.{* Refinements on the above, which should eventually go away. Save -. cluttering the source with (bfd_vma) and (bfd_byte *) casts. *} +.{* Aliases for the above, which should eventually go away. *} . -.#define H_PUT_64(abfd, val, where) \ -. bfd_h_put_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) -. -.#define H_PUT_32(abfd, val, where) \ -. bfd_h_put_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) -. -.#define H_PUT_16(abfd, val, where) \ -. bfd_h_put_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) -. -.#define H_PUT_8 bfd_h_put_8 -. -.#define H_PUT_S64(abfd, val, where) \ -. bfd_h_put_signed_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) -. -.#define H_PUT_S32(abfd, val, where) \ -. bfd_h_put_signed_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) -. -.#define H_PUT_S16(abfd, val, where) \ -. bfd_h_put_signed_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where)) -. -.#define H_PUT_S8 bfd_h_put_signed_8 -. -.#define H_GET_64(abfd, where) \ -. bfd_h_get_64 ((abfd), (bfd_byte *) (where)) -. -.#define H_GET_32(abfd, where) \ -. bfd_h_get_32 ((abfd), (bfd_byte *) (where)) -. -.#define H_GET_16(abfd, where) \ -. bfd_h_get_16 ((abfd), (bfd_byte *) (where)) -. -.#define H_GET_8 bfd_h_get_8 -. -.#define H_GET_S64(abfd, where) \ -. bfd_h_get_signed_64 ((abfd), (bfd_byte *) (where)) -. -.#define H_GET_S32(abfd, where) \ -. bfd_h_get_signed_32 ((abfd), (bfd_byte *) (where)) -. -.#define H_GET_S16(abfd, where) \ -. bfd_h_get_signed_16 ((abfd), (bfd_byte *) (where)) -. -.#define H_GET_S8 bfd_h_get_signed_8 +.#define H_PUT_64 bfd_h_put_64 +.#define H_PUT_32 bfd_h_put_32 +.#define H_PUT_16 bfd_h_put_16 +.#define H_PUT_8 bfd_h_put_8 +.#define H_PUT_S64 bfd_h_put_signed_64 +.#define H_PUT_S32 bfd_h_put_signed_32 +.#define H_PUT_S16 bfd_h_put_signed_16 +.#define H_PUT_S8 bfd_h_put_signed_8 +.#define H_GET_64 bfd_h_get_64 +.#define H_GET_32 bfd_h_get_32 +.#define H_GET_16 bfd_h_get_16 +.#define H_GET_8 bfd_h_get_8 +.#define H_GET_S64 bfd_h_get_signed_64 +.#define H_GET_S32 bfd_h_get_signed_32 +.#define H_GET_S16 bfd_h_get_signed_16 +.#define H_GET_S8 bfd_h_get_signed_8 . .*/ /* Sign extension to bfd_signed_vma. */ #define COERCE16(x) (((bfd_signed_vma) (x) ^ 0x8000) - 0x8000) #define COERCE32(x) (((bfd_signed_vma) (x) ^ 0x80000000) - 0x80000000) -#define EIGHT_GAZILLION ((BFD_HOST_64_BIT) 1 << 63) +#define EIGHT_GAZILLION ((bfd_int64_t) 1 << 63) #define COERCE64(x) \ - (((bfd_signed_vma) (x) ^ EIGHT_GAZILLION) - EIGHT_GAZILLION) + (((bfd_int64_t) (x) ^ EIGHT_GAZILLION) - EIGHT_GAZILLION) bfd_vma -bfd_getb16 (const bfd_byte *addr) +bfd_getb16 (const void *p) { + const bfd_byte *addr = p; return (addr[0] << 8) | addr[1]; } bfd_vma -bfd_getl16 (const bfd_byte *addr) +bfd_getl16 (const void *p) { + const bfd_byte *addr = p; return (addr[1] << 8) | addr[0]; } bfd_signed_vma -bfd_getb_signed_16 (const bfd_byte *addr) +bfd_getb_signed_16 (const void *p) { + const bfd_byte *addr = p; return COERCE16 ((addr[0] << 8) | addr[1]); } bfd_signed_vma -bfd_getl_signed_16 (const bfd_byte *addr) +bfd_getl_signed_16 (const void *p) { + const bfd_byte *addr = p; return COERCE16 ((addr[1] << 8) | addr[0]); } void -bfd_putb16 (bfd_vma data, bfd_byte *addr) +bfd_putb16 (bfd_vma data, void *p) { - addr[0] = (bfd_byte) (data >> 8); - addr[1] = (bfd_byte) data; + bfd_byte *addr = p; + addr[0] = (data >> 8) & 0xff; + addr[1] = data & 0xff; } void -bfd_putl16 (bfd_vma data, bfd_byte *addr) +bfd_putl16 (bfd_vma data, void *p) { - addr[0] = (bfd_byte) data; - addr[1] = (bfd_byte) (data >> 8); + bfd_byte *addr = p; + addr[0] = data & 0xff; + addr[1] = (data >> 8) & 0xff; } bfd_vma -bfd_getb32 (const bfd_byte *addr) +bfd_getb32 (const void *p) { + const bfd_byte *addr = p; unsigned long v; v = (unsigned long) addr[0] << 24; @@ -474,8 +453,9 @@ bfd_getb32 (const bfd_byte *addr) } bfd_vma -bfd_getl32 (const bfd_byte *addr) +bfd_getl32 (const void *p) { + const bfd_byte *addr = p; unsigned long v; v = (unsigned long) addr[0]; @@ -486,8 +466,9 @@ bfd_getl32 (const bfd_byte *addr) } bfd_signed_vma -bfd_getb_signed_32 (const bfd_byte *addr) +bfd_getb_signed_32 (const void *p) { + const bfd_byte *addr = p; unsigned long v; v = (unsigned long) addr[0] << 24; @@ -498,8 +479,9 @@ bfd_getb_signed_32 (const bfd_byte *addr } bfd_signed_vma -bfd_getl_signed_32 (const bfd_byte *addr) +bfd_getl_signed_32 (const void *p) { + const bfd_byte *addr = p; unsigned long v; v = (unsigned long) addr[0]; @@ -509,11 +491,12 @@ bfd_getl_signed_32 (const bfd_byte *addr return COERCE32 (v); } -bfd_vma -bfd_getb64 (const bfd_byte *addr ATTRIBUTE_UNUSED) +bfd_uint64_t +bfd_getb64 (const void *p ATTRIBUTE_UNUSED) { -#ifdef BFD64 - bfd_vma v; +#ifdef BFD_HOST_64_BIT + const bfd_byte *addr = p; + bfd_uint64_t v; v = addr[0]; v <<= 8; v |= addr[1]; v <<= 8; @@ -531,11 +514,12 @@ bfd_getb64 (const bfd_byte *addr ATTRIBU #endif } -bfd_vma -bfd_getl64 (const bfd_byte *addr ATTRIBUTE_UNUSED) +bfd_uint64_t +bfd_getl64 (const void *p ATTRIBUTE_UNUSED) { -#ifdef BFD64 - bfd_vma v; +#ifdef BFD_HOST_64_BIT + const bfd_byte *addr = p; + bfd_uint64_t v; v = addr[7]; v <<= 8; v |= addr[6]; v <<= 8; @@ -554,12 +538,12 @@ bfd_getl64 (const bfd_byte *addr ATTRIBU } -bfd_signed_vma -bfd_getb_signed_64 (addr) - register const bfd_byte *addr ATTRIBUTE_UNUSED; +bfd_int64_t +bfd_getb_signed_64 (const void *p ATTRIBUTE_UNUSED) { -#ifdef BFD64 - bfd_vma v; +#ifdef BFD_HOST_64_BIT + const bfd_byte *addr = p; + bfd_uint64_t v; v = addr[0]; v <<= 8; v |= addr[1]; v <<= 8; @@ -577,12 +561,12 @@ bfd_getb_signed_64 (addr) #endif } -bfd_signed_vma -bfd_getl_signed_64 (addr) - register const bfd_byte *addr ATTRIBUTE_UNUSED; +bfd_int64_t +bfd_getl_signed_64 (const void *p ATTRIBUTE_UNUSED) { -#ifdef BFD64 - bfd_vma v; +#ifdef BFD_HOST_64_BIT + const bfd_byte *addr = p; + bfd_uint64_t v; v = addr[7]; v <<= 8; v |= addr[6]; v <<= 8; @@ -601,60 +585,65 @@ bfd_getl_signed_64 (addr) } void -bfd_putb32 (bfd_vma data, bfd_byte *addr) +bfd_putb32 (bfd_vma data, void *p) { - addr[0] = (bfd_byte) (data >> 24); - addr[1] = (bfd_byte) (data >> 16); - addr[2] = (bfd_byte) (data >> 8); - addr[3] = (bfd_byte) data; + bfd_byte *addr = p; + addr[0] = (data >> 24) & 0xff; + addr[1] = (data >> 16) & 0xff; + addr[2] = (data >> 8) & 0xff; + addr[3] = data & 0xff; } void -bfd_putl32 (bfd_vma data, bfd_byte *addr) +bfd_putl32 (bfd_vma data, void *p) { - addr[0] = (bfd_byte) data; - addr[1] = (bfd_byte) (data >> 8); - addr[2] = (bfd_byte) (data >> 16); - addr[3] = (bfd_byte) (data >> 24); + bfd_byte *addr = p; + addr[0] = data & 0xff; + addr[1] = (data >> 8) & 0xff; + addr[2] = (data >> 16) & 0xff; + addr[3] = (data >> 24) & 0xff; } void -bfd_putb64 (bfd_vma data ATTRIBUTE_UNUSED, bfd_byte *addr ATTRIBUTE_UNUSED) +bfd_putb64 (bfd_uint64_t data ATTRIBUTE_UNUSED, void *p ATTRIBUTE_UNUSED) { -#ifdef BFD64 - addr[0] = (bfd_byte) (data >> (7*8)); - addr[1] = (bfd_byte) (data >> (6*8)); - addr[2] = (bfd_byte) (data >> (5*8)); - addr[3] = (bfd_byte) (data >> (4*8)); - addr[4] = (bfd_byte) (data >> (3*8)); - addr[5] = (bfd_byte) (data >> (2*8)); - addr[6] = (bfd_byte) (data >> (1*8)); - addr[7] = (bfd_byte) (data >> (0*8)); +#ifdef BFD_HOST_64_BIT + bfd_byte *addr = p; + addr[0] = (data >> (7*8)) & 0xff; + addr[1] = (data >> (6*8)) & 0xff; + addr[2] = (data >> (5*8)) & 0xff; + addr[3] = (data >> (4*8)) & 0xff; + addr[4] = (data >> (3*8)) & 0xff; + addr[5] = (data >> (2*8)) & 0xff; + addr[6] = (data >> (1*8)) & 0xff; + addr[7] = (data >> (0*8)) & 0xff; #else BFD_FAIL(); #endif } void -bfd_putl64 (bfd_vma data ATTRIBUTE_UNUSED, bfd_byte *addr ATTRIBUTE_UNUSED) +bfd_putl64 (bfd_uint64_t data ATTRIBUTE_UNUSED, void *p ATTRIBUTE_UNUSED) { -#ifdef BFD64 - addr[7] = (bfd_byte) (data >> (7*8)); - addr[6] = (bfd_byte) (data >> (6*8)); - addr[5] = (bfd_byte) (data >> (5*8)); - addr[4] = (bfd_byte) (data >> (4*8)); - addr[3] = (bfd_byte) (data >> (3*8)); - addr[2] = (bfd_byte) (data >> (2*8)); - addr[1] = (bfd_byte) (data >> (1*8)); - addr[0] = (bfd_byte) (data >> (0*8)); +#ifdef BFD_HOST_64_BIT + bfd_byte *addr = p; + addr[7] = (data >> (7*8)) & 0xff; + addr[6] = (data >> (6*8)) & 0xff; + addr[5] = (data >> (5*8)) & 0xff; + addr[4] = (data >> (4*8)) & 0xff; + addr[3] = (data >> (3*8)) & 0xff; + addr[2] = (data >> (2*8)) & 0xff; + addr[1] = (data >> (1*8)) & 0xff; + addr[0] = (data >> (0*8)) & 0xff; #else BFD_FAIL(); #endif } void -bfd_put_bits (bfd_vma data, bfd_byte *addr, int bits, bfd_boolean big_p) +bfd_put_bits (bfd_uint64_t data, void *p, int bits, bfd_boolean big_p) { + bfd_byte *addr = p; int i; int bytes; @@ -666,15 +655,16 @@ bfd_put_bits (bfd_vma data, bfd_byte *ad { int index = big_p ? bytes - i - 1 : i; - addr[index] = (bfd_byte) data; + addr[index] = data & 0xff; data >>= 8; } } -bfd_vma -bfd_get_bits (bfd_byte *addr, int bits, bfd_boolean big_p) +bfd_uint64_t +bfd_get_bits (const void *p, int bits, bfd_boolean big_p) { - bfd_vma data; + const bfd_byte *addr = p; + bfd_uint64_t data; int i; int bytes; diff -uprN binutils-2.15.90.0.1.1/bfd/libbfd.h binutils-2.15.90.0.2/bfd/libbfd.h --- binutils-2.15.90.0.1.1/bfd/libbfd.h 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/libbfd.h 2004-04-12 12:56:34.000000000 -0700 @@ -1437,6 +1437,46 @@ static const char *const bfd_reloc_code_ "BFD_RELOC_M68HC11_PAGE", "BFD_RELOC_M68HC11_24", "BFD_RELOC_M68HC12_5B", + "BFD_RELOC_16C_NUM08", + "BFD_RELOC_16C_NUM08_C", + "BFD_RELOC_16C_NUM16", + "BFD_RELOC_16C_NUM16_C", + "BFD_RELOC_16C_NUM32", + "BFD_RELOC_16C_NUM32_C", + "BFD_RELOC_16C_DISP04", + "BFD_RELOC_16C_DISP04_C", + "BFD_RELOC_16C_DISP08", + "BFD_RELOC_16C_DISP08_C", + "BFD_RELOC_16C_DISP16", + "BFD_RELOC_16C_DISP16_C", + "BFD_RELOC_16C_DISP24", + "BFD_RELOC_16C_DISP24_C", + "BFD_RELOC_16C_DISP24a", + "BFD_RELOC_16C_DISP24a_C", + "BFD_RELOC_16C_REG04", + "BFD_RELOC_16C_REG04_C", + "BFD_RELOC_16C_REG04a", + "BFD_RELOC_16C_REG04a_C", + "BFD_RELOC_16C_REG14", + "BFD_RELOC_16C_REG14_C", + "BFD_RELOC_16C_REG16", + "BFD_RELOC_16C_REG16_C", + "BFD_RELOC_16C_REG20", + "BFD_RELOC_16C_REG20_C", + "BFD_RELOC_16C_ABS20", + "BFD_RELOC_16C_ABS20_C", + "BFD_RELOC_16C_ABS24", + "BFD_RELOC_16C_ABS24_C", + "BFD_RELOC_16C_IMM04", + "BFD_RELOC_16C_IMM04_C", + "BFD_RELOC_16C_IMM16", + "BFD_RELOC_16C_IMM16_C", + "BFD_RELOC_16C_IMM20", + "BFD_RELOC_16C_IMM20_C", + "BFD_RELOC_16C_IMM24", + "BFD_RELOC_16C_IMM24_C", + "BFD_RELOC_16C_IMM32", + "BFD_RELOC_16C_IMM32_C", "BFD_RELOC_CRIS_BDISP8", "BFD_RELOC_CRIS_UNSIGNED_5", "BFD_RELOC_CRIS_SIGNED_6", diff -uprN binutils-2.15.90.0.1.1/bfd/linker.c binutils-2.15.90.0.2/bfd/linker.c --- binutils-2.15.90.0.1.1/bfd/linker.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/linker.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* linker.c -- BFD linker routines - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, + 2003, 2004 Free Software Foundation, Inc. Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support This file is part of BFD, the Binary File Descriptor library. @@ -523,10 +523,14 @@ bfd_wrapped_link_hash_lookup (bfd *abfd, if (info->wrap_hash != NULL) { const char *l; + char prefix = '\0'; l = string; - if (*l == bfd_get_symbol_leading_char (abfd)) - ++l; + if (*l == bfd_get_symbol_leading_char (abfd) || *l == info->wrap_char) + { + prefix = *l; + ++l; + } #undef WRAP #define WRAP "__wrap_" @@ -544,8 +548,7 @@ bfd_wrapped_link_hash_lookup (bfd *abfd, if (n == NULL) return NULL; - /* Note that symbol_leading_char may be '\0'. */ - n[0] = bfd_get_symbol_leading_char (abfd); + n[0] = prefix; n[1] = '\0'; strcat (n, WRAP); strcat (n, l); @@ -576,8 +579,7 @@ bfd_wrapped_link_hash_lookup (bfd *abfd, if (n == NULL) return NULL; - /* Note that symbol_leading_char may be '\0'. */ - n[0] = bfd_get_symbol_leading_char (abfd); + n[0] = prefix; n[1] = '\0'; strcat (n, l + sizeof REAL - 1); h = bfd_link_hash_lookup (info->hash, n, create, TRUE, follow); diff -uprN binutils-2.15.90.0.1.1/bfd/mach-o.c binutils-2.15.90.0.2/bfd/mach-o.c --- binutils-2.15.90.0.1.1/bfd/mach-o.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/mach-o.c 2004-04-12 12:56:34.000000000 -0700 @@ -522,7 +522,7 @@ bfd_mach_o_read_header (abfd, header) bfd_mach_o_header *header; { unsigned char buf[28]; - bfd_vma (*get32) PARAMS ((const bfd_byte *)) = NULL; + bfd_vma (*get32) (const void *) = NULL; bfd_seek (abfd, 0, SEEK_SET); diff -uprN binutils-2.15.90.0.1.1/bfd/mpw-config.in binutils-2.15.90.0.2/bfd/mpw-config.in --- binutils-2.15.90.0.1.1/bfd/mpw-config.in 1999-06-03 11:01:54.000000000 -0700 +++ binutils-2.15.90.0.2/bfd/mpw-config.in 1969-12-31 16:00:00.000000000 -0800 @@ -1,86 +0,0 @@ -# Configuration fragment for BFD. - -# This is almost always correct. - -Set selarchs "&bfd_{target_cpu}_arch" -Set defvec "" -Set selvecs "" -Set havevecs "" - -If "{target_canonical}" =~ /m68k-apple-macos/ - Set BFD_BACKENDS '"{o}"coff-m68k.c.o "{o}"cofflink.c.o' - Set defvec m68kcoff_vec - Set selvecs '&m68kcoff_vec' - Set havevecs '-d HAVE_m68kcoff_vec' - -Else If "{target_canonical}" =~ /powerpc-apple-macos/ - Set BFD_BACKENDS '"{o}"coff-pmac.c.o "{o}"xcofflink.c.o' - Set defvec pmac_xcoff_vec - Set selvecs '&pmac_xcoff_vec' - Set havevecs '-d HAVE_pmac_xcoff_vec' - Set selarchs "&bfd_powerpc_arch" - -Else If "{target_canonical}" =~ /i386-\Option-x-go32/ - Set BFD_BACKENDS '"{o}"coff-i386.c.o' - Set defvec i386coff_vec - Set selvecs '&i386coff_vec' - Set havevecs '-d HAVE_i386coff_vec' - -Else If "{target_canonical}" =~ /mips-\Option-x-\Option-x/ - Set BFD_BACKENDS '"{o}"coff-mips.c.o "{o}"ecoff.c.o "{o}"ecofflink.c.o "{o}"elf32.c.o "{o}"elf32-mips.c.o "{o}"elflink.c.o' - Set defvec ecoff_big_vec - Set selvecs '&ecoff_big_vec,&ecoff_little_vec,&bfd_elf32_bigmips_vec' - Set havevecs '-d HAVE_ecoff_big_vec -d HAVE_ecoff_little_vec -d HAVE_bfd_elf32_bigmips_vec' - -Else If "{target_canonical}" =~ /sh-\Option-x-hms/ - Set BFD_BACKENDS '"{o}"coff-sh.c.o "{o}"cofflink.c.o' - Set defvec shcoff_vec - Set selvecs '&shcoff_vec,&shlcoff_vec' - Set havevecs '-d HAVE_shcoff_vec -d HAVE_shlcoff_vec' -End If - -Set ta `echo {selarchs} | sed -e 's/&bfd_/{o}cpu-/g' -e 's/_arch/.c.o/g'` - -Set tdefaults "-d DEFAULT_VECTOR={defvec} -d SELECT_VECS={selvecs} -d SELECT_ARCHITECTURES={selarchs} {havevecs}" - -Echo '# From mpw-config.in' > "{o}"mk.tmp -Echo 'WORDSIZE = 32' >> "{o}"mk.tmp -Echo 'BFD_MACHINES = ' {ta} >> "{o}"mk.tmp -Echo 'BFD_BACKENDS = ' {BFD_BACKENDS} >> "{o}"mk.tmp -Echo 'TDEFAULTS = ' {tdefaults} >> "{o}"mk.tmp -Echo 'HDEPFILES = ' >> "{o}"mk.tmp -Echo 'TDEPFILES = ' >> "{o}"mk.tmp -Echo '# End from mpw-config.in' >> "{o}"mk.tmp - -Echo '/* config.h. Generated by mpw-configure. */' > "{o}"config.new -Echo '#include "mpw.h"' >> "{o}"config.new - -MoveIfChange "{o}"config.new "{o}"config.h - -# We can only handle 32-bit targets right now. - -sed -e 's/@WORDSIZE@/32/' \Option-d - -e 's/@wordsize@/32/' \Option-d - -e "s/@VERSION@/`Catenate {srcdir}VERSION`/" \Option-d - -e 's/@BFD_HOST_64_BIT_DEFINED@/0/' \Option-d - -e 's/@BFD_HOST_64_BIT@//' \Option-d - -e 's/@BFD_HOST_U_64_BIT@//' \Option-d - -e 's/@BFD_HOST_64BIT_LONG@/0/' \Option-d - "{srcdir}"bfd-in2.h >"{o}"bfd.h-new - -MoveIfChange "{o}"bfd.h-new "{o}"bfd.h - -sed -e 's/NN/32/g' "{srcdir}"elfxx-target.h >"{o}"elf32-target.h-new -MoveIfChange "{o}"elf32-target.h-new "{o}"elf32-target.h - -# Pre-expand some macros in coffswap.h, so MPW C doesn't choke. - -sed -e 's/^ PUT_AOUTHDR_TSIZE (/ bfd_h_put_32 (/' \Option-d - -e 's/^ PUT_AOUTHDR_DSIZE (/ bfd_h_put_32 (/' \Option-d - -e 's/^ PUT_AOUTHDR_BSIZE (/ bfd_h_put_32 (/' \Option-d - -e 's/^ PUT_AOUTHDR_ENTRY (/ bfd_h_put_32 (/' \Option-d - -e 's/^ PUT_AOUTHDR_TEXT_START (/ bfd_h_put_32 (/' \Option-d - -e 's/^ PUT_AOUTHDR_DATA_START (/ bfd_h_put_32 (/' \Option-d - "{srcdir}"coffswap.h >"{o}"coffswap.h-new - -MoveIfChange "{o}"coffswap.h-new "{o}"coffswap.h diff -uprN binutils-2.15.90.0.1.1/bfd/mpw-make.sed binutils-2.15.90.0.2/bfd/mpw-make.sed --- binutils-2.15.90.0.1.1/bfd/mpw-make.sed 1999-06-03 11:01:54.000000000 -0700 +++ binutils-2.15.90.0.2/bfd/mpw-make.sed 1969-12-31 16:00:00.000000000 -0800 @@ -1,81 +0,0 @@ -# Sed commands to finish translating the Unix BFD Makefile into MPW syntax. - -# Whack out unused host and target define bits. -/HDEFINES/s/@HDEFINES@// -/TDEFINES/s/@TDEFINES@// - -# Fix pathnames to include directories. -/^INCDIR = /s/^INCDIR = .*$/INCDIR = "{topsrcdir}"include/ -/^CSEARCH = /s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/ - -# Comment out setting of vars, configure script will add these itself. -/^WORDSIZE =/s/^/#/ -# /^ALL_BACKENDS/s/^/#/ -/^BFD_BACKENDS/s/^/#/ -/^BFD_MACHINES/s/^/#/ -/^TDEFAULTS/s/^/#/ - -# Remove extra, useless, "all". -/^all \\Option-f _oldest/,/^$/d - -# Remove the Makefile rebuild rule. -/^Makefile /,/--recheck/d - -# Don't do any recursive subdir stuff. -/ subdir_do/s/{MAKE}/null-command/ - -/BFD_H/s/^{BFD_H}/#{BFD_H}/ - -# Add explicit srcdir paths to special files. -/config.bfd/s/ config.bfd/ "{s}"config.bfd/g -/targmatch.sed/s/ targmatch.sed/ "{s}"targmatch.sed/g - -# Point at include files that are always in the objdir. -/bfd/s/"{s}"bfd\.h/"{o}"bfd.h/g -/config/s/"{s}"config\.h/"{o}"config.h/g -/targmatch/s/"{s}"targmatch\.h/"{o}"targmatch.h/g -/targmatch/s/^targmatch\.h/"{o}"targmatch.h/ -/elf32-target/s/"{s}"elf32-target\.h/"{o}"elf32-target.h/g -/elf32-target/s/^elf32-target\.h/"{o}"elf32-target.h/ -/elf64-target/s/"{s}"elf64-target\.h/"{o}"elf64-target.h/g -/elf64-target/s/^elf64-target\.h/"{o}"elf64-target.h/ - -/"{s}"{INCDIR}/s/"{s}"{INCDIR}/"{INCDIR}"/g - -/dep/s/\.dep/__dep/g - -# Removing duplicates is cool but presently unnecessary, -# so whack this out. -/^ofiles \\Option-f/,/^$/d -/ofiles/s/{OFILES} ofiles/{OFILES}/ -/echo ofiles = /d -/cat ofiles/s/`cat ofiles`/{OFILES}/ - -# No corefile support. -/COREFILE/s/@COREFILE@// -/COREFLAG/s/@COREFLAG@// - -# No PIC foolery in this environment. -/@ALLLIBS@/s/@ALLLIBS@/{TARGETLIB}/ -/@PICLIST@/s/@PICLIST@// -/@PICFLAG@/s/@PICFLAG@// -/^{OFILES} \\Option-f stamp-picdir/,/^$/d - -# Remove the pic trickery from the default build rule. -/^\.c\.o \\Option-f /,/End If/c\ -.c.o \\Option-f .c - -# MPW Make doesn't know about $<. -/"{o}"targets.c.o \\Option-f "{s}"targets.c Makefile/,/^$/c\ -"{o}"targets.c.o \\Option-f "{s}"targets.c Makefile\ - {CC} @DASH_C_FLAG@ {ALL_CFLAGS} {TDEFAULTS} "{s}"targets.c -o "{o}"targets.c.o - -/"{o}"archures.c.o \\Option-f "{s}"archures.c Makefile/,/^$/c\ -"{o}"archures.c.o \\Option-f "{s}"archures.c Makefile\ - {CC} @DASH_C_FLAG@ {ALL_CFLAGS} {TDEFAULTS} "{s}"archures.c -o "{o}"archures.c.o - -# Remove the .h rebuilding rules, we don't currently have a doc subdir, -# or a way to build the prototype-hacking tool that's in it. -/^"{srcdir}"bfd-in2.h \\Option-f /,/^$/d -/^"{srcdir}"libbfd.h \\Option-f /,/^$/d -/^"{srcdir}"libcoff.h \\Option-f /,/^$/d diff -uprN binutils-2.15.90.0.1.1/bfd/netbsd-core.c binutils-2.15.90.0.2/bfd/netbsd-core.c --- binutils-2.15.90.0.1.1/bfd/netbsd-core.c 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/netbsd-core.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* BFD back end for NetBSD style core files Copyright 1988, 1989, 1991, 1992, 1993, 1996, 1998, 1999, 2000, 2001, - 2002, 2004 + 2002, 2003, 2004 Free Software Foundation, Inc. Written by Paul Kranenburg, EUR @@ -34,7 +34,9 @@ NetBSD/sparc64 overlaps with M_MIPS1. */ #define M_SPARC64_OPENBSD M_MIPS1 -/* FIXME: On NetBSD/sparc CORE_FPU_OFFSET should be (sizeof (struct trapframe)). */ +/* Offset of StackGhost cookie within `struct md_coredump' on + OpenBSD/sparc. */ +#define CORE_WCOOKIE_OFFSET 344 struct netbsd_core_struct { @@ -63,7 +65,7 @@ netbsd_core_file_p (abfd) { int i, val; file_ptr offset; - asection *asect, *asect2; + asection *asect; struct core core; struct coreseg coreseg; bfd_size_type amt = sizeof core; @@ -142,25 +144,26 @@ netbsd_core_file_p (abfd) asect->filepos = offset; asect->alignment_power = 2; - offset += coreseg.c_size; - -#ifdef CORE_FPU_OFFSET - switch (CORE_GETFLAG (coreseg)) + if (CORE_GETMID (core) == M_SPARC_NETBSD + && CORE_GETFLAG (coreseg) == CORE_CPU + && coreseg.c_size > CORE_WCOOKIE_OFFSET) { - case CORE_CPU: - /* Hackish... */ - asect->_raw_size = CORE_FPU_OFFSET; - asect2 = bfd_make_section_anyway (abfd, ".reg2"); - if (asect2 == NULL) + /* Truncate the .reg section. */ + asect->_raw_size = CORE_WCOOKIE_OFFSET; + + /* And create the .wcookie section. */ + asect = bfd_make_section_anyway (abfd, ".wcookie"); + if (asect == NULL) goto punt; - asect2->_raw_size = coreseg.c_size - CORE_FPU_OFFSET; - asect2->vma = 0; - asect2->filepos = asect->filepos + CORE_FPU_OFFSET; - asect2->alignment_power = 2; - asect2->flags = SEC_ALLOC + SEC_HAS_CONTENTS; - break; + + asect->flags = SEC_ALLOC + SEC_HAS_CONTENTS; + asect->_raw_size = 4; + asect->vma = 0; + asect->filepos = offset + CORE_WCOOKIE_OFFSET; + asect->alignment_power = 2; } -#endif + + offset += coreseg.c_size; } /* Set architecture from machine ID. */ @@ -228,10 +231,12 @@ swap_abort () abort (); } -#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort ) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) -#define NO_SIGNED_GET \ - ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort ) +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target netbsd_core_vec = { @@ -246,39 +251,39 @@ const bfd_target netbsd_core_vec = 0, /* Symbol prefix. */ ' ', /* ar_pad_char. */ 16, /* ar_max_namelen. */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data. */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data. */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data. */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs. */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs. */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs. */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data. */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit data. */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit data. */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs. */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs. */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs. */ { /* bfd_check_format. */ - _bfd_dummy_target, /* Unknown format. */ - _bfd_dummy_target, /* Object file. */ - _bfd_dummy_target, /* Archive. */ - netbsd_core_file_p /* A core file. */ + _bfd_dummy_target, /* Unknown format. */ + _bfd_dummy_target, /* Object file. */ + _bfd_dummy_target, /* Archive. */ + netbsd_core_file_p /* A core file. */ }, { /* bfd_set_format. */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, { /* bfd_write_contents. */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, - BFD_JUMP_TABLE_GENERIC (_bfd_generic), - BFD_JUMP_TABLE_COPY (_bfd_generic), - BFD_JUMP_TABLE_CORE (netbsd), - BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive), - BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols), - BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), - BFD_JUMP_TABLE_WRITE (_bfd_generic), - BFD_JUMP_TABLE_LINK (_bfd_nolink), - BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), + BFD_JUMP_TABLE_GENERIC (_bfd_generic), + BFD_JUMP_TABLE_COPY (_bfd_generic), + BFD_JUMP_TABLE_CORE (netbsd), + BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive), + BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols), + BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), + BFD_JUMP_TABLE_WRITE (_bfd_generic), + BFD_JUMP_TABLE_LINK (_bfd_nolink), + BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), NULL, (PTR) 0 /* Backend_data. */ -}; + }; diff -uprN binutils-2.15.90.0.1.1/bfd/osf-core.c binutils-2.15.90.0.2/bfd/osf-core.c --- binutils-2.15.90.0.1.1/bfd/osf-core.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/osf-core.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* BFD back-end for OSF/1 core files. - Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002 + Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -185,10 +185,13 @@ swap_abort() { abort(); /* This way doesn't require any declaration for ANSI to fuck up */ } -#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort ) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) -#define NO_SIGNED_GET \ - ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort ) + +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target osf_core_vec = { @@ -203,26 +206,26 @@ const bfd_target osf_core_vec = 0, /* symbol prefix */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit data */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs */ { /* bfd_check_format */ - _bfd_dummy_target, /* unknown format */ - _bfd_dummy_target, /* object file */ - _bfd_dummy_target, /* archive */ - osf_core_core_file_p /* a core file */ + _bfd_dummy_target, /* unknown format */ + _bfd_dummy_target, /* object file */ + _bfd_dummy_target, /* archive */ + osf_core_core_file_p /* a core file */ }, { /* bfd_set_format */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, { /* bfd_write_contents */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, BFD_JUMP_TABLE_GENERIC (_bfd_generic), @@ -238,4 +241,4 @@ const bfd_target osf_core_vec = NULL, (PTR) 0 /* backend_data */ -}; + }; diff -uprN binutils-2.15.90.0.1.1/bfd/pdp11.c binutils-2.15.90.0.2/bfd/pdp11.c --- binutils-2.15.90.0.1.1/bfd/pdp11.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/pdp11.c 2004-04-12 12:56:34.000000000 -0700 @@ -134,9 +134,9 @@ struct pdp11_external_nlist static bfd_boolean MY(write_object_contents) PARAMS ((bfd *abfd)); #define MY_text_includes_header 1 -bfd_vma bfd_getp32 PARAMS ((const bfd_byte *)); -bfd_signed_vma bfd_getp_signed_32 PARAMS ((const bfd_byte *)); -void bfd_putp32 PARAMS ((bfd_vma, bfd_byte *)); +static bfd_vma bfd_getp32 (const void *); +static bfd_signed_vma bfd_getp_signed_32 (const void *); +static void bfd_putp32 (bfd_vma, void *); #define MY_BFD_TARGET @@ -5004,31 +5004,38 @@ aout_link_reloc_link_order (finfo, o, p) } /* end of modified aoutx.h */ -bfd_vma -bfd_getp32 (addr) - const bfd_byte *addr; +static bfd_vma +bfd_getp32 (const void *p) { - return (((((bfd_vma)addr[1] << 8) | addr[0]) << 8) - | addr[3]) << 8 | addr[2]; + const bfd_byte *addr = p; + unsigned long v; + v = (unsigned long) addr[1] << 24; + v |= (unsigned long) addr[0] << 16; + v |= (unsigned long) addr[3] << 8; + v |= (unsigned long) addr[2]; + return v; } #define COERCE32(x) (((bfd_signed_vma) (x) ^ 0x80000000) - 0x80000000) -bfd_signed_vma -bfd_getp_signed_32 (addr) - const bfd_byte *addr; +static bfd_signed_vma +bfd_getp_signed_32 (const void *p) { - return COERCE32((((((bfd_vma)addr[1] << 8) | addr[0]) << 8) - | addr[3]) << 8 | addr[2]); + const bfd_byte *addr = p; + unsigned long v; + v = (unsigned long) addr[1] << 24; + v |= (unsigned long) addr[0] << 16; + v |= (unsigned long) addr[3] << 8; + v |= (unsigned long) addr[2]; + return COERCE32 (v); } -void -bfd_putp32 (data, addr) - bfd_vma data; - bfd_byte *addr; -{ - addr[0] = (bfd_byte)(data >> 16); - addr[1] = (bfd_byte)(data >> 24); - addr[2] = (bfd_byte)data; - addr[3] = (bfd_byte)(data >> 8); +static void +bfd_putp32 (bfd_vma data, void *p) +{ + bfd_byte *addr = p; + addr[0] = (data >> 16) & 0xff; + addr[1] = (data >> 24) & 0xff; + addr[2] = (data >> 0) & 0xff; + addr[3] = (data >> 8) & 0xff; } diff -uprN binutils-2.15.90.0.1.1/bfd/po/SRC-POTFILES.in binutils-2.15.90.0.2/bfd/po/SRC-POTFILES.in --- binutils-2.15.90.0.1.1/bfd/po/SRC-POTFILES.in 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/po/SRC-POTFILES.in 2004-04-12 12:56:34.000000000 -0700 @@ -185,7 +185,6 @@ elfcore.h elf-eh-frame.c elf-hppa.h elflink.c -elflink.h elf-m10200.c elf-m10300.c elfn32-mips.c diff -uprN binutils-2.15.90.0.1.1/bfd/po/bfd.pot binutils-2.15.90.0.2/bfd/po/bfd.pot --- binutils-2.15.90.0.1.1/bfd/po/bfd.pot 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/po/bfd.pot 2004-04-12 12:56:34.000000000 -0700 @@ -1,12 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2003-07-17 14:52+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-03-27 15:34+1030\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,22 +36,22 @@ msgstr "" msgid "%s: Bad relocation record imported: %d" msgstr "" -#: aoutx.h:1295 aoutx.h:1716 +#: aoutx.h:1296 aoutx.h:1717 #, c-format msgid "%s: can not represent section `%s' in a.out object file format" msgstr "" -#: aoutx.h:1682 +#: aoutx.h:1683 #, c-format msgid "" "%s: can not represent section for symbol `%s' in a.out object file format" msgstr "" -#: aoutx.h:1684 +#: aoutx.h:1685 msgid "*unknown*" msgstr "" -#: aoutx.h:3776 +#: aoutx.h:3777 #, c-format msgid "%s: relocatable link from %s to %s not supported" msgstr "" @@ -171,15 +173,16 @@ msgid "not mapping: data=%lx mapped=%d\n msgstr "" #: bfdwin.c:205 +#, c-format msgid "not mapping: env var not set\n" msgstr "" -#: binary.c:306 +#: binary.c:308 #, c-format msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx." msgstr "" -#: coff-rs6000.c:3616 coff64-rs6000.c:2109 +#: coff64-rs6000.c:2108 coff-rs6000.c:3615 #, c-format msgid "%s: symbol `%s' has unrecognized smclas %d" msgstr "" @@ -212,169 +215,181 @@ msgstr "" msgid "using multiple gp values" msgstr "" -#: coff-arm.c:1066 elf32-arm.h:294 +#: coff-arm.c:1066 elf32-arm.h:465 #, c-format msgid "%s: unable to find THUMB glue '%s' for `%s'" msgstr "" -#: coff-arm.c:1096 elf32-arm.h:329 +#: coff-arm.c:1096 elf32-arm.h:500 #, c-format msgid "%s: unable to find ARM glue '%s' for `%s'" msgstr "" -#: coff-arm.c:1394 coff-arm.c:1489 elf32-arm.h:892 elf32-arm.h:999 +#: coff-arm.c:1400 coff-arm.c:1495 elf32-arm.h:1063 elf32-arm.h:1170 #, c-format msgid "%s(%s): warning: interworking not enabled." msgstr "" -#: coff-arm.c:1398 elf32-arm.h:1002 +#: coff-arm.c:1404 elf32-arm.h:1173 #, c-format msgid " first occurrence: %s: arm call to thumb" msgstr "" -#: coff-arm.c:1493 elf32-arm.h:895 +#: coff-arm.c:1499 elf32-arm.h:1066 #, c-format msgid " first occurrence: %s: thumb call to arm" msgstr "" -#: coff-arm.c:1496 +#: coff-arm.c:1502 msgid " consider relinking with --support-old-code enabled" msgstr "" -#: coff-arm.c:1788 coff-tic80.c:687 cofflink.c:3038 +#: coff-arm.c:1797 cofflink.c:2987 coff-tic80.c:687 #, c-format msgid "%s: bad reloc address 0x%lx in section `%s'" msgstr "" -#: coff-arm.c:2132 +#: coff-arm.c:2141 #, c-format msgid "%s: illegal symbol index in reloc: %d" msgstr "" -#: coff-arm.c:2265 +#: coff-arm.c:2274 #, c-format msgid "ERROR: %s is compiled for APCS-%d, whereas %s is compiled for APCS-%d" msgstr "" -#: coff-arm.c:2280 elf32-arm.h:2328 +#: coff-arm.c:2289 elf32-arm.h:2482 #, c-format msgid "" "ERROR: %s passes floats in float registers, whereas %s passes them in " "integer registers" msgstr "" -#: coff-arm.c:2283 elf32-arm.h:2333 +#: coff-arm.c:2292 elf32-arm.h:2487 #, c-format msgid "" "ERROR: %s passes floats in integer registers, whereas %s passes them in " "float registers" msgstr "" -#: coff-arm.c:2298 +#: coff-arm.c:2307 #, c-format msgid "" "ERROR: %s is compiled as position independent code, whereas target %s is " "absolute position" msgstr "" -#: coff-arm.c:2301 +#: coff-arm.c:2310 #, c-format msgid "" "ERROR: %s is compiled as absolute position code, whereas target %s is " "position independent" msgstr "" -#: coff-arm.c:2330 elf32-arm.h:2405 +#: coff-arm.c:2339 elf32-arm.h:2559 #, c-format msgid "Warning: %s supports interworking, whereas %s does not" msgstr "" -#: coff-arm.c:2333 elf32-arm.h:2412 +#: coff-arm.c:2342 elf32-arm.h:2566 #, c-format msgid "Warning: %s does not support interworking, whereas %s does" msgstr "" -#: coff-arm.c:2360 +#: coff-arm.c:2369 #, c-format msgid "private flags = %x:" msgstr "" -#: coff-arm.c:2368 elf32-arm.h:2467 +#: coff-arm.c:2377 elf32-arm.h:2621 +#, c-format msgid " [floats passed in float registers]" msgstr "" -#: coff-arm.c:2370 +#: coff-arm.c:2379 +#, c-format msgid " [floats passed in integer registers]" msgstr "" -#: coff-arm.c:2373 elf32-arm.h:2470 +#: coff-arm.c:2382 elf32-arm.h:2624 +#, c-format msgid " [position independent]" msgstr "" -#: coff-arm.c:2375 +#: coff-arm.c:2384 +#, c-format msgid " [absolute position]" msgstr "" -#: coff-arm.c:2379 +#: coff-arm.c:2388 +#, c-format msgid " [interworking flag not initialised]" msgstr "" -#: coff-arm.c:2381 +#: coff-arm.c:2390 +#, c-format msgid " [interworking supported]" msgstr "" -#: coff-arm.c:2383 +#: coff-arm.c:2392 +#, c-format msgid " [interworking not supported]" msgstr "" -#: coff-arm.c:2431 elf32-arm.h:2150 +#: coff-arm.c:2440 elf32-arm.h:2286 #, c-format msgid "" "Warning: Not setting interworking flag of %s since it has already been " "specified as non-interworking" msgstr "" -#: coff-arm.c:2435 elf32-arm.h:2154 +#: coff-arm.c:2444 elf32-arm.h:2290 #, c-format msgid "Warning: Clearing the interworking flag of %s due to outside request" msgstr "" -#: coffcode.h:1108 +#: coffcode.h:1112 #, c-format msgid "%s (%s): Section flag %s (0x%x) ignored" msgstr "" -#: coffcode.h:2214 +#: coffcode.h:2224 #, c-format msgid "Unrecognized TI COFF target id '0x%x'" msgstr "" -#: coffcode.h:4439 +#: coffcode.h:4428 +#, c-format +msgid "%s: warning: line number table read failed" +msgstr "" + +#: coffcode.h:4461 #, c-format msgid "%s: warning: illegal symbol index %ld in line numbers" msgstr "" -#: coffcode.h:4453 +#: coffcode.h:4475 #, c-format msgid "%s: warning: duplicate line number information for `%s'" msgstr "" -#: coffcode.h:4807 +#: coffcode.h:4831 #, c-format msgid "%s: Unrecognized storage class %d for %s symbol `%s'" msgstr "" -#: coffcode.h:4940 +#: coffcode.h:4964 #, c-format msgid "warning: %s: local symbol `%s' has no section" msgstr "" -#: coff-tic4x.c:218 coff-tic54x.c:373 coffcode.h:5047 +#: coffcode.h:5071 coff-i860.c:610 coff-tic4x.c:218 coff-tic54x.c:366 #, c-format msgid "%s: warning: illegal symbol index %ld in relocs" msgstr "" -#: coffcode.h:5085 +#: coffcode.h:5109 #, c-format msgid "%s: illegal relocation type %d at address 0x%lx" msgstr "" @@ -384,40 +399,45 @@ msgstr "" msgid "%s: bad string table size %lu" msgstr "" -#: coff-h8300.c:1047 +#: coff-h8300.c:1124 #, c-format msgid "cannot handle R_MEM_INDIRECT reloc when using %s output" msgstr "" +#: coff-i860.c:142 +#, c-format +msgid "Relocation `%s' not yet implemented\n" +msgstr "" + #: coff-i960.c:137 coff-i960.c:486 msgid "uncertain calling convention for non-COFF symbol" msgstr "" -#: cofflink.c:538 elflink.h:1276 +#: cofflink.c:506 elflink.c:3665 #, c-format msgid "Warning: type of symbol `%s' changed from %d to %d in %s" msgstr "" -#: cofflink.c:2328 +#: cofflink.c:2293 #, c-format msgid "%s: relocs in section `%s', but it has no contents" msgstr "" -#: cofflink.c:2671 coffswap.h:890 +#: cofflink.c:2629 coffswap.h:890 #, c-format msgid "%s: %s: reloc overflow: 0x%lx > 0xffff" msgstr "" -#: cofflink.c:2680 coffswap.h:876 +#: cofflink.c:2638 coffswap.h:876 #, c-format msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff" msgstr "" -#: coff-m68k.c:482 coff-mips.c:2394 elf32-m68k.c:2193 elf32-mips.c:1783 +#: coff-m68k.c:482 coff-mips.c:2394 elf32-m68k.c:2145 elf32-mips.c:1405 msgid "unsupported reloc type" msgstr "" -#: coff-mips.c:839 elf32-mips.c:1088 elf64-mips.c:1590 elfn32-mips.c:1554 +#: coff-mips.c:839 elf32-mips.c:795 elf64-mips.c:1490 elfn32-mips.c:1301 msgid "GP relative relocation when _gp not defined" msgstr "" @@ -431,17 +451,17 @@ msgstr "" msgid "reloc not properly aligned" msgstr "" -#: coff-rs6000.c:2790 +#: coff-rs6000.c:2789 #, c-format msgid "%s: unsupported relocation type 0x%02x" msgstr "" -#: coff-rs6000.c:2883 +#: coff-rs6000.c:2882 #, c-format msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" msgstr "" -#: coff-tic4x.c:170 coff-tic54x.c:288 coff-tic80.c:450 +#: coff-tic4x.c:170 coff-tic54x.c:281 coff-tic80.c:450 #, c-format msgid "Unrecognized reloc type 0x%x" msgstr "" @@ -461,72 +481,72 @@ msgstr "" msgid "warning: unable to update contents of %s section in %s" msgstr "" -#: dwarf2.c:380 +#: dwarf2.c:289 msgid "Dwarf Error: Can't find .debug_str section." msgstr "" -#: dwarf2.c:397 +#: dwarf2.c:306 #, c-format msgid "" "Dwarf Error: DW_FORM_strp offset (%lu) greater than or equal to .debug_str " "size (%lu)." msgstr "" -#: dwarf2.c:541 +#: dwarf2.c:441 msgid "Dwarf Error: Can't find .debug_abbrev section." msgstr "" -#: dwarf2.c:556 +#: dwarf2.c:456 #, c-format msgid "" "Dwarf Error: Abbrev offset (%lu) greater than or equal to .debug_abbrev size " "(%lu)." msgstr "" -#: dwarf2.c:756 +#: dwarf2.c:654 #, c-format msgid "Dwarf Error: Invalid or unhandled FORM value: %u." msgstr "" -#: dwarf2.c:933 +#: dwarf2.c:827 msgid "Dwarf Error: mangled line number section (bad file number)." msgstr "" -#: dwarf2.c:1032 +#: dwarf2.c:920 msgid "Dwarf Error: Can't find .debug_line section." msgstr "" -#: dwarf2.c:1049 +#: dwarf2.c:937 #, c-format msgid "" "Dwarf Error: Line offset (%lu) greater than or equal to .debug_line size (%" "lu)." msgstr "" -#: dwarf2.c:1255 +#: dwarf2.c:1142 msgid "Dwarf Error: mangled line number section." msgstr "" -#: dwarf2.c:1470 dwarf2.c:1620 +#: dwarf2.c:1352 dwarf2.c:1501 #, c-format msgid "Dwarf Error: Could not find abbrev number %u." msgstr "" -#: dwarf2.c:1581 +#: dwarf2.c:1462 #, c-format msgid "" "Dwarf Error: found dwarf version '%u', this reader only handles version 2 " "information." msgstr "" -#: dwarf2.c:1588 +#: dwarf2.c:1469 #, c-format msgid "" "Dwarf Error: found address size '%u', this reader can not handle sizes " "greater than '%u'." msgstr "" -#: dwarf2.c:1611 +#: dwarf2.c:1492 #, c-format msgid "Dwarf Error: Bad abbrev number: %u." msgstr "" @@ -592,323 +612,404 @@ msgid "" " Type: %s" msgstr "" -#: elf32-arm.h:1228 +#: elf32-arm.h:1416 #, c-format msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'." msgstr "" -#: elf32-arm.h:1424 +#: elf32-arm.h:1612 #, c-format msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'." msgstr "" -#: elf32-arm.h:1918 elf32-sh.c:4706 elf64-sh64.c:1613 +#: elf32-arm.h:2080 elf32-sh.c:4808 elf64-sh64.c:1596 #, c-format msgid "%s(%s+0x%lx): %s relocation against SEC_MERGE section" msgstr "" -#: elf32-arm.h:2012 +#: elf32-arm.h:2172 #, c-format msgid "" "%s: warning: unresolvable relocation %d against symbol `%s' from %s section" msgstr "" -#: elf-m10200.c:442 elf-m10300.c:1695 elf32-arm.h:2088 elf32-avr.c:812 -#: elf32-cris.c:1390 elf32-d10v.c:482 elf32-fr30.c:634 elf32-frv.c:815 -#: elf32-h8300.c:509 elf32-i860.c:1028 elf32-ip2k.c:1586 elf32-iq2000.c:699 -#: elf32-m32r.c:1283 elf32-m68hc1x.c:1305 elf32-msp430.c:510 -#: elf32-openrisc.c:436 elf32-v850.c:1777 elf32-xstormy16.c:976 -#: elf64-mmix.c:1332 +#: elf32-arm.h:2224 elf32-avr.c:791 elf32-cris.c:1376 elf32-d10v.c:563 +#: elf32-fr30.c:599 elf32-frv.c:2499 elf32-h8300.c:493 elf32-i860.c:1196 +#: elf32-ip2k.c:1568 elf32-iq2000.c:666 elf32-m32r.c:3191 elf32-m68hc1x.c:1190 +#: elf32-msp430.c:489 elf32-openrisc.c:415 elf32-v850.c:1746 +#: elf32-xstormy16.c:954 elf64-mmix.c:1518 elf-m10200.c:426 elf-m10300.c:1676 msgid "internal error: out of range error" msgstr "" -#: elf-m10200.c:446 elf-m10300.c:1699 elf32-arm.h:2092 elf32-avr.c:816 -#: elf32-cris.c:1394 elf32-d10v.c:486 elf32-fr30.c:638 elf32-frv.c:819 -#: elf32-h8300.c:513 elf32-i860.c:1032 elf32-iq2000.c:703 elf32-m32r.c:1287 -#: elf32-m68hc1x.c:1309 elf32-msp430.c:514 elf32-openrisc.c:440 -#: elf32-v850.c:1781 elf32-xstormy16.c:980 elf64-mmix.c:1336 elfxx-mips.c:6452 +#: elf32-arm.h:2228 elf32-avr.c:795 elf32-cris.c:1380 elf32-d10v.c:567 +#: elf32-fr30.c:603 elf32-frv.c:2503 elf32-h8300.c:497 elf32-i860.c:1200 +#: elf32-iq2000.c:670 elf32-m32r.c:3195 elf32-m68hc1x.c:1194 +#: elf32-msp430.c:493 elf32-openrisc.c:419 elf32-v850.c:1750 +#: elf32-xstormy16.c:958 elf64-mmix.c:1522 elf-m10200.c:430 elf-m10300.c:1680 +#: elfxx-mips.c:6459 msgid "internal error: unsupported relocation error" msgstr "" -#: elf-m10200.c:450 elf-m10300.c:1703 elf32-arm.h:2096 elf32-d10v.c:490 -#: elf32-h8300.c:517 elf32-m32r.c:1291 elf32-m68hc1x.c:1313 +#: elf32-arm.h:2232 elf32-d10v.c:571 elf32-h8300.c:501 elf32-m32r.c:3199 +#: elf32-m68hc1x.c:1198 elf-m10200.c:434 elf-m10300.c:1684 msgid "internal error: dangerous error" msgstr "" -#: elf-m10200.c:454 elf-m10300.c:1707 elf32-arm.h:2100 elf32-avr.c:824 -#: elf32-cris.c:1402 elf32-d10v.c:494 elf32-fr30.c:646 elf32-frv.c:827 -#: elf32-h8300.c:521 elf32-i860.c:1040 elf32-ip2k.c:1601 elf32-iq2000.c:711 -#: elf32-m32r.c:1295 elf32-m68hc1x.c:1317 elf32-msp430.c:522 -#: elf32-openrisc.c:448 elf32-v850.c:1801 elf32-xstormy16.c:988 -#: elf64-mmix.c:1344 +#: elf32-arm.h:2236 elf32-avr.c:803 elf32-cris.c:1388 elf32-d10v.c:575 +#: elf32-fr30.c:611 elf32-frv.c:2511 elf32-h8300.c:505 elf32-i860.c:1208 +#: elf32-ip2k.c:1583 elf32-iq2000.c:678 elf32-m32r.c:3203 elf32-m68hc1x.c:1202 +#: elf32-msp430.c:501 elf32-openrisc.c:427 elf32-v850.c:1770 +#: elf32-xstormy16.c:966 elf64-mmix.c:1530 elf-m10200.c:438 elf-m10300.c:1688 msgid "internal error: unknown error" msgstr "" -#: elf32-arm.h:2202 +#: elf32-arm.h:2338 #, c-format msgid "" "Warning: Clearing the interworking flag of %s because non-interworking code " "in %s has been linked with it" msgstr "" -#: elf32-arm.h:2302 +#: elf32-arm.h:2456 #, c-format msgid "" "ERROR: %s is compiled for EABI version %d, whereas %s is compiled for " "version %d" msgstr "" -#: elf32-arm.h:2316 +#: elf32-arm.h:2470 #, c-format msgid "ERROR: %s is compiled for APCS-%d, whereas target %s uses APCS-%d" msgstr "" -#: elf32-arm.h:2344 +#: elf32-arm.h:2498 #, c-format msgid "ERROR: %s uses VFP instructions, whereas %s does not" msgstr "" -#: elf32-arm.h:2349 +#: elf32-arm.h:2503 #, c-format msgid "ERROR: %s uses FPA instructions, whereas %s does not" msgstr "" -#: elf32-arm.h:2360 elf32-arm.h:2365 +#: elf32-arm.h:2514 #, c-format msgid "ERROR: %s uses Maverick instructions, whereas %s does not" msgstr "" -#: elf32-arm.h:2385 +#: elf32-arm.h:2519 +#, c-format +msgid "ERROR: %s does not use Maverick instructions, whereas %s does" +msgstr "" + +#: elf32-arm.h:2539 #, c-format msgid "ERROR: %s uses software FP, whereas %s uses hardware FP" msgstr "" -#: elf32-arm.h:2390 +#: elf32-arm.h:2544 #, c-format msgid "ERROR: %s uses hardware FP, whereas %s uses software FP" msgstr "" #. Ignore init flag - it may not be set, despite the flags field #. containing valid data. -#: elf32-arm.h:2443 elf32-cris.c:2975 elf32-m68hc1x.c:1459 elf32-m68k.c:397 -#: elf32-vax.c:546 elfxx-mips.c:9240 +#. Ignore init flag - it may not be set, despite the flags field containing valid data. +#: elf32-arm.h:2597 elf32-cris.c:2980 elf32-m68hc1x.c:1338 elf32-m68k.c:397 +#: elf32-vax.c:546 elfxx-mips.c:9168 #, c-format msgid "private flags = %lx:" msgstr "" -#: elf32-arm.h:2452 +#: elf32-arm.h:2606 +#, c-format msgid " [interworking enabled]" msgstr "" -#: elf32-arm.h:2460 +#: elf32-arm.h:2614 +#, c-format msgid " [VFP float format]" msgstr "" -#: elf32-arm.h:2462 +#: elf32-arm.h:2616 +#, c-format msgid " [Maverick float format]" msgstr "" -#: elf32-arm.h:2464 +#: elf32-arm.h:2618 +#, c-format msgid " [FPA float format]" msgstr "" -#: elf32-arm.h:2473 +#: elf32-arm.h:2627 +#, c-format msgid " [new ABI]" msgstr "" -#: elf32-arm.h:2476 +#: elf32-arm.h:2630 +#, c-format msgid " [old ABI]" msgstr "" -#: elf32-arm.h:2479 +#: elf32-arm.h:2633 +#, c-format msgid " [software FP]" msgstr "" -#: elf32-arm.h:2488 +#: elf32-arm.h:2642 +#, c-format msgid " [Version1 EABI]" msgstr "" -#: elf32-arm.h:2491 elf32-arm.h:2502 +#: elf32-arm.h:2645 elf32-arm.h:2656 +#, c-format msgid " [sorted symbol table]" msgstr "" -#: elf32-arm.h:2493 elf32-arm.h:2504 +#: elf32-arm.h:2647 elf32-arm.h:2658 +#, c-format msgid " [unsorted symbol table]" msgstr "" -#: elf32-arm.h:2499 +#: elf32-arm.h:2653 +#, c-format msgid " [Version2 EABI]" msgstr "" -#: elf32-arm.h:2507 +#: elf32-arm.h:2661 +#, c-format msgid " [dynamic symbols use segment index]" msgstr "" -#: elf32-arm.h:2510 +#: elf32-arm.h:2664 +#, c-format msgid " [mapping symbols precede others]" msgstr "" -#: elf32-arm.h:2517 +#: elf32-arm.h:2671 +#, c-format +msgid " [Version3 EABI]" +msgstr "" + +#: elf32-arm.h:2674 +#, c-format +msgid " [BE8]" +msgstr "" + +#: elf32-arm.h:2677 +#, c-format +msgid " [LE8]" +msgstr "" + +#: elf32-arm.h:2683 +#, c-format msgid " " msgstr "" -#: elf32-arm.h:2524 +#: elf32-arm.h:2690 +#, c-format msgid " [relocatable executable]" msgstr "" -#: elf32-arm.h:2527 +#: elf32-arm.h:2693 +#, c-format msgid " [has entry point]" msgstr "" -#: elf32-arm.h:2532 +#: elf32-arm.h:2698 +#, c-format msgid "" msgstr "" -#: elf32-avr.c:820 elf32-cris.c:1398 elf32-fr30.c:642 elf32-frv.c:823 -#: elf32-i860.c:1036 elf32-ip2k.c:1597 elf32-iq2000.c:707 elf32-msp430.c:518 -#: elf32-openrisc.c:444 elf32-v850.c:1785 elf32-xstormy16.c:984 -#: elf64-mmix.c:1340 +#: elf32-avr.c:799 elf32-cris.c:1384 elf32-fr30.c:607 elf32-frv.c:2507 +#: elf32-i860.c:1204 elf32-ip2k.c:1579 elf32-iq2000.c:674 elf32-msp430.c:497 +#: elf32-openrisc.c:423 elf32-v850.c:1754 elf32-xstormy16.c:962 +#: elf64-mmix.c:1526 msgid "internal error: dangerous relocation" msgstr "" -#: elf32-cris.c:931 +#: elf32-cris.c:921 #, c-format msgid "%s: unresolvable relocation %s against symbol `%s' from %s section" msgstr "" -#: elf32-cris.c:993 +#: elf32-cris.c:978 #, c-format msgid "" "%s: No PLT nor GOT for relocation %s against symbol `%s' from %s section" msgstr "" -#: elf32-cris.c:996 elf32-cris.c:1122 +#: elf32-cris.c:980 +#, c-format +msgid "%s: No PLT for relocation %s against symbol `%s' from %s section" +msgstr "" + +#: elf32-cris.c:984 elf32-cris.c:1117 msgid "[whose name is lost]" msgstr "" -#: elf32-cris.c:1111 +#: elf32-cris.c:1106 #, c-format msgid "" "%s: relocation %s with non-zero addend %d against local symbol from %s " "section" msgstr "" -#: elf32-cris.c:1118 +#: elf32-cris.c:1113 #, c-format msgid "" "%s: relocation %s with non-zero addend %d against symbol `%s' from %s section" msgstr "" -#: elf32-cris.c:1143 +#: elf32-cris.c:1138 #, c-format msgid "" "%s: relocation %s is not allowed for global symbol: `%s' from %s section" msgstr "" -#: elf32-cris.c:1158 +#: elf32-cris.c:1153 #, c-format msgid "%s: relocation %s in section %s with no GOT created" msgstr "" -#: elf32-cris.c:1277 +#: elf32-cris.c:1272 #, c-format msgid "%s: Internal inconsistency; no relocation section %s" msgstr "" -#: elf32-cris.c:2500 +#: elf32-cris.c:2502 #, c-format msgid "" "%s, section %s:\n" " relocation %s should not be used in a shared object; recompile with -fPIC" msgstr "" -#: elf32-cris.c:2978 +#: elf32-cris.c:2983 +#, c-format msgid " [symbols have a _ prefix]" msgstr "" -#: elf32-cris.c:3017 +#: elf32-cris.c:3022 #, c-format msgid "%s: uses _-prefixed symbols, but writing file with non-prefixed symbols" msgstr "" -#: elf32-cris.c:3018 +#: elf32-cris.c:3023 #, c-format msgid "%s: uses non-prefixed symbols, but writing file with _-prefixed symbols" msgstr "" -#: elf32-frv.c:1223 +#: elf32-frv.c:2013 +msgid "Dynamic relocation references symbol with nonzero addend" +msgstr "" + +#: elf32-frv.c:2026 +msgid "relocation references symbol not defined in the module" +msgstr "" + +#: elf32-frv.c:2120 +msgid "R_FRV_FUNCDESC references dynamic symbol with nonzero addend" +msgstr "" + +#: elf32-frv.c:2158 elf32-frv.c:2257 +msgid "cannot emit fixups in read-only section" +msgstr "" + +#: elf32-frv.c:2181 elf32-frv.c:2294 +msgid "cannot emit dynamic relocations in read-only section" +msgstr "" + +#: elf32-frv.c:2216 +msgid "R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend" +msgstr "" + +#: elf32-frv.c:2386 +msgid "relocations between different segments are not supported" +msgstr "" + +#: elf32-frv.c:2387 +msgid "warning: relocation references a different segment" +msgstr "" + +#: elf32-frv.c:4390 #, c-format msgid "" "%s: compiled with %s and linked with modules that use non-pic relocations" msgstr "" -#: elf32-frv.c:1273 elf32-iq2000.c:895 +#: elf32-frv.c:4443 elf32-iq2000.c:862 #, c-format msgid "%s: compiled with %s and linked with modules compiled with %s" msgstr "" -#: elf32-frv.c:1285 +#: elf32-frv.c:4455 #, c-format msgid "" "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%" "lx)" msgstr "" -#: elf32-frv.c:1321 elf32-iq2000.c:933 +#: elf32-frv.c:4491 elf32-iq2000.c:900 #, c-format msgid "private flags = 0x%lx:" msgstr "" -#: elf32-gen.c:83 elf64-gen.c:82 +#: elf32-gen.c:83 elf64-gen.c:83 #, c-format msgid "%s: Relocations in generic ELF (EM: %d)" msgstr "" -#: elf32-hppa.c:672 elf32-m68hc1x.c:176 elf64-ppc.c:3118 +#: elf32-hppa.c:542 elf32-m68hc1x.c:161 elf64-ppc.c:3188 #, c-format msgid "%s: cannot create stub entry %s" msgstr "" -#: elf32-hppa.c:957 elf32-hppa.c:3538 +#: elf32-hppa.c:795 elf32-hppa.c:3315 #, c-format msgid "%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections" msgstr "" -#: elf32-hppa.c:1340 elf64-x86-64.c:672 elf64-x86-64.c:797 +#: elf32-hppa.c:1167 elf64-x86-64.c:665 elf64-x86-64.c:790 #, c-format msgid "" "%s: relocation %s can not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1360 +#: elf32-hppa.c:1187 #, c-format msgid "" "%s: relocation %s should not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1553 +#: elf32-hppa.c:1377 #, c-format msgid "Could not find relocation section for %s" msgstr "" -#: elf32-hppa.c:2828 +#: elf32-hppa.c:2572 #, c-format msgid "%s: duplicate export stub %s" msgstr "" -#: elf32-hppa.c:3416 +#: elf32-hppa.c:3162 +#, c-format +msgid "" +"%s(%s+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link" +msgstr "" + +#: elf32-hppa.c:3192 #, c-format msgid "%s(%s+0x%lx): fixing %s" msgstr "" -#: elf32-hppa.c:4039 +#: elf32-hppa.c:3810 #, c-format msgid "%s(%s+0x%lx): cannot handle %s for %s" msgstr "" -#: elf32-hppa.c:4357 +#: elf32-hppa.c:4103 msgid ".got section not immediately after .plt section" msgstr "" @@ -917,33 +1018,33 @@ msgstr "" msgid "%s: invalid relocation type %d" msgstr "" -#: elf32-i386.c:841 elf32-s390.c:990 elf32-sparc.c:887 elf32-xtensa.c:637 -#: elf64-s390.c:943 elf64-x86-64.c:650 +#: elf32-i386.c:864 elf32-s390.c:983 elf32-sparc.c:916 elf32-xtensa.c:641 +#: elf64-s390.c:936 elf64-x86-64.c:643 #, c-format msgid "%s: bad symbol index: %d" msgstr "" -#: elf32-i386.c:949 elf32-s390.c:1168 elf32-sh.c:6426 elf32-sparc.c:1011 -#: elf64-s390.c:1129 +#: elf32-i386.c:972 elf32-s390.c:1161 elf32-sh.c:6590 elf32-sparc.c:1040 +#: elf64-s390.c:1122 #, c-format msgid "%s: `%s' accessed both as normal and thread local symbol" msgstr "" -#: elf32-i386.c:1064 elf32-s390.c:1279 elf64-ppc.c:3929 elf64-s390.c:1243 -#: elf64-x86-64.c:886 +#: elf32-i386.c:1089 elf32-s390.c:1272 elf64-ppc.c:4036 elf64-s390.c:1236 +#: elf64-x86-64.c:879 #, c-format msgid "%s: bad relocation section name `%s'" msgstr "" -#: elf32-i386.c:2908 elf32-m68k.c:1757 elf32-s390.c:3022 elf32-sparc.c:2879 -#: elf32-xtensa.c:2193 elf64-s390.c:3018 elf64-sparc.c:2664 -#: elf64-x86-64.c:2452 +#: elf32-i386.c:2889 elf32-m68k.c:1709 elf32-s390.c:2996 elf32-sparc.c:2857 +#: elf32-xtensa.c:2106 elf64-s390.c:2992 elf64-sparc.c:2620 +#: elf64-x86-64.c:2389 #, c-format msgid "%s(%s+0x%lx): unresolvable relocation against symbol `%s'" msgstr "" -#: elf32-i386.c:2947 elf32-m68k.c:1796 elf32-s390.c:3072 elf64-s390.c:3068 -#: elf64-x86-64.c:2490 +#: elf32-i386.c:2928 elf32-m68k.c:1748 elf32-s390.c:3046 elf64-s390.c:3042 +#: elf64-x86-64.c:2427 #, c-format msgid "%s(%s+0x%lx): reloc against `%s': error %d" msgstr "" @@ -968,130 +1069,155 @@ msgid "ip2k linker: redundant page instr msgstr "" #. Only if it's not an unresolved symbol. -#: elf32-ip2k.c:1593 +#: elf32-ip2k.c:1575 msgid "unsupported relocation between data/insn address spaces" msgstr "" -#: elf32-iq2000.c:907 elf32-m68hc1x.c:1431 elf32-ppc.c:2175 elf64-sparc.c:3072 -#: elfxx-mips.c:9197 +#: elf32-iq2000.c:874 elf32-m68hc1x.c:1312 elf32-ppc.c:2293 elf64-sparc.c:3028 +#: elfxx-mips.c:9129 #, c-format msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "" -#: elf32-m32r.c:930 +#: elf32-m32r.c:1487 msgid "SDA relocation when _SDA_BASE_ not defined" msgstr "" -#: elf32-ia64.c:3817 elf32-m32r.c:1018 elf64-alpha.c:4279 elf64-alpha.c:4407 -#: elf64-ia64.c:3817 +#: elf32-m32r.c:2564 elf64-alpha.c:4199 elf64-alpha.c:4325 elf32-ia64.c:3921 +#: elf64-ia64.c:3921 #, c-format msgid "%s: unknown relocation type %d" msgstr "" -#: elf32-m32r.c:1226 +#: elf32-m32r.c:2753 elf64-sh64.c:1689 elf-hppa.h:1406 elf-hppa.h:1433 +#: elf-hppa.h:1449 elf-m10300.c:1631 +#, c-format +msgid "" +"%s: warning: unresolvable relocation against symbol `%s' from %s section" +msgstr "" + +#: elf32-m32r.c:3128 #, c-format msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)" msgstr "" -#: elf32-m32r.c:1952 +#: elf32-m32r.c:4211 #, c-format msgid "%s: Instruction set mismatch with previous modules" msgstr "" -#: elf32-m32r.c:1975 +#: elf32-m32r.c:4234 #, c-format msgid "private flags = %lx" msgstr "" -#: elf32-m32r.c:1980 +#: elf32-m32r.c:4239 +#, c-format msgid ": m32r instructions" msgstr "" -#: elf32-m32r.c:1981 +#: elf32-m32r.c:4240 +#, c-format msgid ": m32rx instructions" msgstr "" -#: elf32-m68hc1x.c:1217 +#: elf32-m32r.c:4241 +#, c-format +msgid ": m32r2 instructions" +msgstr "" + +#: elf32-m68hc1x.c:1102 #, c-format msgid "" "Reference to the far symbol `%s' using a wrong relocation may result in " "incorrect execution" msgstr "" -#: elf32-m68hc1x.c:1240 +#: elf32-m68hc1x.c:1125 #, c-format msgid "" "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked " "address [%lx:%04lx] (%lx)" msgstr "" -#: elf32-m68hc1x.c:1259 +#: elf32-m68hc1x.c:1144 #, c-format msgid "" "reference to a banked address [%lx:%04lx] in the normal address space at %" "04lx" msgstr "" -#: elf32-m68hc1x.c:1396 +#: elf32-m68hc1x.c:1277 #, c-format msgid "" "%s: linking files compiled for 16-bit integers (-mshort) and others for 32-" "bit integers" msgstr "" -#: elf32-m68hc1x.c:1404 +#: elf32-m68hc1x.c:1285 #, c-format msgid "" "%s: linking files compiled for 32-bit double (-fshort-double) and others for " "64-bit double" msgstr "" -#: elf32-m68hc1x.c:1414 +#: elf32-m68hc1x.c:1295 #, c-format msgid "%s: linking files compiled for HCS12 with others compiled for HC12" msgstr "" -#: elf32-m68hc1x.c:1462 +#: elf32-m68hc1x.c:1341 +#, c-format msgid "[abi=32-bit int, " msgstr "" -#: elf32-m68hc1x.c:1464 +#: elf32-m68hc1x.c:1343 +#, c-format msgid "[abi=16-bit int, " msgstr "" -#: elf32-m68hc1x.c:1467 +#: elf32-m68hc1x.c:1346 +#, c-format msgid "64-bit double, " msgstr "" -#: elf32-m68hc1x.c:1469 +#: elf32-m68hc1x.c:1348 +#, c-format msgid "32-bit double, " msgstr "" -#: elf32-m68hc1x.c:1472 +#: elf32-m68hc1x.c:1351 +#, c-format msgid "cpu=HC11]" msgstr "" -#: elf32-m68hc1x.c:1474 +#: elf32-m68hc1x.c:1353 +#, c-format msgid "cpu=HCS12]" msgstr "" -#: elf32-m68hc1x.c:1476 +#: elf32-m68hc1x.c:1355 +#, c-format msgid "cpu=HC12]" msgstr "" -#: elf32-m68hc1x.c:1479 +#: elf32-m68hc1x.c:1358 +#, c-format msgid " [memory=bank-model]" msgstr "" -#: elf32-m68hc1x.c:1481 +#: elf32-m68hc1x.c:1360 +#, c-format msgid " [memory=flat]" msgstr "" #: elf32-m68k.c:400 +#, c-format msgid " [cpu32]" msgstr "" #: elf32-m68k.c:403 +#, c-format msgid " [m68000]" msgstr "" @@ -1105,230 +1231,239 @@ msgstr "" msgid "%s: Unknown relocation type %d\n" msgstr "" -#: elf32-mips.c:1170 elf64-mips.c:1717 elfn32-mips.c:1664 -msgid "32bits gp relative relocation occurs for an external symbol" -msgstr "" - -#: elf32-mips.c:1314 elf64-mips.c:1830 elfn32-mips.c:1783 +#: elf32-mips.c:968 elf64-mips.c:1693 elfn32-mips.c:1488 #, c-format msgid "Linking mips16 objects into %s format is not supported" msgstr "" -#: elf32-ppc.c:2056 +#: elf32-ppc.c:2174 #, c-format msgid "generic linker can't handle %s" msgstr "" -#: elf32-ppc.c:2138 +#: elf32-ppc.c:2256 #, c-format msgid "" "%s: compiled with -mrelocatable and linked with modules compiled normally" msgstr "" -#: elf32-ppc.c:2147 +#: elf32-ppc.c:2265 #, c-format msgid "" "%s: compiled normally and linked with modules compiled with -mrelocatable" msgstr "" -#: elf32-ppc.c:3413 +#: elf32-ppc.c:3534 #, c-format msgid "%s: relocation %s cannot be used when making a shared object" msgstr "" -#. It does not make sense to have a procedure linkage -#. table entry for a local symbol. -#: elf32-ppc.c:3619 +#: elf32-ppc.c:3740 #, c-format msgid "%s(%s+0x%lx): %s reloc against local symbol" msgstr "" -#: elf32-ppc.c:4862 elf64-ppc.c:7789 +#: elf32-ppc.c:4945 elf64-ppc.c:8022 #, c-format msgid "%s: unknown relocation type %d for symbol %s" msgstr "" -#: elf32-ppc.c:5113 +#: elf32-ppc.c:5196 #, c-format msgid "%s(%s+0x%lx): non-zero addend on %s reloc against `%s'" msgstr "" -#: elf32-ppc.c:5399 elf32-ppc.c:5425 elf32-ppc.c:5484 +#: elf32-ppc.c:5507 elf32-ppc.c:5533 elf32-ppc.c:5592 #, c-format msgid "" "%s: the target (%s) of a %s relocation is in the wrong output section (%s)" msgstr "" -#: elf32-ppc.c:5539 +#: elf32-ppc.c:5647 #, c-format msgid "%s: relocation %s is not yet supported for symbol %s." msgstr "" -#: elf32-ppc.c:5594 elf64-ppc.c:8461 +#: elf32-ppc.c:5702 elf64-ppc.c:8694 #, c-format msgid "%s(%s+0x%lx): unresolvable %s relocation against symbol `%s'" msgstr "" -#: elf32-ppc.c:5644 elf64-ppc.c:8507 +#: elf32-ppc.c:5752 elf64-ppc.c:8740 #, c-format msgid "%s(%s+0x%lx): %s reloc against `%s': error %d" msgstr "" -#: elf32-ppc.c:5888 +#: elf32-ppc.c:5996 #, c-format msgid "corrupt or empty %s section in %s" msgstr "" -#: elf32-ppc.c:5895 +#: elf32-ppc.c:6003 #, c-format msgid "unable to read in %s section from %s" msgstr "" -#: elf32-ppc.c:5901 +#: elf32-ppc.c:6009 #, c-format msgid "corrupt %s section in %s" msgstr "" -#: elf32-ppc.c:5944 +#: elf32-ppc.c:6052 #, c-format msgid "warning: unable to set size of %s section in %s" msgstr "" -#: elf32-ppc.c:5994 +#: elf32-ppc.c:6102 msgid "failed to allocate space for new APUinfo section." msgstr "" -#: elf32-ppc.c:6013 +#: elf32-ppc.c:6121 msgid "failed to compute new APUinfo section." msgstr "" -#: elf32-ppc.c:6016 +#: elf32-ppc.c:6124 msgid "failed to install new APUinfo section." msgstr "" -#: elf32-s390.c:2256 elf64-s390.c:2226 +#: elf32-s390.c:2234 elf64-s390.c:2204 #, c-format msgid "%s(%s+0x%lx): invalid instruction for TLS relocation %s" msgstr "" -#: elf32-sh64.c:221 elf64-sh64.c:2407 +#: elf32-sh64.c:215 elf64-sh64.c:2383 #, c-format msgid "%s: compiled as 32-bit object and %s is 64-bit" msgstr "" -#: elf32-sh64.c:224 elf64-sh64.c:2410 +#: elf32-sh64.c:218 elf64-sh64.c:2386 #, c-format msgid "%s: compiled as 64-bit object and %s is 32-bit" msgstr "" -#: elf32-sh64.c:226 elf64-sh64.c:2412 +#: elf32-sh64.c:220 elf64-sh64.c:2388 #, c-format msgid "%s: object size does not match that of target %s" msgstr "" -#: elf32-sh64.c:461 elf64-sh64.c:2990 +#: elf32-sh64.c:442 elf64-sh64.c:2955 #, c-format msgid "%s: encountered datalabel symbol in input" msgstr "" -#: elf32-sh64.c:544 +#: elf32-sh64.c:519 msgid "PTB mismatch: a SHmedia address (bit 0 == 1)" msgstr "" -#: elf32-sh64.c:547 +#: elf32-sh64.c:522 msgid "PTA mismatch: a SHcompact address (bit 0 == 0)" msgstr "" -#: elf32-sh64.c:565 +#: elf32-sh64.c:540 #, c-format msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16" msgstr "" -#: elf32-sh64.c:614 elf64-sh64.c:1748 +#: elf32-sh64.c:589 elf64-sh64.c:1736 #, c-format msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n" msgstr "" -#: elf32-sh64.c:698 +#: elf32-sh64.c:670 #, c-format msgid "%s: could not write out added .cranges entries" msgstr "" -#: elf32-sh64.c:760 +#: elf32-sh64.c:732 #, c-format msgid "%s: could not write out sorted .cranges entries" msgstr "" -#: elf32-sh.c:2103 +#: elf32-sh.c:2252 #, c-format msgid "%s: 0x%lx: warning: bad R_SH_USES offset" msgstr "" -#: elf32-sh.c:2115 +#: elf32-sh.c:2264 #, c-format msgid "%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x" msgstr "" -#: elf32-sh.c:2132 +#: elf32-sh.c:2281 #, c-format msgid "%s: 0x%lx: warning: bad R_SH_USES load offset" msgstr "" -#: elf32-sh.c:2147 +#: elf32-sh.c:2296 #, c-format msgid "%s: 0x%lx: warning: could not find expected reloc" msgstr "" -#: elf32-sh.c:2175 +#: elf32-sh.c:2324 #, c-format msgid "%s: 0x%lx: warning: symbol in unexpected section" msgstr "" -#: elf32-sh.c:2300 +#: elf32-sh.c:2449 #, c-format msgid "%s: 0x%lx: warning: could not find expected COUNT reloc" msgstr "" -#: elf32-sh.c:2309 +#: elf32-sh.c:2458 #, c-format msgid "%s: 0x%lx: warning: bad count" msgstr "" -#: elf32-sh.c:2712 elf32-sh.c:3088 +#: elf32-sh.c:2858 elf32-sh.c:3227 #, c-format msgid "%s: 0x%lx: fatal: reloc overflow while relaxing" msgstr "" -#: elf32-sh.c:4654 elf64-sh64.c:1585 +#: elf32-sh.c:4756 elf64-sh64.c:1568 msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled" msgstr "" -#: elf32-sh.c:4809 +#: elf32-sh.c:4913 #, c-format msgid "%s: unresolvable relocation against symbol `%s' from %s section" msgstr "" -#: elf32-sh.c:4881 +#: elf32-sh.c:4984 #, c-format msgid "%s: 0x%lx: fatal: unaligned branch target for relax-support relocation" msgstr "" -#: elf32-sh.c:6627 elf64-alpha.c:4848 +#: elf32-sh.c:5017 elf32-sh.c:5032 +#, c-format +msgid "%s: 0x%lx: fatal: unaligned %s relocation 0x%lx" +msgstr "" + +#: elf32-sh.c:5046 +#, c-format +msgid "%s: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32" +msgstr "" + +#: elf32-sh.c:5060 +#, c-format +msgid "%s: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32" +msgstr "" + +#: elf32-sh.c:6802 elf64-alpha.c:4744 #, c-format msgid "%s: TLS local exec code cannot be linked into shared objects" msgstr "" -#: elf32-sparc.c:2521 elf64-sparc.c:2314 +#: elf32-sparc.c:2499 elf64-sparc.c:2270 #, c-format msgid "%s: probably compiled without -fPIC?" msgstr "" -#: elf32-sparc.c:3348 +#: elf32-sparc.c:3325 #, c-format msgid "%s: compiled for a 64 bit system and target is 32 bit" msgstr "" -#: elf32-sparc.c:3362 +#: elf32-sparc.c:3339 #, c-format msgid "%s: linking little endian files with big endian files" msgstr "" @@ -1363,48 +1498,59 @@ msgid "" msgstr "" #: elf32-v850.c:1144 +#, c-format msgid "FAILED to find previous HI16 reloc\n" msgstr "" -#: elf32-v850.c:1789 +#: elf32-v850.c:1758 msgid "could not locate special linker symbol __gp" msgstr "" -#: elf32-v850.c:1793 +#: elf32-v850.c:1762 msgid "could not locate special linker symbol __ep" msgstr "" -#: elf32-v850.c:1797 +#: elf32-v850.c:1766 msgid "could not locate special linker symbol __ctbp" msgstr "" -#: elf32-v850.c:1963 +#: elf32-v850.c:1951 #, c-format msgid "%s: Architecture mismatch with previous modules" msgstr "" -#: elf32-v850.c:1983 +#: elf32-v850.c:1972 #, c-format msgid "private flags = %lx: " msgstr "" -#: elf32-v850.c:1988 +#: elf32-v850.c:1977 +#, c-format msgid "v850 architecture" msgstr "" -#: elf32-v850.c:1989 +#: elf32-v850.c:1978 +#, c-format msgid "v850e architecture" msgstr "" +#: elf32-v850.c:1979 +#, c-format +msgid "v850e1 architecture" +msgstr "" + #: elf32-vax.c:549 +#, c-format msgid " [nonpic]" msgstr "" #: elf32-vax.c:552 +#, c-format msgid " [d-float]" msgstr "" #: elf32-vax.c:555 +#, c-format msgid " [g-float]" msgstr "" @@ -1415,79 +1561,92 @@ msgid "" "%ld" msgstr "" -#: elf32-vax.c:1667 +#: elf32-vax.c:1645 #, c-format msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored" msgstr "" -#: elf32-vax.c:1802 +#: elf32-vax.c:1771 #, c-format msgid "%s: warning: %s relocation against symbol `%s' from %s section" msgstr "" -#: elf32-vax.c:1808 +#: elf32-vax.c:1777 #, c-format msgid "%s: warning: %s relocation to 0x%x from %s section" msgstr "" -#: elf32-ia64.c:2326 elf32-xstormy16.c:462 elf64-ia64.c:2326 +#: elf32-xstormy16.c:462 elf32-ia64.c:2418 elf64-ia64.c:2418 msgid "non-zero addend in @fptr reloc" msgstr "" -#: elf64-alpha.c:1108 +#: elf32-xtensa.c:2051 +msgid "dynamic relocation in read-only section" +msgstr "" + +#: elf64-alpha.c:1067 msgid "GPDISP relocation did not find ldah and lda instructions" msgstr "" -#: elf64-alpha.c:3731 +#: elf64-alpha.c:3565 +#, c-format +msgid "Symbol %s has no GOT subsection for offset 0x%x" +msgstr "" + +#: elf64-alpha.c:3651 #, c-format msgid "%s: .got subsegment exceeds 64K (size %d)" msgstr "" -#: elf64-alpha.c:4602 elf64-alpha.c:4614 +#: elf64-alpha.c:4498 elf64-alpha.c:4510 #, c-format msgid "%s: gp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4640 elf64-alpha.c:4773 +#: elf64-alpha.c:4536 elf64-alpha.c:4669 #, c-format msgid "%s: pc-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4668 +#: elf64-alpha.c:4564 #, c-format msgid "%s: change in gp: BRSGP %s" msgstr "" -#: elf64-alpha.c:4693 +#: elf64-alpha.c:4589 msgid "" msgstr "" -#: elf64-alpha.c:4698 +#: elf64-alpha.c:4594 #, c-format msgid "%s: !samegp reloc against symbol without .prologue: %s" msgstr "" -#: elf64-alpha.c:4749 +#: elf64-alpha.c:4645 #, c-format msgid "%s: unhandled dynamic relocation against %s" msgstr "" -#: elf64-alpha.c:4832 +#: elf64-alpha.c:4728 #, c-format msgid "%s: dtp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4855 +#: elf64-alpha.c:4751 #, c-format msgid "%s: tp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-hppa.c:2086 +#: elf64-hppa.c:2083 #, c-format msgid "stub entry for %s cannot load .plt, dp offset = %ld" msgstr "" -#: elf64-mmix.c:1032 +#: elf64-mips.c:1599 elfn32-mips.c:1388 +msgid "32bits gp relative relocation occurs for an external symbol" +msgstr "" + +#: elf64-mmix.c:1171 #, c-format msgid "" "%s: Internal inconsistency error for value for\n" @@ -1495,106 +1654,113 @@ msgid "" "08lx\n" msgstr "" -#: elf64-mmix.c:1416 +#: elf64-mmix.c:1603 #, c-format msgid "" "%s: base-plus-offset relocation against register symbol: (unknown) in %s" msgstr "" -#: elf64-mmix.c:1421 +#: elf64-mmix.c:1608 #, c-format msgid "%s: base-plus-offset relocation against register symbol: %s in %s" msgstr "" -#: elf64-mmix.c:1465 +#: elf64-mmix.c:1652 #, c-format msgid "%s: register relocation against non-register symbol: (unknown) in %s" msgstr "" -#: elf64-mmix.c:1470 +#: elf64-mmix.c:1657 #, c-format msgid "%s: register relocation against non-register symbol: %s in %s" msgstr "" -#: elf64-mmix.c:1507 +#: elf64-mmix.c:1694 #, c-format msgid "%s: directive LOCAL valid only with a register or absolute value" msgstr "" -#: elf64-mmix.c:1535 +#: elf64-mmix.c:1722 #, c-format msgid "" "%s: LOCAL directive: Register $%ld is not a local register. First global " "register is $%ld." msgstr "" -#: elf64-mmix.c:1994 +#: elf64-mmix.c:2202 #, c-format msgid "" "%s: Error: multiple definition of `%s'; start of %s is set in a earlier " "linked file\n" msgstr "" -#: elf64-mmix.c:2053 +#: elf64-mmix.c:2261 msgid "Register section has contents\n" msgstr "" -#: elf64-mmix.c:2216 +#: elf64-mmix.c:2467 #, c-format msgid "" "Internal inconsistency: remaining %u != max %u.\n" " Please report this bug." msgstr "" -#: elf64-ppc.c:2388 libbfd.c:831 +#: elf64-ppc.c:2433 libbfd.c:821 #, c-format msgid "%s: compiled for a big endian system and target is little endian" msgstr "" -#: elf64-ppc.c:2391 libbfd.c:833 +#: elf64-ppc.c:2436 libbfd.c:823 #, c-format msgid "%s: compiled for a little endian system and target is big endian" msgstr "" -#: elf64-ppc.c:4857 +#: elf64-ppc.c:4656 #, c-format -msgid "%s: unexpected reloc type %u in .opd section" +msgid "" +"copy reloc against `%s' requires lazy plt linking; avoid setting " +"LD_BIND_NOW=1 or upgrade gcc" msgstr "" -#: elf64-ppc.c:4877 +#: elf64-ppc.c:5027 #, c-format msgid "%s: .opd is not a regular array of opd entries" msgstr "" -#: elf64-ppc.c:4897 +#: elf64-ppc.c:5037 +#, c-format +msgid "%s: unexpected reloc type %u in .opd section" +msgstr "" + +#: elf64-ppc.c:5057 #, c-format msgid "%s: undefined sym `%s' in .opd section" msgstr "" -#: elf64-ppc.c:6136 +#: elf64-ppc.c:6272 #, c-format msgid "can't find branch stub `%s'" msgstr "" -#: elf64-ppc.c:6175 elf64-ppc.c:6250 +#: elf64-ppc.c:6311 elf64-ppc.c:6386 #, c-format msgid "linkage table error against `%s'" msgstr "" -#: elf64-ppc.c:6340 +#: elf64-ppc.c:6503 #, c-format msgid "can't build branch stub `%s'" msgstr "" -#: elf64-ppc.c:7047 +#: elf64-ppc.c:7222 msgid ".glink and .plt too far apart" msgstr "" -#: elf64-ppc.c:7135 +#: elf64-ppc.c:7334 msgid "stubs don't match calculated size" msgstr "" -#: elf64-ppc.c:7147 +#: elf64-ppc.c:7346 #, c-format msgid "" "linker stubs in %u groups\n" @@ -1605,14 +1771,24 @@ msgid "" " plt call %lu" msgstr "" -#: elf64-ppc.c:7723 +#: elf64-ppc.c:7544 +#, c-format +msgid "%s(%s+0x%lx): %s used with TLS symbol %s" +msgstr "" + +#: elf64-ppc.c:7545 +#, c-format +msgid "%s(%s+0x%lx): %s used with non-TLS symbol %s" +msgstr "" + +#: elf64-ppc.c:7956 #, c-format msgid "" "%s(%s+0x%lx): automatic multiple TOCs not supported using your crt files; " "recompile with -mminimal-toc or upgrade gcc" msgstr "" -#: elf64-ppc.c:7731 +#: elf64-ppc.c:7964 #, c-format msgid "" "%s(%s+0x%lx): sibling call optimization to `%s' does not allow automatic " @@ -1620,107 +1796,105 @@ msgid "" "or make `%s' extern" msgstr "" -#: elf64-ppc.c:8329 +#: elf64-ppc.c:8562 #, c-format msgid "%s: relocation %s is not supported for symbol %s." msgstr "" -#: elf64-ppc.c:8408 +#: elf64-ppc.c:8641 #, c-format msgid "%s: error: relocation %s not a multiple of %d" msgstr "" -#: elf-hppa.h:1458 elf-hppa.h:1491 elf-m10300.c:1628 elf64-sh64.c:1704 -#, c-format -msgid "" -"%s: warning: unresolvable relocation against symbol `%s' from %s section" -msgstr "" - -#: elf64-sparc.c:1370 +#: elf64-sparc.c:1371 #, c-format msgid "%s: check_relocs: unhandled reloc type %d" msgstr "" -#: elf64-sparc.c:1407 +#: elf64-sparc.c:1408 #, c-format msgid "%s: Only registers %%g[2367] can be declared using STT_REGISTER" msgstr "" -#: elf64-sparc.c:1427 +#: elf64-sparc.c:1428 #, c-format msgid "Register %%g%d used incompatibly: %s in %s, previously %s in %s" msgstr "" -#: elf64-sparc.c:1450 +#: elf64-sparc.c:1451 #, c-format msgid "Symbol `%s' has differing types: REGISTER in %s, previously %s in %s" msgstr "" -#: elf64-sparc.c:1496 +#: elf64-sparc.c:1497 #, c-format msgid "Symbol `%s' has differing types: %s in %s, previously REGISTER in %s" msgstr "" -#: elf64-sparc.c:3053 +#: elf64-sparc.c:3009 #, c-format msgid "%s: linking UltraSPARC specific with HAL specific code" msgstr "" -#: elf64-x86-64.c:739 +#: elf64-x86-64.c:732 #, c-format msgid "%s: %s' accessed both as normal and thread local symbol" msgstr "" -#: elf.c:372 +#: elf.c:295 #, c-format msgid "%s: invalid string offset %u >= %lu for section `%s'" msgstr "" -#: elf.c:624 +#: elf.c:538 #, c-format msgid "%s: invalid SHT_GROUP entry" msgstr "" -#: elf.c:695 +#: elf.c:609 #, c-format msgid "%s: no group info for section %s" msgstr "" -#: elf.c:1055 +#: elf.c:952 +#, c-format msgid "" "\n" "Program Header:\n" msgstr "" -#: elf.c:1106 +#: elf.c:1003 +#, c-format msgid "" "\n" "Dynamic Section:\n" msgstr "" -#: elf.c:1235 +#: elf.c:1131 +#, c-format msgid "" "\n" "Version definitions:\n" msgstr "" -#: elf.c:1258 +#: elf.c:1154 +#, c-format msgid "" "\n" "Version References:\n" msgstr "" -#: elf.c:1263 +#: elf.c:1159 #, c-format msgid " required from %s:\n" msgstr "" -#: elf.c:1944 +#: elf.c:1826 #, c-format msgid "%s: invalid link %lu for reloc section %s (index %u)" msgstr "" -#: elf.c:3686 +#: elf.c:3684 #, c-format msgid "%s: Not enough room for program headers (allocated %u, need %u)" msgstr "" @@ -1730,271 +1904,311 @@ msgstr "" msgid "%s: Not enough room for program headers, try linking with -N" msgstr "" -#: elf.c:3922 +#: elf.c:3924 #, c-format msgid "" "Error: First section in segment (%s) starts at 0x%x whereas the segment " "starts at 0x%x" msgstr "" -#: elf.c:4242 +#: elf.c:4243 #, c-format msgid "%s: warning: allocated section `%s' not in segment" msgstr "" -#: elf.c:4566 +#: elf.c:4557 #, c-format msgid "%s: symbol `%s' required but not present" msgstr "" -#: elf.c:4854 +#: elf.c:4845 #, c-format msgid "%s: warning: Empty loadable segment detected, is this intentional ?\n" msgstr "" -#: elf.c:5485 +#: elf.c:5479 #, c-format msgid "" "Unable to find equivalent output section for symbol '%s' from section '%s'" msgstr "" -#: elf.c:6298 +#: elf.c:6264 #, c-format msgid "%s: unsupported relocation type %s" msgstr "" -#: elfcode.h:1113 +#: elfcode.h:1050 #, c-format msgid "%s: version count (%ld) does not match symbol count (%ld)" msgstr "" -#: elfcode.h:1342 +#: elfcode.h:1276 #, c-format msgid "%s(%s): relocation %d has invalid symbol index %ld" msgstr "" -#: elflink.c:1456 +#: elflink.c:1350 #, c-format msgid "%s: warning: unexpected redefinition of indirect versioned symbol `%s'" msgstr "" -#: elflink.c:1807 +#: elflink.c:1669 #, c-format msgid "%s: undefined versioned symbol name %s" msgstr "" -#: elflink.c:2142 +#: elflink.c:1818 +#, c-format +msgid "" +"%s: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%s'" +msgstr "" + +#: elflink.c:2007 #, c-format msgid "%s: relocation size mismatch in %s section %s" msgstr "" -#: elflink.c:2434 +#: elflink.c:2296 #, c-format msgid "warning: type and size of dynamic symbol `%s' are not defined" msgstr "" -#: elflink.h:1022 +#: elflink.c:2917 +msgid "warning: " +msgstr "" + +#: elflink.c:3411 #, c-format msgid "%s: %s: invalid version %u (max %d)" msgstr "" -#: elflink.h:1063 +#: elflink.c:3452 #, c-format msgid "%s: %s: invalid needed version %d" msgstr "" -#: elflink.h:1238 +#: elflink.c:3627 #, c-format msgid "Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s" msgstr "" -#: elflink.h:1252 +#: elflink.c:3641 #, c-format msgid "Warning: size of symbol `%s' changed from %lu in %s to %lu in %s" msgstr "" -#: elflink.h:2160 +#: elflink.c:4837 #, c-format msgid "%s: undefined version: %s" msgstr "" -#: elflink.h:2226 +#: elflink.c:4903 #, c-format msgid "%s: .preinit_array section is not allowed in DSO" msgstr "" -#: elflink.h:3078 +#: elflink.c:5594 msgid "Not enough memory to sort relocations" msgstr "" -#: elflink.h:3958 elflink.h:4001 +#: elflink.c:5976 #, c-format -msgid "%s: could not find output section %s" +msgid "%s: %s symbol `%s' in %s is referenced by DSO" msgstr "" -#: elflink.h:3964 +#: elflink.c:6057 #, c-format -msgid "warning: %s section has zero size" +msgid "%s: could not find output section %s for input section %s" msgstr "" -#: elflink.h:4483 +#: elflink.c:6156 #, c-format -msgid "%s: %s symbol `%s' in %s is referenced by DSO" +msgid "%s: %s symbol `%s' isn't defined" msgstr "" -#: elflink.h:4564 +#: elflink.c:6575 elflink.c:6616 +msgid "%T: discarded in section `%s' from %s\n" +msgstr "" + +#: elflink.c:7870 elflink.c:7912 #, c-format -msgid "%s: could not find output section %s for input section %s" +msgid "%s: could not find output section %s" msgstr "" -#: elflink.h:4666 +#: elflink.c:7876 #, c-format -msgid "%s: %s symbol `%s' isn't defined" +msgid "warning: %s section has zero size" msgstr "" -#: elflink.h:5053 elflink.h:5095 -msgid "%T: discarded in section `%s' from %s\n" +#: elflink.c:8427 +msgid "Warning: gc-sections option ignored" msgstr "" -#: elfxx-mips.c:887 +#: elfxx-mips.c:890 msgid "static procedure (no name)" msgstr "" -#: elfxx-mips.c:1897 +#: elfxx-mips.c:2028 msgid "not enough GOT space for local GOT entries" msgstr "" -#: elfxx-mips.c:3691 +#: elfxx-mips.c:3775 #, c-format msgid "%s: %s+0x%lx: jump to stub routine which is not jal" msgstr "" -#: elfxx-mips.c:5192 +#: elfxx-mips.c:5260 #, c-format msgid "%s: Malformed reloc detected for section %s" msgstr "" -#: elfxx-mips.c:5266 +#: elfxx-mips.c:5334 #, c-format msgid "%s: CALL16 reloc at 0x%lx not against global symbol" msgstr "" -#: elfxx-mips.c:8693 +#: elfxx-mips.c:8631 #, c-format msgid "%s: illegal section name `%s'" msgstr "" -#: elfxx-mips.c:9027 +#: elfxx-mips.c:8954 #, c-format msgid "%s: endianness incompatible with that of the selected emulation" msgstr "" -#: elfxx-mips.c:9039 +#: elfxx-mips.c:8966 #, c-format msgid "%s: ABI is incompatible with that of the selected emulation" msgstr "" -#: elfxx-mips.c:9106 +#: elfxx-mips.c:9038 #, c-format msgid "%s: warning: linking PIC files with non-PIC files" msgstr "" -#: elfxx-mips.c:9123 +#: elfxx-mips.c:9055 #, c-format msgid "%s: linking 32-bit code with 64-bit code" msgstr "" -#: elfxx-mips.c:9151 +#: elfxx-mips.c:9083 #, c-format msgid "%s: linking %s module with previous %s modules" msgstr "" -#: elfxx-mips.c:9174 +#: elfxx-mips.c:9106 #, c-format msgid "%s: ABI mismatch: linking %s module with previous %s modules" msgstr "" -#: elfxx-mips.c:9243 +#: elfxx-mips.c:9171 +#, c-format msgid " [abi=O32]" msgstr "" -#: elfxx-mips.c:9245 +#: elfxx-mips.c:9173 +#, c-format msgid " [abi=O64]" msgstr "" -#: elfxx-mips.c:9247 +#: elfxx-mips.c:9175 +#, c-format msgid " [abi=EABI32]" msgstr "" -#: elfxx-mips.c:9249 +#: elfxx-mips.c:9177 +#, c-format msgid " [abi=EABI64]" msgstr "" -#: elfxx-mips.c:9251 +#: elfxx-mips.c:9179 +#, c-format msgid " [abi unknown]" msgstr "" -#: elfxx-mips.c:9253 +#: elfxx-mips.c:9181 +#, c-format msgid " [abi=N32]" msgstr "" -#: elfxx-mips.c:9255 +#: elfxx-mips.c:9183 +#, c-format msgid " [abi=64]" msgstr "" -#: elfxx-mips.c:9257 +#: elfxx-mips.c:9185 +#, c-format msgid " [no abi set]" msgstr "" -#: elfxx-mips.c:9260 +#: elfxx-mips.c:9188 +#, c-format msgid " [mips1]" msgstr "" -#: elfxx-mips.c:9262 +#: elfxx-mips.c:9190 +#, c-format msgid " [mips2]" msgstr "" -#: elfxx-mips.c:9264 +#: elfxx-mips.c:9192 +#, c-format msgid " [mips3]" msgstr "" -#: elfxx-mips.c:9266 +#: elfxx-mips.c:9194 +#, c-format msgid " [mips4]" msgstr "" -#: elfxx-mips.c:9268 +#: elfxx-mips.c:9196 +#, c-format msgid " [mips5]" msgstr "" -#: elfxx-mips.c:9270 +#: elfxx-mips.c:9198 +#, c-format msgid " [mips32]" msgstr "" -#: elfxx-mips.c:9272 +#: elfxx-mips.c:9200 +#, c-format msgid " [mips64]" msgstr "" -#: elfxx-mips.c:9274 +#: elfxx-mips.c:9202 +#, c-format msgid " [mips32r2]" msgstr "" -#: elfxx-mips.c:9276 +#: elfxx-mips.c:9204 +#, c-format +msgid " [mips64r2]" +msgstr "" + +#: elfxx-mips.c:9206 +#, c-format msgid " [unknown ISA]" msgstr "" -#: elfxx-mips.c:9279 +#: elfxx-mips.c:9209 +#, c-format msgid " [mdmx]" msgstr "" -#: elfxx-mips.c:9282 +#: elfxx-mips.c:9212 +#, c-format msgid " [mips16]" msgstr "" -#: elfxx-mips.c:9285 +#: elfxx-mips.c:9215 +#, c-format msgid " [32bitmode]" msgstr "" -#: elfxx-mips.c:9287 +#: elfxx-mips.c:9217 +#, c-format msgid " [not 32bitmode]" msgstr "" @@ -2093,27 +2307,27 @@ msgstr "" msgid "%s: address 0x%s out of range for Intel Hex file" msgstr "" -#: libbfd.c:861 +#: libbfd.c:851 #, c-format msgid "Deprecated %s called at %s line %d in %s\n" msgstr "" -#: libbfd.c:864 +#: libbfd.c:854 #, c-format msgid "Deprecated %s called\n" msgstr "" -#: linker.c:1829 +#: linker.c:1831 #, c-format msgid "%s: indirect symbol `%s' to `%s' is a loop" msgstr "" -#: linker.c:2697 +#: linker.c:2699 #, c-format msgid "Attempt to do relocatable link with %s input and %s output" msgstr "" -#: merge.c:896 +#: merge.c:797 #, c-format msgid "%s: access beyond end of merged section (%ld + %ld)" msgstr "" @@ -2286,24 +2500,24 @@ msgstr "" msgid "%s: Unrecognised import name type; %x" msgstr "" -#: peicode.h:1164 +#: peicode.h:1194 #, c-format msgid "%s: Unrecognised machine type (0x%x) in Import Library Format archive" msgstr "" -#: peicode.h:1176 +#: peicode.h:1206 #, c-format msgid "" "%s: Recognised but unhandled machine type (0x%x) in Import Library Format " "archive" msgstr "" -#: peicode.h:1193 +#: peicode.h:1223 #, c-format msgid "%s: size field is zero in Import Library Format header" msgstr "" -#: peicode.h:1224 +#: peicode.h:1254 #, c-format msgid "%s: string not null terminated in ILF object file." msgstr "" @@ -2334,6 +2548,7 @@ msgid "%s: bad pair/reflo after refhi\n" msgstr "" #: ppcboot.c:416 +#, c-format msgid "" "\n" "ppcboot header:\n" @@ -2390,7 +2605,7 @@ msgstr "" msgid "%s:%d: Unexpected character `%s' in S-record file\n" msgstr "" -#: stabs.c:319 +#: stabs.c:326 #, c-format msgid "%s(%s+0x%lx): Stabs entry has invalid string index." msgstr "" @@ -2642,224 +2857,230 @@ msgstr "" msgid "%s: loader reloc in read-only section %s" msgstr "" -#: elf32-ia64.c:2271 elf64-ia64.c:2271 +#: elf32-ia64.c:2363 elf64-ia64.c:2363 msgid "@pltoff reloc against local symbol" msgstr "" -#: elf32-ia64.c:3663 elf64-ia64.c:3663 +#: elf32-ia64.c:3768 elf64-ia64.c:3768 #, c-format msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" msgstr "" -#: elf32-ia64.c:3674 elf64-ia64.c:3674 +#: elf32-ia64.c:3779 elf64-ia64.c:3779 #, c-format msgid "%s: __gp does not cover short data segment" msgstr "" -#: elf32-ia64.c:3986 elf64-ia64.c:3986 +#: elf32-ia64.c:4027 elf64-ia64.c:4027 #, c-format -msgid "%s: linking non-pic code in a shared library" +msgid "%s: non-pic code with imm relocation against dynamic symbol `%s'" msgstr "" -#: elf32-ia64.c:4017 elf64-ia64.c:4017 +#: elf32-ia64.c:4092 elf64-ia64.c:4092 #, c-format msgid "%s: @gprel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4077 elf64-ia64.c:4077 +#: elf32-ia64.c:4152 elf64-ia64.c:4152 #, c-format msgid "%s: linking non-pic code in a position independent executable" msgstr "" -#: elf32-ia64.c:4214 elf64-ia64.c:4214 +#: elf32-ia64.c:4289 elf64-ia64.c:4289 #, c-format msgid "%s: @internal branch to dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4216 elf64-ia64.c:4216 +#: elf32-ia64.c:4291 elf64-ia64.c:4291 #, c-format msgid "%s: speculation fixup to dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4218 elf64-ia64.c:4218 +#: elf32-ia64.c:4293 elf64-ia64.c:4293 #, c-format msgid "%s: @pcrel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4430 elf64-ia64.c:4430 +#: elf32-ia64.c:4505 elf64-ia64.c:4505 msgid "unsupported reloc" msgstr "" -#: elf32-ia64.c:4709 elf64-ia64.c:4709 +#: elf32-ia64.c:4784 elf64-ia64.c:4784 #, c-format msgid "%s: linking trap-on-NULL-dereference with non-trapping files" msgstr "" -#: elf32-ia64.c:4718 elf64-ia64.c:4718 +#: elf32-ia64.c:4793 elf64-ia64.c:4793 #, c-format msgid "%s: linking big-endian files with little-endian files" msgstr "" -#: elf32-ia64.c:4727 elf64-ia64.c:4727 +#: elf32-ia64.c:4802 elf64-ia64.c:4802 #, c-format msgid "%s: linking 64-bit files with 32-bit files" msgstr "" -#: elf32-ia64.c:4736 elf64-ia64.c:4736 +#: elf32-ia64.c:4811 elf64-ia64.c:4811 #, c-format msgid "%s: linking constant-gp files with non-constant-gp files" msgstr "" -#: elf32-ia64.c:4746 elf64-ia64.c:4746 +#: elf32-ia64.c:4821 elf64-ia64.c:4821 #, c-format msgid "%s: linking auto-pic files with non-auto-pic files" msgstr "" -#: peigen.c:985 pepigen.c:985 +#: peigen.c:1031 pepigen.c:1031 #, c-format msgid "%s: line number overflow: 0x%lx > 0xffff" msgstr "" -#: peigen.c:1002 pepigen.c:1002 +#: peigen.c:1052 pepigen.c:1052 #, c-format msgid "%s: reloc overflow 1: 0x%lx > 0xffff" msgstr "" -#: peigen.c:1016 pepigen.c:1016 +#: peigen.c:1066 pepigen.c:1066 msgid "Export Directory [.edata (or where ever we found it)]" msgstr "" -#: peigen.c:1017 pepigen.c:1017 +#: peigen.c:1067 pepigen.c:1067 msgid "Import Directory [parts of .idata]" msgstr "" -#: peigen.c:1018 pepigen.c:1018 +#: peigen.c:1068 pepigen.c:1068 msgid "Resource Directory [.rsrc]" msgstr "" -#: peigen.c:1019 pepigen.c:1019 +#: peigen.c:1069 pepigen.c:1069 msgid "Exception Directory [.pdata]" msgstr "" -#: peigen.c:1020 pepigen.c:1020 +#: peigen.c:1070 pepigen.c:1070 msgid "Security Directory" msgstr "" -#: peigen.c:1021 pepigen.c:1021 +#: peigen.c:1071 pepigen.c:1071 msgid "Base Relocation Directory [.reloc]" msgstr "" -#: peigen.c:1022 pepigen.c:1022 +#: peigen.c:1072 pepigen.c:1072 msgid "Debug Directory" msgstr "" -#: peigen.c:1023 pepigen.c:1023 +#: peigen.c:1073 pepigen.c:1073 msgid "Description Directory" msgstr "" -#: peigen.c:1024 pepigen.c:1024 +#: peigen.c:1074 pepigen.c:1074 msgid "Special Directory" msgstr "" -#: peigen.c:1025 pepigen.c:1025 +#: peigen.c:1075 pepigen.c:1075 msgid "Thread Storage Directory [.tls]" msgstr "" -#: peigen.c:1026 pepigen.c:1026 +#: peigen.c:1076 pepigen.c:1076 msgid "Load Configuration Directory" msgstr "" -#: peigen.c:1027 pepigen.c:1027 +#: peigen.c:1077 pepigen.c:1077 msgid "Bound Import Directory" msgstr "" -#: peigen.c:1028 pepigen.c:1028 +#: peigen.c:1078 pepigen.c:1078 msgid "Import Address Table Directory" msgstr "" -#: peigen.c:1029 pepigen.c:1029 +#: peigen.c:1079 pepigen.c:1079 msgid "Delay Import Directory" msgstr "" -#: peigen.c:1030 peigen.c:1031 pepigen.c:1030 pepigen.c:1031 +#: peigen.c:1080 peigen.c:1081 pepigen.c:1080 pepigen.c:1081 msgid "Reserved" msgstr "" -#: peigen.c:1094 pepigen.c:1094 +#: peigen.c:1144 pepigen.c:1144 +#, c-format msgid "" "\n" "There is an import table, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1099 pepigen.c:1099 +#: peigen.c:1149 pepigen.c:1149 #, c-format msgid "" "\n" "There is an import table in %s at 0x%lx\n" msgstr "" -#: peigen.c:1136 pepigen.c:1136 +#: peigen.c:1186 pepigen.c:1186 #, c-format msgid "" "\n" "Function descriptor located at the start address: %04lx\n" msgstr "" -#: peigen.c:1139 pepigen.c:1139 +#: peigen.c:1189 pepigen.c:1189 #, c-format msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n" msgstr "" -#: peigen.c:1145 pepigen.c:1145 +#: peigen.c:1195 pepigen.c:1195 +#, c-format msgid "" "\n" "No reldata section! Function descriptor not decoded.\n" msgstr "" -#: peigen.c:1150 pepigen.c:1150 +#: peigen.c:1200 pepigen.c:1200 #, c-format msgid "" "\n" "The Import Tables (interpreted %s section contents)\n" msgstr "" -#: peigen.c:1153 pepigen.c:1153 +#: peigen.c:1203 pepigen.c:1203 +#, c-format msgid "" " vma: Hint Time Forward DLL First\n" " Table Stamp Chain Name Thunk\n" msgstr "" -#: peigen.c:1204 pepigen.c:1204 +#: peigen.c:1254 pepigen.c:1254 #, c-format msgid "" "\n" "\tDLL Name: %s\n" msgstr "" -#: peigen.c:1215 pepigen.c:1215 +#: peigen.c:1265 pepigen.c:1265 +#, c-format msgid "\tvma: Hint/Ord Member-Name Bound-To\n" msgstr "" -#: peigen.c:1240 pepigen.c:1240 +#: peigen.c:1290 pepigen.c:1290 +#, c-format msgid "" "\n" "There is a first thunk, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1380 pepigen.c:1380 +#: peigen.c:1430 pepigen.c:1430 +#, c-format msgid "" "\n" "There is an export table, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1385 pepigen.c:1385 +#: peigen.c:1435 pepigen.c:1435 #, c-format msgid "" "\n" "There is an export table in %s at 0x%lx\n" msgstr "" -#: peigen.c:1416 pepigen.c:1416 +#: peigen.c:1466 pepigen.c:1466 #, c-format msgid "" "\n" @@ -2867,129 +3088,143 @@ msgid "" "\n" msgstr "" -#: peigen.c:1420 pepigen.c:1420 +#: peigen.c:1470 pepigen.c:1470 #, c-format msgid "Export Flags \t\t\t%lx\n" msgstr "" -#: peigen.c:1423 pepigen.c:1423 +#: peigen.c:1473 pepigen.c:1473 #, c-format msgid "Time/Date stamp \t\t%lx\n" msgstr "" -#: peigen.c:1426 pepigen.c:1426 +#: peigen.c:1476 pepigen.c:1476 #, c-format msgid "Major/Minor \t\t\t%d/%d\n" msgstr "" -#: peigen.c:1429 pepigen.c:1429 +#: peigen.c:1479 pepigen.c:1479 +#, c-format msgid "Name \t\t\t\t" msgstr "" -#: peigen.c:1435 pepigen.c:1435 +#: peigen.c:1485 pepigen.c:1485 #, c-format msgid "Ordinal Base \t\t\t%ld\n" msgstr "" -#: peigen.c:1438 pepigen.c:1438 +#: peigen.c:1488 pepigen.c:1488 +#, c-format msgid "Number in:\n" msgstr "" -#: peigen.c:1441 pepigen.c:1441 +#: peigen.c:1491 pepigen.c:1491 #, c-format msgid "\tExport Address Table \t\t%08lx\n" msgstr "" -#: peigen.c:1445 pepigen.c:1445 +#: peigen.c:1495 pepigen.c:1495 #, c-format msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n" msgstr "" -#: peigen.c:1448 pepigen.c:1448 +#: peigen.c:1498 pepigen.c:1498 +#, c-format msgid "Table Addresses\n" msgstr "" -#: peigen.c:1451 pepigen.c:1451 +#: peigen.c:1501 pepigen.c:1501 +#, c-format msgid "\tExport Address Table \t\t" msgstr "" -#: peigen.c:1456 pepigen.c:1456 +#: peigen.c:1506 pepigen.c:1506 +#, c-format msgid "\tName Pointer Table \t\t" msgstr "" -#: peigen.c:1461 pepigen.c:1461 +#: peigen.c:1511 pepigen.c:1511 +#, c-format msgid "\tOrdinal Table \t\t\t" msgstr "" -#: peigen.c:1476 pepigen.c:1476 +#: peigen.c:1526 pepigen.c:1526 #, c-format msgid "" "\n" "Export Address Table -- Ordinal Base %ld\n" msgstr "" -#: peigen.c:1495 pepigen.c:1495 +#: peigen.c:1545 pepigen.c:1545 msgid "Forwarder RVA" msgstr "" -#: peigen.c:1506 pepigen.c:1506 +#: peigen.c:1556 pepigen.c:1556 msgid "Export RVA" msgstr "" -#: peigen.c:1513 pepigen.c:1513 +#: peigen.c:1563 pepigen.c:1563 +#, c-format msgid "" "\n" "[Ordinal/Name Pointer] Table\n" msgstr "" -#: peigen.c:1568 pepigen.c:1568 +#: peigen.c:1618 pepigen.c:1618 #, c-format msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n" msgstr "" -#: peigen.c:1572 pepigen.c:1572 +#: peigen.c:1622 pepigen.c:1622 +#, c-format msgid "" "\n" "The Function Table (interpreted .pdata section contents)\n" msgstr "" -#: peigen.c:1575 pepigen.c:1575 +#: peigen.c:1625 pepigen.c:1625 +#, c-format msgid " vma:\t\t\tBegin Address End Address Unwind Info\n" msgstr "" -#: peigen.c:1577 pepigen.c:1577 +#: peigen.c:1627 pepigen.c:1627 +#, c-format msgid "" " vma:\t\tBegin End EH EH PrologEnd Exception\n" " \t\tAddress Address Handler Data Address Mask\n" msgstr "" -#: peigen.c:1647 pepigen.c:1647 +#: peigen.c:1697 pepigen.c:1697 +#, c-format msgid " Register save millicode" msgstr "" -#: peigen.c:1650 pepigen.c:1650 +#: peigen.c:1700 pepigen.c:1700 +#, c-format msgid " Register restore millicode" msgstr "" -#: peigen.c:1653 pepigen.c:1653 +#: peigen.c:1703 pepigen.c:1703 +#, c-format msgid " Glue code sequence" msgstr "" -#: peigen.c:1705 pepigen.c:1705 +#: peigen.c:1755 pepigen.c:1755 +#, c-format msgid "" "\n" "\n" "PE File Base Relocations (interpreted .reloc section contents)\n" msgstr "" -#: peigen.c:1735 pepigen.c:1735 +#: peigen.c:1785 pepigen.c:1785 #, c-format msgid "" "\n" "Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n" msgstr "" -#: peigen.c:1748 pepigen.c:1748 +#: peigen.c:1798 pepigen.c:1798 #, c-format msgid "\treloc %4d offset %4x [%4lx] %s" msgstr "" @@ -2997,7 +3232,7 @@ msgstr "" #. The MS dumpbin program reportedly ands with 0xff0f before #. printing the characteristics field. Not sure why. No reason to #. emulate it here. -#: peigen.c:1788 pepigen.c:1788 +#: peigen.c:1838 pepigen.c:1838 #, c-format msgid "" "\n" diff -uprN binutils-2.15.90.0.1.1/bfd/ptrace-core.c binutils-2.15.90.0.2/bfd/ptrace-core.c --- binutils-2.15.90.0.1.1/bfd/ptrace-core.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/ptrace-core.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* BFD backend for core files which use the ptrace_user structure - Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2001, 2002 + Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. The structure of this file is based on trad-core.c written by John Gilmore of Cygnus Support. @@ -167,10 +167,13 @@ swap_abort () { abort (); /* This way doesn't require any declaration for ANSI to fuck up */ } -#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort ) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) -#define NO_SIGNED_GET \ - ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort ) + +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target ptrace_core_vec = { @@ -185,41 +188,41 @@ const bfd_target ptrace_core_vec = 0, /* symbol prefix */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit data */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs */ { /* bfd_check_format */ - _bfd_dummy_target, /* unknown format */ - _bfd_dummy_target, /* object file */ - _bfd_dummy_target, /* archive */ - ptrace_unix_core_file_p /* a core file */ + _bfd_dummy_target, /* unknown format */ + _bfd_dummy_target, /* object file */ + _bfd_dummy_target, /* archive */ + ptrace_unix_core_file_p /* a core file */ }, { /* bfd_set_format */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, { /* bfd_write_contents */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, - BFD_JUMP_TABLE_GENERIC (_bfd_generic), - BFD_JUMP_TABLE_COPY (_bfd_generic), - BFD_JUMP_TABLE_CORE (ptrace_unix), - BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive), - BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols), - BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), - BFD_JUMP_TABLE_WRITE (_bfd_generic), - BFD_JUMP_TABLE_LINK (_bfd_nolink), - BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), + BFD_JUMP_TABLE_GENERIC (_bfd_generic), + BFD_JUMP_TABLE_COPY (_bfd_generic), + BFD_JUMP_TABLE_CORE (ptrace_unix), + BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive), + BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols), + BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), + BFD_JUMP_TABLE_WRITE (_bfd_generic), + BFD_JUMP_TABLE_LINK (_bfd_nolink), + BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), NULL, (PTR) 0 /* backend_data */ -}; + }; #endif /* PTRACE_CORE */ diff -uprN binutils-2.15.90.0.1.1/bfd/reloc.c binutils-2.15.90.0.2/bfd/reloc.c --- binutils-2.15.90.0.1.1/bfd/reloc.c 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/reloc.c 2004-04-12 12:56:34.000000000 -0700 @@ -3771,6 +3771,89 @@ ENUMDOC This is the 5 bits of a value. ENUM + BFD_RELOC_16C_NUM08 +ENUMX + BFD_RELOC_16C_NUM08_C +ENUMX + BFD_RELOC_16C_NUM16 +ENUMX + BFD_RELOC_16C_NUM16_C +ENUMX + BFD_RELOC_16C_NUM32 +ENUMX + BFD_RELOC_16C_NUM32_C +ENUMX + BFD_RELOC_16C_DISP04 +ENUMX + BFD_RELOC_16C_DISP04_C +ENUMX + BFD_RELOC_16C_DISP08 +ENUMX + BFD_RELOC_16C_DISP08_C +ENUMX + BFD_RELOC_16C_DISP16 +ENUMX + BFD_RELOC_16C_DISP16_C +ENUMX + BFD_RELOC_16C_DISP24 +ENUMX + BFD_RELOC_16C_DISP24_C +ENUMX + BFD_RELOC_16C_DISP24a +ENUMX + BFD_RELOC_16C_DISP24a_C +ENUMX + BFD_RELOC_16C_REG04 +ENUMX + BFD_RELOC_16C_REG04_C +ENUMX + BFD_RELOC_16C_REG04a +ENUMX + BFD_RELOC_16C_REG04a_C +ENUMX + BFD_RELOC_16C_REG14 +ENUMX + BFD_RELOC_16C_REG14_C +ENUMX + BFD_RELOC_16C_REG16 +ENUMX + BFD_RELOC_16C_REG16_C +ENUMX + BFD_RELOC_16C_REG20 +ENUMX + BFD_RELOC_16C_REG20_C +ENUMX + BFD_RELOC_16C_ABS20 +ENUMX + BFD_RELOC_16C_ABS20_C +ENUMX + BFD_RELOC_16C_ABS24 +ENUMX + BFD_RELOC_16C_ABS24_C +ENUMX + BFD_RELOC_16C_IMM04 +ENUMX + BFD_RELOC_16C_IMM04_C +ENUMX + BFD_RELOC_16C_IMM16 +ENUMX + BFD_RELOC_16C_IMM16_C +ENUMX + BFD_RELOC_16C_IMM20 +ENUMX + BFD_RELOC_16C_IMM20_C +ENUMX + BFD_RELOC_16C_IMM24 +ENUMX + BFD_RELOC_16C_IMM24_C +ENUMX + BFD_RELOC_16C_IMM32 +ENUMX + BFD_RELOC_16C_IMM32_C +ENUMDOC + NS CR16C Relocations. + +ENUM BFD_RELOC_CRIS_BDISP8 ENUMX BFD_RELOC_CRIS_UNSIGNED_5 diff -uprN binutils-2.15.90.0.1.1/bfd/sco5-core.c binutils-2.15.90.0.2/bfd/sco5-core.c --- binutils-2.15.90.0.1.1/bfd/sco5-core.c 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/sco5-core.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,6 @@ /* BFD back end for SCO5 core files (U-area and raw sections) - Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Written by Jouke Numan This file is part of BFD, the Binary File Descriptor library. @@ -360,10 +361,13 @@ swap_abort () { abort (); /* This way doesn't require any declaration for ANSI to fuck up */ } -#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort ) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) -#define NO_SIGNED_GET \ - ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort ) + +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target sco5_core_vec = { @@ -378,26 +382,26 @@ const bfd_target sco5_core_vec = 0, /* symbol prefix */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit data */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs */ { /* bfd_check_format */ - _bfd_dummy_target, /* unknown format */ - _bfd_dummy_target, /* object file */ - _bfd_dummy_target, /* archive */ - sco5_core_file_p /* a core file */ + _bfd_dummy_target, /* unknown format */ + _bfd_dummy_target, /* object file */ + _bfd_dummy_target, /* archive */ + sco5_core_file_p /* a core file */ }, { /* bfd_set_format */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, { /* bfd_write_contents */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, BFD_JUMP_TABLE_GENERIC (_bfd_generic), @@ -413,4 +417,4 @@ const bfd_target sco5_core_vec = NULL, (PTR) 0 /* backend_data */ -}; + }; diff -uprN binutils-2.15.90.0.1.1/bfd/stabs.c binutils-2.15.90.0.2/bfd/stabs.c --- binutils-2.15.90.0.1.1/bfd/stabs.c 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/stabs.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* Stabs in sections linking support. - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support. @@ -56,12 +56,19 @@ struct stab_link_includes_table }; /* A linked list of totals that we have found for a particular header - file. */ + file. A total is a unique identifier for a particular BINCL...EINCL + sequence of STABs that can be used to identify duplicate sequences. + It consists of three fields, 'sum_chars' which is the sum of all the + STABS characters; 'num_chars' which is the number of these charactes + and 'symb' which is a buffer of all the symbols in the sequence. This + buffer is only checked as a last resort. */ struct stab_link_includes_totals { struct stab_link_includes_totals *next; - bfd_vma total; + bfd_vma sum_chars; /* Accumulated sum of STABS characters. */ + bfd_vma num_chars; /* Number of STABS characters. */ + const char* symb; /* The STABS characters themselves. */ }; /* An entry in the header file hash table. */ @@ -340,15 +347,21 @@ _bfd_link_section_stabs (abfd, psinfo, s first number after an open parenthesis). */ if (type == (int) N_BINCL) { - bfd_vma val; + bfd_vma sum_chars; + bfd_vma num_chars; + bfd_vma buf_len = 0; + char * symb; + char * symb_rover; int nest; - bfd_byte *incl_sym; - struct stab_link_includes_entry *incl_entry; - struct stab_link_includes_totals *t; - struct stab_excl_list *ne; + bfd_byte * incl_sym; + struct stab_link_includes_entry * incl_entry; + struct stab_link_includes_totals * t; + struct stab_excl_list * ne; - val = 0; + symb = symb_rover = NULL; + sum_chars = num_chars = 0; nest = 0; + for (incl_sym = sym + STABSIZE; incl_sym < symend; incl_sym += STABSIZE) @@ -377,7 +390,17 @@ _bfd_link_section_stabs (abfd, psinfo, s + bfd_get_32 (abfd, incl_sym + STRDXOFF)); for (; *str != '\0'; str++) { - val += *str; + if (num_chars >= buf_len) + { + buf_len += 32 * 1024; + symb = bfd_realloc (symb, buf_len); + if (symb == NULL) + goto error_return; + symb_rover = symb + num_chars; + } + * symb_rover ++ = * str; + sum_chars += *str; + num_chars ++; if (*str == '(') { /* Skip the file number. */ @@ -390,6 +413,8 @@ _bfd_link_section_stabs (abfd, psinfo, s } } + BFD_ASSERT (num_chars == (bfd_vma) (symb_rover - symb)); + /* If we have already included a header file with the same value, then replaced this one with an N_EXCL symbol. */ incl_entry = stab_link_includes_lookup (&sinfo->includes, string, @@ -398,7 +423,9 @@ _bfd_link_section_stabs (abfd, psinfo, s goto error_return; for (t = incl_entry->totals; t != NULL; t = t->next) - if (t->total == val) + if (t->sum_chars == sum_chars + && t->num_chars == num_chars + && memcmp (t->symb, symb, num_chars) == 0) break; /* Record this symbol, so that we can set the value @@ -408,7 +435,7 @@ _bfd_link_section_stabs (abfd, psinfo, s if (ne == NULL) goto error_return; ne->offset = sym - stabbuf; - ne->val = val; + ne->val = sum_chars; ne->type = (int) N_BINCL; ne->next = secinfo->excls; secinfo->excls = ne; @@ -421,7 +448,9 @@ _bfd_link_section_stabs (abfd, psinfo, s bfd_hash_allocate (&sinfo->includes.root, sizeof *t)); if (t == NULL) goto error_return; - t->total = val; + t->sum_chars = sum_chars; + t->num_chars = num_chars; + t->symb = bfd_realloc (symb, num_chars); /* Trim data down. */ t->next = incl_entry->totals; incl_entry->totals = t; } @@ -433,6 +462,9 @@ _bfd_link_section_stabs (abfd, psinfo, s pass to change the type to N_EXCL. */ ne->type = (int) N_EXCL; + /* Free off superfluous symbols. */ + free (symb); + /* Mark the skipped symbols. */ nest = 0; @@ -456,6 +488,9 @@ _bfd_link_section_stabs (abfd, psinfo, s } else if (incl_type == (int) N_BINCL) ++nest; + else if (incl_type == (int) N_EXCL) + /* Keep existing exclusion marks. */ + continue; else if (nest == 0) { *incl_pstridx = (bfd_size_type) -1; diff -uprN binutils-2.15.90.0.1.1/bfd/targets.c binutils-2.15.90.0.2/bfd/targets.c --- binutils-2.15.90.0.1.1/bfd/targets.c 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/targets.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* Generic target-file-type support for the BFD library. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003 + 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Cygnus Support. @@ -203,26 +203,26 @@ DESCRIPTION . {* Entries for byte swapping for data. These are different from the . other entry points, since they don't take a BFD asthe first argument. . Certain other handlers could do the same. *} -. bfd_vma (*bfd_getx64) (const bfd_byte *); -. bfd_signed_vma (*bfd_getx_signed_64) (const bfd_byte *); -. void (*bfd_putx64) (bfd_vma, bfd_byte *); -. bfd_vma (*bfd_getx32) (const bfd_byte *); -. bfd_signed_vma (*bfd_getx_signed_32) (const bfd_byte *); -. void (*bfd_putx32) (bfd_vma, bfd_byte *); -. bfd_vma (*bfd_getx16) (const bfd_byte *); -. bfd_signed_vma (*bfd_getx_signed_16) (const bfd_byte *); -. void (*bfd_putx16) (bfd_vma, bfd_byte *); +. bfd_uint64_t (*bfd_getx64) (const void *); +. bfd_int64_t (*bfd_getx_signed_64) (const void *); +. void (*bfd_putx64) (bfd_uint64_t, void *); +. bfd_vma (*bfd_getx32) (const void *); +. bfd_signed_vma (*bfd_getx_signed_32) (const void *); +. void (*bfd_putx32) (bfd_vma, void *); +. bfd_vma (*bfd_getx16) (const void *); +. bfd_signed_vma (*bfd_getx_signed_16) (const void *); +. void (*bfd_putx16) (bfd_vma, void *); . . {* Byte swapping for the headers. *} -. bfd_vma (*bfd_h_getx64) (const bfd_byte *); -. bfd_signed_vma (*bfd_h_getx_signed_64) (const bfd_byte *); -. void (*bfd_h_putx64) (bfd_vma, bfd_byte *); -. bfd_vma (*bfd_h_getx32) (const bfd_byte *); -. bfd_signed_vma (*bfd_h_getx_signed_32) (const bfd_byte *); -. void (*bfd_h_putx32) (bfd_vma, bfd_byte *); -. bfd_vma (*bfd_h_getx16) (const bfd_byte *); -. bfd_signed_vma (*bfd_h_getx_signed_16) (const bfd_byte *); -. void (*bfd_h_putx16) (bfd_vma, bfd_byte *); +. bfd_uint64_t (*bfd_h_getx64) (const void *); +. bfd_int64_t (*bfd_h_getx_signed_64) (const void *); +. void (*bfd_h_putx64) (bfd_uint64_t, void *); +. bfd_vma (*bfd_h_getx32) (const void *); +. bfd_signed_vma (*bfd_h_getx_signed_32) (const void *); +. void (*bfd_h_putx32) (bfd_vma, void *); +. bfd_vma (*bfd_h_getx16) (const void *); +. bfd_signed_vma (*bfd_h_getx_signed_16) (const void *); +. void (*bfd_h_putx16) (bfd_vma, void *); . . {* Format dependent routines: these are vectors of entry points . within the target vector structure, one for each format to check. *} @@ -517,6 +517,7 @@ extern const bfd_target bfd_elf32_bigarc extern const bfd_target bfd_elf32_bigarm_oabi_vec; extern const bfd_target bfd_elf32_bigarm_vec; extern const bfd_target bfd_elf32_bigmips_vec; +extern const bfd_target bfd_elf32_cr16c_vec; extern const bfd_target bfd_elf32_cris_vec; extern const bfd_target bfd_elf32_d10v_vec; extern const bfd_target bfd_elf32_d30v_vec; @@ -807,6 +808,7 @@ static const bfd_target * const _bfd_tar &bfd_elf32_bigarm_oabi_vec, &bfd_elf32_bigarm_vec, &bfd_elf32_bigmips_vec, + &bfd_elf32_cr16c_vec, &bfd_elf32_cris_vec, &bfd_elf32_d10v_vec, &bfd_elf32_d30v_vec, diff -uprN binutils-2.15.90.0.1.1/bfd/trad-core.c binutils-2.15.90.0.2/bfd/trad-core.c --- binutils-2.15.90.0.1.1/bfd/trad-core.c 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/trad-core.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* BFD back end for traditional Unix core files (U-area and raw sections) Copyright 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, - 2000, 2001, 2002 + 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by John Gilmore of Cygnus Support. @@ -272,10 +272,13 @@ swap_abort () { abort (); /* This way doesn't require any declaration for ANSI to fuck up */ } -#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort ) -#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) -#define NO_SIGNED_GET \ - ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort ) + +#define NO_GET ((bfd_vma (*) (const void *)) swap_abort) +#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort) +#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort) +#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort) +#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort) +#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort) const bfd_target trad_core_vec = { @@ -290,39 +293,39 @@ const bfd_target trad_core_vec = 0, /* symbol prefix */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */ - NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit data */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit data */ + NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs */ + NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs */ { /* bfd_check_format */ - _bfd_dummy_target, /* unknown format */ - _bfd_dummy_target, /* object file */ - _bfd_dummy_target, /* archive */ - trad_unix_core_file_p /* a core file */ + _bfd_dummy_target, /* unknown format */ + _bfd_dummy_target, /* object file */ + _bfd_dummy_target, /* archive */ + trad_unix_core_file_p /* a core file */ }, { /* bfd_set_format */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, { /* bfd_write_contents */ - bfd_false, bfd_false, - bfd_false, bfd_false + bfd_false, bfd_false, + bfd_false, bfd_false }, - BFD_JUMP_TABLE_GENERIC (_bfd_generic), - BFD_JUMP_TABLE_COPY (_bfd_generic), - BFD_JUMP_TABLE_CORE (trad_unix), - BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive), - BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols), - BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), - BFD_JUMP_TABLE_WRITE (_bfd_generic), - BFD_JUMP_TABLE_LINK (_bfd_nolink), - BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), + BFD_JUMP_TABLE_GENERIC (_bfd_generic), + BFD_JUMP_TABLE_COPY (_bfd_generic), + BFD_JUMP_TABLE_CORE (trad_unix), + BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive), + BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols), + BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), + BFD_JUMP_TABLE_WRITE (_bfd_generic), + BFD_JUMP_TABLE_LINK (_bfd_nolink), + BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), NULL, (PTR) 0 /* backend_data */ -}; + }; diff -uprN binutils-2.15.90.0.1.1/bfd/version.h binutils-2.15.90.0.2/bfd/version.h --- binutils-2.15.90.0.1.1/bfd/version.h 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/bfd/version.h 2004-04-12 12:56:34.000000000 -0700 @@ -1,3 +1,3 @@ -#define BFD_VERSION_DATE 20040303 +#define BFD_VERSION_DATE 20040412 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_string@ diff -uprN binutils-2.15.90.0.1.1/binutils/ChangeLog binutils-2.15.90.0.2/binutils/ChangeLog --- binutils-2.15.90.0.1.1/binutils/ChangeLog 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/ChangeLog 2004-04-12 12:56:34.000000000 -0700 @@ -1,3 +1,71 @@ +2004-04-07 Benjamin Monate + + PR 86 + * arsup.c (ar_save): Use smart_rename. + +2004-04-01 Dean Luick + + * readelf.c (display_debug_pubnames): Align offset and data + columns. + (read_and_display_attr_value): Add missing break; + (debug_displays): Enable the display of the .debug_pubtypes + section. + +2004-03-30 Stan Shebs + + * mpw-config.in, mpw-make.sed, mac-binutils.r: Remove MPW + support files, no longer used. + +2004-03-23 Paul Brook + + * readelf.c (decode_ARM_machine_flags): Add EABI v3. + +2004-03-21 Richard Henderson + + * readelf.c (display_debug_frames): Don't crash for mismatched + DW_CFA_restore_state. + +2004-03-19 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + * po/binutils.pot: Regenerate. + +2004-03-15 Nathan Sidwell + + * objdump.c (struct SFILE): Replace current pointer with pos + offset, rename size to alloc. + (objdump_sprintf): Avoid unnecessary copies in the common case + (disassemble_bytes): Keep sfile live throughout the + function. Adjust usage appropriately. + +2004-03-10 Ben Elliston + + * MAINTAINERS: Update my mail address. + +2004-03-08 Danny Smith + + * deflex.l: Handle "PRIVATE" string. + * defparse.y (%token): Add PRIVATE. + (%type): Add opt_PRIVATE. + (expline): Pass opt_PRIVATE to def_exports. + (opt_PRIVATE): Handle PRIVATE token. + * dlltool.h (def_exports): Add 7th param for private flag to + declaration. + * dlltool.c: Add PRIVATE to comment on EXPORTS syntax. + (struct export): Add 'private' field. + (def_exports): Set 'private' field of struct exports. + (scan_drectve_symbols): Adjust calls to def_exports. + (scan_filtered_symbols): Likewise. + (dump_def_info): Print 'private' field. + (gen_def_file): Likewise. + (gen_lib_file): Skip generation of lib object if private. + Delete tmp object files in same order as they were generated. + Don't delete non-existent private object files. + 2004-02-27 Andreas Schwab * ar.c (main): Support POSIX-compatible argument parsing. diff -uprN binutils-2.15.90.0.1.1/binutils/MAINTAINERS binutils-2.15.90.0.2/binutils/MAINTAINERS --- binutils-2.15.90.0.1.1/binutils/MAINTAINERS 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/MAINTAINERS 2004-04-12 12:56:34.000000000 -0700 @@ -59,7 +59,7 @@ responsibility among the other maintaine ARM Richard Earnshaw AVR Denis Chertykov AVR Marek Michalkiewicz - BUILD SYSTEM Ben Elliston + BUILD SYSTEM Ben Elliston BUILD SYSTEM Daniel Jacobowitz CRIS Hans-Peter Nilsson DWARF2 Jason Merrill @@ -77,7 +77,7 @@ responsibility among the other maintaine ix86 H.J.Lu ix86 INTEL MODE Diego Novillo M68HC11 M68HC12 Stephane Carrez - M68k Ben Elliston + M68k Ben Elliston MIPS Eric Christopher MIPS Thiemo Seufer MMIX Hans-Peter Nilsson @@ -90,7 +90,7 @@ responsibility among the other maintaine SH Alexandre Oliva SH Kaz Kojima SPARC Jakub Jelinek - TESTSUITES Ben Elliston + TESTSUITES Ben Elliston TIC4X Svein Seldal TIC54X Timothy Wall VAX Jason R Thorpe diff -uprN binutils-2.15.90.0.1.1/binutils/Makefile.am binutils-2.15.90.0.2/binutils/Makefile.am --- binutils-2.15.90.0.1.1/binutils/Makefile.am 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/Makefile.am 2004-04-12 12:56:34.000000000 -0700 @@ -440,7 +440,9 @@ not-strip.o: not-strip.c objcopy.o: objcopy.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \ $(INCDIR)/symcat.h $(INCDIR)/progress.h bucomm.h config.h \ $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \ - budbg.h $(INCDIR)/filenames.h $(INCDIR)/fnmatch.h + budbg.h $(INCDIR)/filenames.h $(INCDIR)/fnmatch.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h objdump.o: objdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \ $(INCDIR)/symcat.h ../bfd/bfdver.h $(INCDIR)/progress.h \ bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \ diff -uprN binutils-2.15.90.0.1.1/binutils/Makefile.in binutils-2.15.90.0.2/binutils/Makefile.in --- binutils-2.15.90.0.1.1/binutils/Makefile.in 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/Makefile.in 2004-04-12 12:56:34.000000000 -0700 @@ -1168,7 +1168,9 @@ not-strip.o: not-strip.c objcopy.o: objcopy.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \ $(INCDIR)/symcat.h $(INCDIR)/progress.h bucomm.h config.h \ $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \ - budbg.h $(INCDIR)/filenames.h $(INCDIR)/fnmatch.h + budbg.h $(INCDIR)/filenames.h $(INCDIR)/fnmatch.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h objdump.o: objdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \ $(INCDIR)/symcat.h ../bfd/bfdver.h $(INCDIR)/progress.h \ bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \ diff -uprN binutils-2.15.90.0.1.1/binutils/aclocal.m4 binutils-2.15.90.0.2/binutils/aclocal.m4 --- binutils-2.15.90.0.1.1/binutils/aclocal.m4 2002-10-29 20:09:13.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/aclocal.m4 2004-04-12 12:56:34.000000000 -0700 @@ -1,4 +1,4 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4-p5 +dnl aclocal.m4 generated automatically by aclocal 1.4-p6 dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation @@ -32,13 +32,22 @@ AC_SUBST(INTLLIBS) dnl AM_PROG_LEX dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT -AC_DEFUN(AM_PROG_LEX, +AC_DEFUN([AM_PROG_LEX], [missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1) AC_CHECK_PROGS(LEX, flex lex, [$missing_dir/missing flex]) AC_PROG_LEX AC_DECL_YYTEXT]) -#serial 1 +# isc-posix.m4 serial 2 (gettext-0.11.2) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. + # This test replaces the one in autoconf. # Currently this macro should have the same name as the autoconf macro # because gettext's gettext.m4 (distributed in the automake package) @@ -66,7 +75,8 @@ dnl Usage: dnl AM_INIT_AUTOMAKE(package,version, [no-define]) AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AC_PROG_INSTALL]) +[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL]) PACKAGE=[$1] AC_SUBST(PACKAGE) VERSION=[$2] @@ -82,13 +92,42 @@ AC_REQUIRE([AM_SANITY_CHECK]) AC_REQUIRE([AC_ARG_PROGRAM]) dnl FIXME This is truly gross. missing_dir=`cd $ac_aux_dir && pwd` -AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir) AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) -AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir) AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) AC_REQUIRE([AC_PROG_MAKE_SET])]) +# Copyright 2002 Free Software Foundation, Inc. + +# 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, 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 + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.4-p6])]) + # # Check to make sure that the build environment is sane. # diff -uprN binutils-2.15.90.0.1.1/binutils/arsup.c binutils-2.15.90.0.2/binutils/arsup.c --- binutils-2.15.90.0.1.1/binutils/arsup.c 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/arsup.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* arsup.c - Archive support for MRI compatibility - Copyright 1992, 1994, 1995, 1996, 1997, 2000, 2002, 2003 + Copyright 1992, 1994, 1995, 1996, 1997, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -333,7 +333,7 @@ ar_save (void) bfd_close (obfd); - rename (ofilename, real_name); + smart_rename (ofilename, real_name, 0); obfd = 0; free (ofilename); } diff -uprN binutils-2.15.90.0.1.1/binutils/config.in binutils-2.15.90.0.2/binutils/config.in --- binutils-2.15.90.0.1.1/binutils/config.in 2002-10-29 20:09:13.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/config.in 2004-04-12 12:56:34.000000000 -0700 @@ -136,6 +136,12 @@ /* Define if you have the header file. */ #undef HAVE_SYS_PARAM_H +/* Define if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_TYPES_H + /* Define if you have the header file. */ #undef HAVE_UNISTD_H diff -uprN binutils-2.15.90.0.1.1/binutils/configure binutils-2.15.90.0.2/binutils/configure --- binutils-2.15.90.0.1.1/binutils/configure 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/configure 2004-04-12 12:56:34.000000000 -0700 @@ -762,6 +762,7 @@ fi BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in` +am__api_version="1.4" # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: @@ -774,7 +775,7 @@ BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOM # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:778: checking for a BSD compatible install" >&5 +echo "configure:779: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -827,7 +828,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCR test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:831: checking whether build environment is sane" >&5 +echo "configure:832: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -884,7 +885,7 @@ test "$program_suffix" != NONE && test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:888: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:889: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -929,21 +930,21 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` -echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:934: checking for working aclocal" >&5 +echo $ac_n "checking for working aclocal-${am__api_version}""... $ac_c" 1>&6 +echo "configure:935: checking for working aclocal-${am__api_version}" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. -if (aclocal --version) < /dev/null > /dev/null 2>&1; then - ACLOCAL=aclocal +if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then + ACLOCAL=aclocal-${am__api_version} echo "$ac_t""found" 1>&6 else - ACLOCAL="$missing_dir/missing aclocal" + ACLOCAL="$missing_dir/missing aclocal-${am__api_version}" echo "$ac_t""missing" 1>&6 fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:947: checking for working autoconf" >&5 +echo "configure:948: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -955,21 +956,21 @@ else echo "$ac_t""missing" 1>&6 fi -echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:960: checking for working automake" >&5 +echo $ac_n "checking for working automake-${am__api_version}""... $ac_c" 1>&6 +echo "configure:961: checking for working automake-${am__api_version}" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. -if (automake --version) < /dev/null > /dev/null 2>&1; then - AUTOMAKE=automake +if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then + AUTOMAKE=automake-${am__api_version} echo "$ac_t""found" 1>&6 else - AUTOMAKE="$missing_dir/missing automake" + AUTOMAKE="$missing_dir/missing automake-${am__api_version}" echo "$ac_t""missing" 1>&6 fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:973: checking for working autoheader" >&5 +echo "configure:974: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -982,7 +983,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:986: checking for working makeinfo" >&5 +echo "configure:987: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1068,7 +1069,7 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1072: checking for $ac_word" >&5 +echo "configure:1073: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1098,7 +1099,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1102: checking for $ac_word" >&5 +echo "configure:1103: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1149,7 +1150,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1153: checking for $ac_word" >&5 +echo "configure:1154: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1181,7 +1182,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1185: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1186: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1192,12 +1193,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1196 "configure" +#line 1197 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1223,12 +1224,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1227: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1228: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1232: checking whether we are using GNU C" >&5 +echo "configure:1233: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1237,7 +1238,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1241: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1242: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1256,7 +1257,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1260: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1261: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1299,7 +1300,7 @@ ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1303: checking for ld used by GCC" >&5 +echo "configure:1304: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1329,10 +1330,10 @@ echo "configure:1303: checking for ld us esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1333: checking for GNU ld" >&5 +echo "configure:1334: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1336: checking for non-GNU ld" >&5 +echo "configure:1337: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1367,7 +1368,7 @@ else fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1371: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1372: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1384,7 +1385,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 -echo "configure:1388: checking for $LD option to reload object files" >&5 +echo "configure:1389: checking for $LD option to reload object files" >&5 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1396,7 +1397,7 @@ reload_flag=$lt_cv_ld_reload_flag test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1400: checking for BSD-compatible nm" >&5 +echo "configure:1401: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1434,7 +1435,7 @@ NM="$lt_cv_path_NM" echo "$ac_t""$NM" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1438: checking whether ln -s works" >&5 +echo "configure:1439: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1455,7 +1456,7 @@ else fi echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 -echo "configure:1459: checking how to recognise dependant libraries" >&5 +echo "configure:1460: checking how to recognise dependant libraries" >&5 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1628,13 +1629,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:1632: checking for object suffix" >&5 +echo "configure:1633: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:1638: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1654,7 +1655,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1658: checking for executable suffix" >&5 +echo "configure:1659: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1664,7 +1665,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -1697,7 +1698,7 @@ case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 -echo "configure:1701: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1702: checking for ${ac_tool_prefix}file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1759,7 +1760,7 @@ fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo $ac_n "checking for file""... $ac_c" 1>&6 -echo "configure:1763: checking for file" >&5 +echo "configure:1764: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1830,7 +1831,7 @@ esac # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1834: checking for $ac_word" >&5 +echo "configure:1835: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1862,7 +1863,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1866: checking for $ac_word" >&5 +echo "configure:1867: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1897,7 +1898,7 @@ fi # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1901: checking for $ac_word" >&5 +echo "configure:1902: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1929,7 +1930,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1933: checking for $ac_word" >&5 +echo "configure:1934: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1996,8 +1997,8 @@ test x"$pic_mode" = xno && libtool_flags case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 2000 "configure"' > conftest.$ac_ext - if { (eval echo configure:2001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 2001 "configure"' > conftest.$ac_ext + if { (eval echo configure:2002: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) @@ -2030,7 +2031,7 @@ case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext - if { (eval echo configure:2034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + if { (eval echo configure:2035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *ELF-32*) HPUX_IA64_MODE="32" @@ -2048,7 +2049,7 @@ ia64-*-hpux*) SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:2052: checking whether the C compiler needs -belf" >&5 +echo "configure:2053: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2061,14 +2062,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else @@ -2241,7 +2242,7 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2245: checking for $ac_word" >&5 +echo "configure:2246: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2271,7 +2272,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2275: checking for $ac_word" >&5 +echo "configure:2276: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2322,7 +2323,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2326: checking for $ac_word" >&5 +echo "configure:2327: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2354,7 +2355,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2358: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2359: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -2365,12 +2366,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 2369 "configure" +#line 2370 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -2396,12 +2397,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:2400: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2401: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:2405: checking whether we are using GNU C" >&5 +echo "configure:2406: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2410,7 +2411,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2414: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2415: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -2429,7 +2430,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:2433: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2434: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2466,7 +2467,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2470: checking for $ac_word" >&5 +echo "configure:2471: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2497,7 +2498,7 @@ done test -n "$YACC" || YACC="yacc" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2501: checking how to run the C preprocessor" >&5 +echo "configure:2502: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2512,13 +2513,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2529,13 +2530,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2540: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2546,13 +2547,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2556: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2557: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2582,7 +2583,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2586: checking for $ac_word" >&5 +echo "configure:2587: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2615,7 +2616,7 @@ test -n "$LEX" || LEX="$missing_dir/miss # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2619: checking for $ac_word" >&5 +echo "configure:2620: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2649,7 +2650,7 @@ then *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:2653: checking for yywrap in -l$ac_lib" >&5 +echo "configure:2654: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2657,7 +2658,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2691,7 +2692,7 @@ fi fi echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:2695: checking lex output file root" >&5 +echo "configure:2696: checking lex output file root" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2712,7 +2713,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6 -echo "configure:2716: checking whether yytext is a pointer" >&5 +echo "configure:2717: checking whether yytext is a pointer" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2724,14 +2725,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPU ac_save_LIBS="$LIBS" LIBS="$LIBS $LEXLIB" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_prog_lex_yytext_pointer=yes else @@ -2757,7 +2758,7 @@ ALL_LINGUAS="fr tr ja es sv da zh_CN ru" # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2761: checking for $ac_word" >&5 +echo "configure:2762: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2785,12 +2786,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2789: checking for ANSI C header files" >&5 +echo "configure:2790: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2798,7 +2799,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2802: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2803: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2815,7 +2816,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2833,7 +2834,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2854,7 +2855,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2865,7 +2866,7 @@ if (XOR (islower (i), ISLOWER (i)) || to exit (0); } EOF -if { (eval echo configure:2869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2889,12 +2890,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2893: checking for working const" >&5 +echo "configure:2894: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2964,21 +2965,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2968: checking for inline" >&5 +echo "configure:2969: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -3004,12 +3005,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3008: checking for off_t" >&5 +echo "configure:3009: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3037,12 +3038,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3041: checking for size_t" >&5 +echo "configure:3042: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3072,19 +3073,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:3076: checking for working alloca.h" >&5 +echo "configure:3077: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:3088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -3105,12 +3106,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:3109: checking for alloca" >&5 +echo "configure:3110: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -3170,12 +3171,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:3174: checking whether alloca needs Cray hooks" >&5 +echo "configure:3175: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3204: checking for $ac_func" >&5 +echo "configure:3205: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3255,7 +3256,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3259: checking stack direction for C alloca" >&5 +echo "configure:3260: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3263,7 +3264,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -3307,17 +3308,17 @@ for ac_hdr in stdlib.h unistd.h sys/stat do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3311: checking for $ac_hdr" >&5 +echo "configure:3312: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3321: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3322: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3346,12 +3347,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3350: checking for $ac_func" >&5 +echo "configure:3351: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3399,7 +3400,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3403: checking for working mmap" >&5 +echo "configure:3404: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3407,7 +3408,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -3588,17 +3589,17 @@ unistd.h values.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3592: checking for $ac_hdr" >&5 +echo "configure:3593: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3602: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3603: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3628,12 +3629,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3632: checking for $ac_func" >&5 +echo "configure:3633: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3685,12 +3686,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3689: checking for $ac_func" >&5 +echo "configure:3690: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3747,19 +3748,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3751: checking for LC_MESSAGES" >&5 +echo "configure:3752: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3780,7 +3781,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3784: checking whether NLS is requested" >&5 +echo "configure:3785: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -3800,7 +3801,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3804: checking whether included gettext is requested" >&5 +echo "configure:3805: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -3819,17 +3820,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3823: checking for libintl.h" >&5 +echo "configure:3824: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3833: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3834: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3846,19 +3847,19 @@ fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:3850: checking for gettext in libc" >&5 +echo "configure:3851: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3874,7 +3875,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1 if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3878: checking for bindtextdomain in -lintl" >&5 +echo "configure:3879: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3882,7 +3883,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3909,19 +3910,19 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:3913: checking for gettext in libintl" >&5 +echo "configure:3914: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -3949,7 +3950,7 @@ EOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3953: checking for $ac_word" >&5 +echo "configure:3954: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3983,12 +3984,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3987: checking for $ac_func" >&5 +echo "configure:3988: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4038,7 +4039,7 @@ done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4042: checking for $ac_word" >&5 +echo "configure:4043: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4074,7 +4075,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4078: checking for $ac_word" >&5 +echo "configure:4079: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4106,7 +4107,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -4146,7 +4147,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4150: checking for $ac_word" >&5 +echo "configure:4151: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4180,7 +4181,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4184: checking for $ac_word" >&5 +echo "configure:4185: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4216,7 +4217,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4220: checking for $ac_word" >&5 +echo "configure:4221: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4306,7 +4307,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4310: checking for catalogs to be installed" >&5 +echo "configure:4311: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4334,17 +4335,17 @@ echo "configure:4310: checking for catal if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:4338: checking for linux/version.h" >&5 +echo "configure:4339: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4348: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4407,7 +4408,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:4411: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:4412: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -4432,7 +4433,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:4436: checking for executable suffix" >&5 +echo "configure:4437: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4442,7 +4443,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:4446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:4447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -4485,7 +4486,7 @@ AR=${AR-ar} # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4489: checking for $ac_word" >&5 +echo "configure:4490: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4524,7 +4525,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:4528: checking for a BSD compatible install" >&5 +echo "configure:4529: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4591,7 +4592,7 @@ if test "x$cross_compiling" = "xno"; the EXEEXT_FOR_BUILD='$(EXEEXT)' else echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6 -echo "configure:4595: checking for build system executable suffix" >&5 +echo "configure:4596: checking for build system executable suffix" >&5 if eval "test \"`echo '$''{'bfd_cv_build_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4626,17 +4627,17 @@ for ac_hdr in string.h strings.h stdlib. do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4630: checking for $ac_hdr" >&5 +echo "configure:4631: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4640: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4641: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4663,12 +4664,12 @@ fi done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:4667: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:4668: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4684,7 +4685,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:4688: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4689: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -4707,19 +4708,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:4711: checking for working alloca.h" >&5 +echo "configure:4712: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:4723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -4740,12 +4741,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:4744: checking for alloca" >&5 +echo "configure:4745: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -4805,12 +4806,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:4809: checking whether alloca needs Cray hooks" >&5 +echo "configure:4810: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4839: checking for $ac_func" >&5 +echo "configure:4840: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4890,7 +4891,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:4894: checking stack direction for C alloca" >&5 +echo "configure:4895: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4898,7 +4899,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -4941,12 +4942,12 @@ fi for ac_func in sbrk utimes setmode getc_unlocked strcoll do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4945: checking for $ac_func" >&5 +echo "configure:4946: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4997,19 +4998,19 @@ done # Check whether fopen64 is available and whether _LARGEFILE64_SOURCE # needs to be defined for it echo $ac_n "checking for fopen64""... $ac_c" 1>&6 -echo "configure:5001: checking for fopen64" >&5 +echo "configure:5002: checking for fopen64" >&5 if eval "test \"`echo '$''{'bu_cv_have_fopen64'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { FILE *f = fopen64 ("/tmp/foo","r"); ; return 0; } EOF -if { (eval echo configure:5013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* bu_cv_have_fopen64=yes else @@ -5019,14 +5020,14 @@ else saved_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" cat > conftest.$ac_ext < int main() { FILE *f = fopen64 ("/tmp/foo","r"); ; return 0; } EOF -if { (eval echo configure:5030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE" else @@ -5058,14 +5059,14 @@ fi # Some systems have frexp only in -lm, not in -lc. echo $ac_n "checking for library containing frexp""... $ac_c" 1>&6 -echo "configure:5062: checking for library containing frexp" >&5 +echo "configure:5063: checking for library containing frexp" >&5 if eval "test \"`echo '$''{'ac_cv_search_frexp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_frexp="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_frexp="none required" else @@ -5087,7 +5088,7 @@ rm -f conftest* test "$ac_cv_search_frexp" = "no" && for i in m; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_frexp="-l$i" break @@ -5120,12 +5121,12 @@ else : fi echo $ac_n "checking whether weak symbol works""... $ac_c" 1>&6 -echo "configure:5124: checking whether weak symbol works" >&5 +echo "configure:5125: checking whether weak symbol works" >&5 if eval "test \"`echo '$''{'libiberty_cv_have_weak_symbol'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5139: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libiberty_cv_have_weak_symbol=no else @@ -5158,14 +5159,14 @@ if test $libiberty_cv_have_weak_symbol = # demangler may use dlopen. echo $ac_n "checking for library containing dlopen""... $ac_c" 1>&6 -echo "configure:5162: checking for library containing dlopen" >&5 +echo "configure:5163: checking for library containing dlopen" >&5 if eval "test \"`echo '$''{'ac_cv_search_dlopen'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_dlopen="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_dlopen="none required" else @@ -5187,7 +5188,7 @@ rm -f conftest* test "$ac_cv_search_dlopen" = "no" && for i in dl; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_dlopen="-l$i" break @@ -5227,19 +5228,19 @@ EOF fi echo $ac_n "checking for time_t in time.h""... $ac_c" 1>&6 -echo "configure:5231: checking for time_t in time.h" >&5 +echo "configure:5232: checking for time_t in time.h" >&5 if eval "test \"`echo '$''{'bu_cv_decl_time_t_time_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { time_t i; ; return 0; } EOF -if { (eval echo configure:5243: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bu_cv_decl_time_t_time_h=yes else @@ -5260,19 +5261,19 @@ EOF fi echo $ac_n "checking for time_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:5264: checking for time_t in sys/types.h" >&5 +echo "configure:5265: checking for time_t in sys/types.h" >&5 if eval "test \"`echo '$''{'bu_cv_decl_time_t_types_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { time_t i; ; return 0; } EOF -if { (eval echo configure:5276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bu_cv_decl_time_t_types_h=yes else @@ -5295,12 +5296,12 @@ fi # Under Next 3.2 apparently does not define struct utimbuf # by default. echo $ac_n "checking for utime.h""... $ac_c" 1>&6 -echo "configure:5299: checking for utime.h" >&5 +echo "configure:5300: checking for utime.h" >&5 if eval "test \"`echo '$''{'bu_cv_header_utime_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifdef HAVE_TIME_H @@ -5311,7 +5312,7 @@ int main() { struct utimbuf s; ; return 0; } EOF -if { (eval echo configure:5315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bu_cv_header_utime_h=yes else @@ -5332,12 +5333,12 @@ EOF fi echo $ac_n "checking whether fprintf must be declared""... $ac_c" 1>&6 -echo "configure:5336: checking whether fprintf must be declared" >&5 +echo "configure:5337: checking whether fprintf must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_fprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5358,7 +5359,7 @@ int main() { char *(*pfn) = (char *(*)) fprintf ; return 0; } EOF -if { (eval echo configure:5362: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_fprintf=no else @@ -5379,12 +5380,12 @@ EOF fi echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:5383: checking whether strstr must be declared" >&5 +echo "configure:5384: checking whether strstr must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5405,7 +5406,7 @@ int main() { char *(*pfn) = (char *(*)) strstr ; return 0; } EOF -if { (eval echo configure:5409: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strstr=no else @@ -5426,12 +5427,12 @@ EOF fi echo $ac_n "checking whether sbrk must be declared""... $ac_c" 1>&6 -echo "configure:5430: checking whether sbrk must be declared" >&5 +echo "configure:5431: checking whether sbrk must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_sbrk'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5452,7 +5453,7 @@ int main() { char *(*pfn) = (char *(*)) sbrk ; return 0; } EOF -if { (eval echo configure:5456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5457: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_sbrk=no else @@ -5473,12 +5474,12 @@ EOF fi echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6 -echo "configure:5477: checking whether getenv must be declared" >&5 +echo "configure:5478: checking whether getenv must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_getenv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5499,7 +5500,7 @@ int main() { char *(*pfn) = (char *(*)) getenv ; return 0; } EOF -if { (eval echo configure:5503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_getenv=no else @@ -5520,12 +5521,12 @@ EOF fi echo $ac_n "checking whether environ must be declared""... $ac_c" 1>&6 -echo "configure:5524: checking whether environ must be declared" >&5 +echo "configure:5525: checking whether environ must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_environ'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5546,7 +5547,7 @@ int main() { char *(*pfn) = (char *(*)) environ ; return 0; } EOF -if { (eval echo configure:5550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5551: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_environ=no else diff -uprN binutils-2.15.90.0.1.1/binutils/deflex.l binutils-2.15.90.0.2/binutils/deflex.l --- binutils-2.15.90.0.1.1/binutils/deflex.l 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/deflex.l 2004-04-12 12:56:34.000000000 -0700 @@ -1,28 +1,27 @@ %{/* deflex.l - Lexer for .def files */ -/* Copyright 1995, 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc. +/* Copyright 1995, 1997, 1998, 1999, 2002, 2003, 2004 + Free Software Foundation, Inc. -This file is part of GNU Binutils. + This file is part of GNU Binutils. -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 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. + 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. */ + 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. */ -/* Contributed by Steve Chamberlain - sac@cygnus.com +/* Contributed by Steve Chamberlain: sac@cygnus.com */ -*/ #define DONTDECLARE_MALLOC #include "libiberty.h" #include "defparse.h" @@ -46,6 +45,7 @@ int linenumber; "BASE" { return BASE;} "CONSTANT" { return CONSTANT; } "NONAME" { return NONAME; } +"PRIVATE" { return PRIVATE; } "READ" { return READ;} "WRITE" { return WRITE;} "EXECUTE" { return EXECUTE;} diff -uprN binutils-2.15.90.0.1.1/binutils/defparse.y binutils-2.15.90.0.2/binutils/defparse.y --- binutils-2.15.90.0.1.1/binutils/defparse.y 2001-03-15 14:51:46.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/defparse.y 2004-04-12 12:56:34.000000000 -0700 @@ -1,22 +1,23 @@ %{ /* defparse.y - parser for .def files */ -/* Copyright 1995, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright 1995, 1997, 1998, 1999, 2004 + Free Software Foundation, Inc. -This file is part of GNU Binutils. + This file is part of GNU Binutils. -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. */ + 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. */ #include "bfd.h" #include "bucomm.h" @@ -30,11 +31,11 @@ Foundation, Inc., 59 Temple Place - Suit %token NAME, LIBRARY, DESCRIPTION, STACKSIZE, HEAPSIZE, CODE, DATA %token SECTIONS, EXPORTS, IMPORTS, VERSIONK, BASE, CONSTANT -%token READ WRITE EXECUTE SHARED NONSHARED NONAME +%token READ WRITE EXECUTE SHARED NONSHARED NONAME PRIVATE %token SINGLE MULTIPLE INITINSTANCE INITGLOBAL TERMINSTANCE TERMGLOBAL %token ID %token NUMBER -%type opt_base opt_ordinal opt_NONAME opt_CONSTANT opt_DATA +%type opt_base opt_ordinal opt_NONAME opt_CONSTANT opt_DATA opt_PRIVATE %type attr attr_list opt_number %type opt_name opt_equal_name @@ -66,8 +67,8 @@ explist: ; expline: - ID opt_equal_name opt_ordinal opt_NONAME opt_CONSTANT opt_DATA - { def_exports ($1, $2, $3, $4, $5, $6);} + ID opt_equal_name opt_ordinal opt_NONAME opt_CONSTANT opt_DATA opt_PRIVATE + { def_exports ($1, $2, $3, $4, $5, $6, $7);} ; implist: implist impline @@ -132,6 +133,11 @@ opt_DATA: | { $$ = 0; } ; +opt_PRIVATE: + PRIVATE { $$ = 1; } + | { $$ = 0; } + ; + opt_name: ID { $$ =$1; } | ID '.' ID { diff -uprN binutils-2.15.90.0.1.1/binutils/dlltool.c binutils-2.15.90.0.2/binutils/dlltool.c --- binutils-2.15.90.0.1.1/binutils/dlltool.c 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/dlltool.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* dlltool.c -- tool to generate stuff for PE style DLLs - Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -49,7 +49,7 @@ EXPORTS ( ( ( [ = ] ) | ( = . )) - [ @ ] [ NONAME ] [CONSTANT] [DATA] ) * + [ @ ] [ NONAME ] [CONSTANT] [DATA] [PRIVATE] ) * Declares name1 as an exported symbol from the DLL, with optional ordinal number . Or declares name1 as an alias (forward) of the function @@ -643,7 +643,8 @@ typedef struct export const char *internal_name; int ordinal; int constant; - int noname; + int noname; /* Don't put name in image file. */ + int private; /* Don't put reference in import lib. */ int data; int hint; int forward; /* Number of forward label, 0 means no forward. */ @@ -889,7 +890,7 @@ yyerror (const char * err ATTRIBUTE_UNUS void def_exports (const char *name, const char *internal_name, int ordinal, - int noname, int constant, int data) + int noname, int constant, int data, int private) { struct export *p = (struct export *) xmalloc (sizeof (*p)); @@ -898,6 +899,7 @@ def_exports (const char *name, const cha p->ordinal = ordinal; p->constant = constant; p->noname = noname; + p->private = private; p->data = data; p->next = d_exports; d_exports = p; @@ -1246,7 +1248,7 @@ scan_drectve_symbols (bfd *abfd) /* FIXME: The 5th arg is for the `constant' field. What should it be? Not that it matters since it's not currently useful. */ - def_exports (c, 0, -1, 0, 0, ! (flags & BSF_FUNCTION)); + def_exports (c, 0, -1, 0, 0, ! (flags & BSF_FUNCTION), 0); if (add_stdcall_alias && strchr (c, '@')) { @@ -1255,7 +1257,7 @@ scan_drectve_symbols (bfd *abfd) char *atsym = strchr (exported_name, '@'); *atsym = '\0'; /* Note: stdcall alias symbols can never be data. */ - def_exports (exported_name, xstrdup (c), -1, 0, 0, 0); + def_exports (exported_name, xstrdup (c), -1, 0, 0, 0, 0); } } else @@ -1294,7 +1296,7 @@ scan_filtered_symbols (bfd *abfd, void * ++symbol_name; def_exports (xstrdup (symbol_name) , 0, -1, 0, 0, - ! (sym->flags & BSF_FUNCTION)); + ! (sym->flags & BSF_FUNCTION), 0); if (add_stdcall_alias && strchr (symbol_name, '@')) { @@ -1303,7 +1305,7 @@ scan_filtered_symbols (bfd *abfd, void * char *atsym = strchr (exported_name, '@'); *atsym = '\0'; /* Note: stdcall alias symbols can never be data. */ - def_exports (exported_name, xstrdup (symbol_name), -1, 0, 0, 0); + def_exports (exported_name, xstrdup (symbol_name), -1, 0, 0, 0, 0); } } } @@ -1518,13 +1520,14 @@ dump_def_info (FILE *f) fprintf (f, "\n"); for (i = 0, exp = d_exports; exp; i++, exp = exp->next) { - fprintf (f, "%s %d = %s %s @ %d %s%s%s\n", + fprintf (f, "%s %d = %s %s @ %d %s%s%s%s\n", ASM_C, i, exp->name, exp->internal_name, exp->ordinal, exp->noname ? "NONAME " : "", + exp->private ? "PRIVATE " : "", exp->constant ? "CONSTANT" : "", exp->data ? "DATA" : ""); } @@ -1595,20 +1598,20 @@ gen_def_file (void) if (strcmp (exp->name, exp->internal_name) == 0) { - - fprintf (output_def, "\t%s%s%s @ %d%s%s\n", + fprintf (output_def, "\t%s%s%s @ %d%s%s%s\n", quote, exp->name, quote, exp->ordinal, exp->noname ? " NONAME" : "", + exp->private ? "PRIVATE " : "", exp->data ? " DATA" : ""); } else { - char *quote1 = strchr (exp->internal_name, '.') ? "\"" : ""; + char * quote1 = strchr (exp->internal_name, '.') ? "\"" : ""; /* char *alias = */ - fprintf (output_def, "\t%s%s%s = %s%s%s @ %d%s%s\n", + fprintf (output_def, "\t%s%s%s = %s%s%s @ %d%s%s%s\n", quote, exp->name, quote, @@ -1617,6 +1620,7 @@ gen_def_file (void) quote1, exp->ordinal, exp->noname ? " NONAME" : "", + exp->private ? "PRIVATE " : "", exp->data ? " DATA" : ""); } } @@ -2794,7 +2798,11 @@ gen_lib_file (void) for (i = 0; (exp = d_exports_lexically[i]); i++) { - bfd *n = make_one_lib_file (exp, i); + bfd *n; + /* Don't add PRIVATE entries to import lib. */ + if (exp->private) + continue; + n = make_one_lib_file (exp, i); n->next = head; head = n; } @@ -2831,8 +2839,11 @@ gen_lib_file (void) char *name; name = (char *) alloca (strlen (TMP_STUB) + 10); - for (i = 0, exp = d_exports; exp; i++, exp = exp->next) + for (i = 0; (exp = d_exports_lexically[i]); i++) { + /* Don't delete non-existent stubs for PRIVATE entries. */ + if (exp->private) + continue; sprintf (name, "%s%05d.o", TMP_STUB, i); if (unlink (name) < 0) /* xgettext:c-format */ @@ -2843,10 +2854,9 @@ gen_lib_file (void) inform (_("Created lib file")); } -/**********************************************************************/ - /* Run through the information gathered from the .o files and the .def file and work out the best stuff. */ + static int pfunc (const void *a, const void *b) { @@ -2890,11 +2900,7 @@ remove_null_names (export_type **ptr) } static void -dtab (export_type **ptr -#ifndef SACDEBUG -ATTRIBUTE_UNUSED -#endif - ) +dtab (export_type **ptr ATTRIBUTE_UNUSED) { #ifdef SACDEBUG int i; @@ -2922,7 +2928,6 @@ process_duplicates (export_type **d_expo while (more) { - more = 0; /* Remove duplicates. */ qsort (d_export_vec, d_nfuncs, sizeof (export_type *), nfunc); @@ -2933,7 +2938,6 @@ process_duplicates (export_type **d_expo if (strcmp (d_export_vec[i]->name, d_export_vec[i + 1]->name) == 0) { - export_type *a = d_export_vec[i]; export_type *b = d_export_vec[i + 1]; @@ -2963,13 +2967,10 @@ process_duplicates (export_type **d_expo } } - /* Count the names. */ for (i = 0; i < d_nfuncs; i++) - { - if (!d_export_vec[i]->noname) - d_named_nfuncs++; - } + if (!d_export_vec[i]->noname) + d_named_nfuncs++; } static void @@ -3008,7 +3009,7 @@ fill_ordinals (export_type **d_export_ve { if (d_export_vec[i]->ordinal == -1) { - register int j; + int j; /* First try within or after any user supplied range. */ for (j = lowest; j < size; j++) @@ -3063,8 +3064,7 @@ mangle_defs (void) int i; int hint = 0; - export_type **d_export_vec - = (export_type **) xmalloc (sizeof (export_type *) * d_nfuncs); + export_type **d_export_vec = xmalloc (sizeof (export_type *) * d_nfuncs); inform (_("Processing definitions")); @@ -3101,8 +3101,6 @@ mangle_defs (void) inform (_("Processed definitions")); } -/**********************************************************************/ - static void usage (FILE *file, int status) { @@ -3239,7 +3237,7 @@ main (int ac, char **av) as_flags = optarg; break; - /* ignored for compatibility */ + /* Ignored for compatibility. */ case 'u': break; case 'a': diff -uprN binutils-2.15.90.0.1.1/binutils/dlltool.h binutils-2.15.90.0.2/binutils/dlltool.h --- binutils-2.15.90.0.1.1/binutils/dlltool.h 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/dlltool.h 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* dlltool.h -- header file for dlltool - Copyright 1997, 1998, 2003 Free Software Foundation, Inc. + Copyright 1997, 1998, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -24,7 +24,7 @@ extern void def_code (int); extern void def_data (int); extern void def_description (const char *); -extern void def_exports (const char *, const char *, int, int, int, int); +extern void def_exports (const char *, const char *, int, int, int, int, int); extern void def_heapsize (int, int); extern void def_import (const char *, const char *, const char *, const char *, int); @@ -33,9 +33,10 @@ extern void def_name (const char *, int) extern void def_section (const char *, int); extern void def_stacksize (int, int); extern void def_version (int, int); -extern int yyparse (void); -extern int yyerror (const char *); +extern int yyparse (void); +extern int yyerror (const char *); +extern int yylex (void); + extern int yydebug; -extern int yylex (void); extern FILE *yyin; extern int linenumber; diff -uprN binutils-2.15.90.0.1.1/binutils/mac-binutils.r binutils-2.15.90.0.2/binutils/mac-binutils.r --- binutils-2.15.90.0.1.1/binutils/mac-binutils.r 1999-06-03 11:01:56.000000000 -0700 +++ binutils-2.15.90.0.2/binutils/mac-binutils.r 1969-12-31 16:00:00.000000000 -0800 @@ -1,42 +0,0 @@ -/* Resources for GNU binutils. */ - -#include "SysTypes.r" - -/* Version resources. */ - -resource 'vers' (1) { - 0, - 0, - 0, - 0, - verUs, - VERSION_STRING, - VERSION_STRING " (C) 1986-95 FSF, Inc." -}; - -resource 'vers' (2, purgeable) { - 0, - 0, - 0, - 0, - verUs, - VERSION_STRING, - "binutils " VERSION_STRING " for MPW" -}; - -#ifdef WANT_CFRG - -#include "CodeFragmentTypes.r" - -resource 'cfrg' (0) { - { - kPowerPC, - kFullLib, - kNoVersionNum, kNoVersionNum, - 0,0, - kIsApp, kOnDiskFlat, kZeroOffset, kWholeFork, - PROG_NAME - } -}; - -#endif /* WANT_CFRG */ diff -uprN binutils-2.15.90.0.1.1/binutils/mpw-config.in binutils-2.15.90.0.2/binutils/mpw-config.in --- binutils-2.15.90.0.1.1/binutils/mpw-config.in 1999-06-03 11:01:56.000000000 -0700 +++ binutils-2.15.90.0.2/binutils/mpw-config.in 1969-12-31 16:00:00.000000000 -0800 @@ -1,27 +0,0 @@ -# Configuration fragment for binutils. - -Set target_arch `echo {target_canonical} | sed -e 's/-.*-.*//'` - -# (should canonicalize arch name) */ - -Set archname ARCH_{target_arch} - -Set underscore 0 - -If "{target_canonical}" =~ /sh-hitachi-hms/ - Set underscore 1 -End If - -Echo '# From mpw-config.in' > "{o}"mk.tmp -Echo "ARCHDEFS = -d" {archname} >> "{o}"mk.tmp -Echo "UNDERSCORE = " {underscore} >> "{o}"mk.tmp -Echo "BUILD_NLMCONV = " >> "{o}"mk.tmp -Echo "BUILD_SRCONV = " >> "{o}"mk.tmp -Echo "SYSINFO_PROG = " >> "{o}"mk.tmp -Echo "BUILD_DLLTOOL = " >> "{o}"mk.tmp -Echo '# End from mpw-config.in' >> "{o}"mk.tmp - -Echo '/* config.h. Generated by mpw-configure. */' > "{o}"config.new -Echo '#include "mpw.h"' >> "{o}"config.new - -MoveIfChange "{o}"config.new "{o}"config.h diff -uprN binutils-2.15.90.0.1.1/binutils/mpw-make.sed binutils-2.15.90.0.2/binutils/mpw-make.sed --- binutils-2.15.90.0.1.1/binutils/mpw-make.sed 1999-06-03 11:01:56.000000000 -0700 +++ binutils-2.15.90.0.2/binutils/mpw-make.sed 1969-12-31 16:00:00.000000000 -0800 @@ -1,115 +0,0 @@ -# Sed commands to finish translating the binutils Unix makefile into MPW syntax. - -# Add a rule. -/^#### .*/a\ -\ -"{o}"underscore.c.o \\Option-f "{o}"underscore.c\ - -# Comment out any alias settings. -/^host_alias =/s/^/#/ -/^target_alias =/s/^/#/ - -# Whack out unused host define bits. -/HDEFINES/s/@HDEFINES@// - -# Don't build specialized tools. -/BUILD_NLMCONV/s/@BUILD_NLMCONV@// -/BUILD_SRCONV/s/@BUILD_SRCONV@// -/BUILD_DLLTOOL/s/@BUILD_DLLTOOL@// - -/UNDERSCORE/s/@UNDERSCORE@/{UNDERSCORE}/ - -# Don't need this. -/@HLDFLAGS@/s/@HLDFLAGS@// - -# Point at the libraries directly. -/@BFDLIB@/s/@BFDLIB@/::bfd:libbfd.o/ -/@OPCODES@/s/@OPCODES@/::opcodes:libopcodes.o/ - -# Whack out target makefile fragment. -/target_makefile_fragment/s/target_makefile_fragment@// - -# Fix and add to the include paths. -/^INCLUDES = .*$/s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/ -/BFDDIR/s/-i {BFDDIR} /-i "{BFDDIR}": / -/INCDIR/s/-i {INCDIR} /-i "{INCDIR}": / - -# Use byacc instead of bison (for now anyway). -/BISON/s/^BISON =.*$/BISON = byacc/ -#/BISONFLAGS/s/^BISONFLAGS =.*$/BISONFLAGS = / - -# Embed the version in symbolic doublequotes that will expand to -# the right thing for each compiler. -/VERSION/s/'"{VERSION}"'/{dq}{VERSION}{dq}/ - -# '+' is a special char to MPW, don't use it ever. -/c++filt/s/c++filt/cplusfilt/ - -# All of the binutils use the same Rez file, change names to refer to it. -/^{[A-Z]*_PROG}/s/$/ "{s}"mac-binutils.r/ -/{[A-Z]*_PROG}\.r/s/{[A-Z]*_PROG}\.r/mac-binutils.r/ - -# There are auto-generated references to BFD .h files that are not -# in the objdir (like bfd.h) but are in the source dir. -/::bfd:lib/s/::bfd:lib\([a-z]*\)\.h/{BFDDIR}:lib\1.h/g - -# Fix the locations of generated files. -/config/s/"{s}"config\.h/"{o}"config.h/g -/config/s/^config\.h/"{o}"config\.h/ -/underscore/s/"{s}"underscore\.c/"{o}"underscore.c/g -/underscore/s/^underscore\.c/"{o}"underscore\.c/ - -# Fix paths to generated source files. -/lex.yy.c/s/"{s}"lex\.yy\.c/"{o}"lex.yy.c/g -/lex.yy.c/s/^lex\.yy\.c/"{o}"lex.yy.c/ -/arlex.c/s/"{s}"arlex\.c/"{o}"arlex.c/g -/arlex.c/s/^arlex\.c/"{o}"arlex.c/ -/y.tab.c/s/"{s}"y\.tab\.c/"{o}"y.tab.c/g -/y.tab.c/s/^y\.tab\.c/"{o}"y.tab.c/ -/arparse.c/s/"{s}"arparse\.c/"{o}"arparse.c/g -/arparse.c/s/^arparse\.c/"{o}"arparse.c/ -/y.tab.h/s/"{s}"y\.tab\.h/"{o}"y.tab.h/g -/y.tab.h/s/^y\.tab\.h/"{o}"y.tab.h/ -/arparse.h/s/"{s}"arparse\.h/"{o}"arparse.h/g -/arparse.h/s/^arparse\.h/"{o}"arparse.h/ - -/"{s}"{INCDIR}/s/"{s}"{INCDIR}/"{INCDIR}"/g - -# The generated lexer may include an ifdef for older Mac compilers that -# needs to work with newer compilers also. -/lex.yy.c/s/Rename -y \([^ ]*\) \([^ ]*\)$/sed -e 's,ifdef macintosh,if defined(macintosh) || defined(__MWERKS__),' \1 > \2/ - -# Fix an over-eagerness. -/echo.*WARNING.*This file/s/'.*'/' '/ - -# Add a "stamps" target. -$a\ -stamps \\Option-f stamp-under\ - -/^install \\Option-f /,/^$/c\ -install \\Option-f all install-only\ -\ -install-only \\Option-f\ - NewFolderRecursive "{bindir}"\ - # Need to copy all the tools\ - For prog in {PROGS}\ - Set progname `echo {prog} | sed -e 's/.new//'`\ - Duplicate -y :{prog} "{bindir}"{progname}\ - End For\ - - -/true/s/ ; @true$// - -# dot files are trouble, remove them and their actions. -/^\.dep/,/^$/d - -# Remove un-useful targets. -/^Makefile \\Option-f/,/^$/d -/^"{o}"config.h \\Option-f/,/^$/d -/^config.status \\Option-f/,/^$/d - -# Don't try to make the demangler's man page, it's useless. -/^{DEMANGLER_PROG}\.1 \\Option-f/,/^$/d -# Don't depend on it either. -/{DEMANGLER_PROG}/s/ {DEMANGLER_PROG}\.1// - diff -uprN binutils-2.15.90.0.1.1/binutils/objdump.c binutils-2.15.90.0.2/binutils/objdump.c --- binutils-2.15.90.0.1.1/binutils/objdump.c 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/objdump.c 2004-04-12 12:56:34.000000000 -0700 @@ -1143,8 +1143,8 @@ show_line (bfd *abfd, asection *section, typedef struct { char *buffer; - size_t size; - char *current; + size_t pos; + size_t alloc; } SFILE; /* sprintf to a "stream". */ @@ -1152,39 +1152,25 @@ typedef struct static int objdump_sprintf (SFILE *f, const char *format, ...) { - char *buf; size_t n; va_list args; - va_start (args, format); - - vasprintf (&buf, format, args); - - if (buf == NULL) + while (1) { + size_t space = f->alloc - f->pos; + + va_start (args, format); + n = vsnprintf (f->buffer + f->pos, space, format, args); va_end (args); - fatal (_("Out of virtual memory")); - } - - n = strlen (buf); - while ((size_t) ((f->buffer + f->size) - f->current) < n + 1) - { - size_t curroff; - - curroff = f->current - f->buffer; - f->size *= 2; - f->buffer = xrealloc (f->buffer, f->size); - f->current = f->buffer + curroff; + if (space > n) + break; + + f->alloc = (f->alloc + n) * 2; + f->buffer = xrealloc (f->buffer, f->alloc); } - - memcpy (f->current, buf, n); - f->current += n; - f->current[0] = '\0'; - - free (buf); - - va_end (args); + f->pos += n; + return n; } @@ -1244,10 +1230,15 @@ disassemble_bytes (struct disassemble_in int skip_addr_chars; bfd_vma addr_offset; int opb = info->octets_per_byte; + SFILE sfile; aux = (struct objdump_disasm_info *) info->application_data; section = aux->sec; + sfile.alloc = 120; + sfile.buffer = xmalloc (sfile.alloc); + sfile.pos = 0; + if (insns) octets_per_line = 4; else @@ -1312,7 +1303,6 @@ disassemble_bytes (struct disassemble_in else { char buf[50]; - SFILE sfile; int bpc = 0; int pb = 0; @@ -1345,9 +1335,7 @@ disassemble_bytes (struct disassemble_in if (insns) { - sfile.size = 120; - sfile.buffer = xmalloc (sfile.size); - sfile.current = sfile.buffer; + sfile.pos = 0; info->fprintf_func = (fprintf_ftype) objdump_sprintf; info->stream = (FILE *) &sfile; info->bytes_per_line = 0; @@ -1372,9 +1360,8 @@ disassemble_bytes (struct disassemble_in octets_per_line = info->bytes_per_line; if (octets < 0) { - if (sfile.current != sfile.buffer) + if (sfile.pos) printf ("%s\n", sfile.buffer); - free (sfile.buffer); break; } } @@ -1448,11 +1435,8 @@ disassemble_bytes (struct disassemble_in if (! insns) printf ("%s", buf); - else - { - printf ("%s", sfile.buffer); - free (sfile.buffer); - } + else if (sfile.pos) + printf ("%s", sfile.buffer); if (prefix_addresses ? show_raw_insn > 0 @@ -1559,6 +1543,8 @@ disassemble_bytes (struct disassemble_in addr_offset += octets / opb; } + + free (sfile.buffer); } static void diff -uprN binutils-2.15.90.0.1.1/binutils/po/binutils.pot binutils-2.15.90.0.2/binutils/po/binutils.pot --- binutils-2.15.90.0.1.1/binutils/po/binutils.pot 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/po/binutils.pot 2004-04-12 12:56:34.000000000 -0700 @@ -7,7 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2003-07-11 13:56+0930\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-03-19 15:01+1030\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,22 +16,25 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: addr2line.c:74 +#: addr2line.c:73 #, c-format msgid "Usage: %s [option(s)] [addr(s)]\n" msgstr "" -#: addr2line.c:75 +#: addr2line.c:74 +#, c-format msgid " Convert addresses into line number/file name pairs.\n" msgstr "" -#: addr2line.c:76 +#: addr2line.c:75 +#, c-format msgid "" " If no addresses are specified on the command line, they will be read from " "stdin\n" msgstr "" -#: addr2line.c:77 +#: addr2line.c:76 +#, c-format msgid "" " The options are:\n" " -b --target= Set the binary file format\n" @@ -43,344 +47,387 @@ msgid "" "\n" msgstr "" -#: addr2line.c:89 ar.c:297 coffdump.c:479 nlmconv.c:1121 objcopy.c:484 -#: objcopy.c:518 readelf.c:2649 size.c:104 srconv.c:1962 strings.c:673 -#: sysdump.c:774 windres.c:702 +#: addr2line.c:88 ar.c:268 coffdump.c:467 nlmconv.c:1108 objcopy.c:466 +#: objcopy.c:500 readelf.c:2426 size.c:102 srconv.c:1866 strings.c:649 +#: sysdump.c:747 windres.c:668 #, c-format msgid "Report bugs to %s\n" msgstr "" -#: addr2line.c:245 +#: addr2line.c:241 #, c-format msgid "%s: can not get addresses from archive" msgstr "" -#: addr2line.c:317 nm.c:433 objdump.c:2693 +#: addr2line.c:311 nm.c:393 objdump.c:2752 #, c-format msgid "unknown demangling style `%s'" msgstr "" -#: ar.c:238 +#: ar.c:210 #, c-format msgid "no entry %s in archive\n" msgstr "" -#: ar.c:255 +#: ar.c:226 #, c-format msgid "" "Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] " "[count] archive-file file...\n" msgstr "" -#: ar.c:258 +#: ar.c:229 #, c-format msgid " %s -M [\n" +"<%s>\n" "\n" msgstr "" -#: ar.c:857 ar.c:925 +#: ar.c:840 ar.c:907 #, c-format msgid "%s is not a valid archive" msgstr "" -#: ar.c:893 +#: ar.c:875 #, c-format msgid "stat returns negative size for %s" msgstr "" -#: ar.c:1020 +#: ar.c:1000 #, c-format msgid "%s is not an archive" msgstr "" -#: ar.c:1027 -#, c-format -msgid "creating %s" -msgstr "" - -#: ar.c:1233 +#: ar.c:1207 #, c-format msgid "No member named `%s'\n" msgstr "" -#: ar.c:1285 +#: ar.c:1257 #, c-format msgid "no entry %s in archive %s!" msgstr "" -#: ar.c:1422 +#: ar.c:1395 #, c-format msgid "%s: no archive map to update" msgstr "" -#: arsup.c:86 +#: arsup.c:83 #, c-format msgid "No entry %s in archive.\n" msgstr "" -#: arsup.c:117 +#: arsup.c:109 #, c-format msgid "Can't open file %s\n" msgstr "" -#: arsup.c:172 +#: arsup.c:162 #, c-format msgid "%s: Can't open output archive %s\n" msgstr "" -#: arsup.c:189 +#: arsup.c:179 #, c-format msgid "%s: Can't open input archive %s\n" msgstr "" -#: arsup.c:198 +#: arsup.c:188 #, c-format msgid "%s: file %s is not an archive\n" msgstr "" -#: arsup.c:241 +#: arsup.c:227 #, c-format msgid "%s: no output archive specified yet\n" msgstr "" -#: arsup.c:262 arsup.c:301 arsup.c:343 arsup.c:364 arsup.c:430 +#: arsup.c:247 arsup.c:285 arsup.c:327 arsup.c:347 arsup.c:413 #, c-format msgid "%s: no open output archive\n" msgstr "" -#: arsup.c:273 arsup.c:385 arsup.c:411 +#: arsup.c:258 arsup.c:368 arsup.c:394 #, c-format msgid "%s: can't open file %s\n" msgstr "" -#: arsup.c:328 arsup.c:407 arsup.c:489 +#: arsup.c:312 arsup.c:390 arsup.c:471 #, c-format msgid "%s: can't find module file %s\n" msgstr "" -#: arsup.c:439 +#: arsup.c:422 #, c-format msgid "Current open archive is %s\n" msgstr "" -#: arsup.c:464 +#: arsup.c:446 #, c-format msgid "%s: no open archive\n" msgstr "" -#: binemul.c:39 +#: binemul.c:37 #, c-format msgid " No emulation specific options\n" msgstr "" #. Macros for common output. -#: binemul.h:52 +#: binemul.h:42 #, c-format msgid " emulation options: \n" msgstr "" -#: bucomm.c:113 +#: bucomm.c:109 #, c-format msgid "can't set BFD default target to `%s': %s" msgstr "" -#: bucomm.c:125 +#: bucomm.c:120 #, c-format msgid "%s: Matching formats:" msgstr "" -#: bucomm.c:142 +#: bucomm.c:135 +#, c-format msgid "Supported targets:" msgstr "" -#: bucomm.c:144 +#: bucomm.c:137 #, c-format msgid "%s: supported targets:" msgstr "" -#: bucomm.c:162 +#: bucomm.c:153 +#, c-format msgid "Supported architectures:" msgstr "" -#: bucomm.c:164 +#: bucomm.c:155 #, c-format msgid "%s: supported architectures:" msgstr "" -#: bucomm.c:360 +#: bucomm.c:348 #, c-format msgid "BFD header file version %s\n" msgstr "" -#: bucomm.c:467 +#: bucomm.c:449 #, c-format msgid "%s: bad number: %s" msgstr "" -#: coffdump.c:107 +#: bucomm.c:466 +#, c-format +msgid "'%s': No such file" +msgstr "" + +#: bucomm.c:468 +#, c-format +msgid "Warning: could not locate '%s'. reason: %s" +msgstr "" + +#: bucomm.c:472 +#, c-format +msgid "Warning: '%s' is not an ordinary file" +msgstr "" + +#: coffdump.c:105 #, c-format msgid "#lines %d " msgstr "" -#: coffdump.c:471 sysdump.c:767 +#: coffdump.c:459 sysdump.c:740 #, c-format msgid "Usage: %s [option(s)] in-file\n" msgstr "" -#: coffdump.c:472 +#: coffdump.c:460 +#, c-format msgid " Print a human readable interpretation of a SYSROFF object file\n" msgstr "" -#: coffdump.c:473 +#: coffdump.c:461 +#, c-format msgid "" " The options are:\n" " -h --help Display this information\n" @@ -388,996 +435,1069 @@ msgid "" "\n" msgstr "" -#: coffdump.c:541 srconv.c:2052 sysdump.c:831 +#: coffdump.c:527 srconv.c:1954 sysdump.c:802 msgid "no input file specified" msgstr "" -#: debug.c:654 +#: debug.c:647 msgid "debug_add_to_current_namespace: no current file" msgstr "" -#: debug.c:737 +#: debug.c:726 msgid "debug_start_source: no debug_set_filename call" msgstr "" -#: debug.c:796 +#: debug.c:782 msgid "debug_record_function: no debug_set_filename call" msgstr "" -#: debug.c:852 +#: debug.c:834 msgid "debug_record_parameter: no current function" msgstr "" -#: debug.c:886 +#: debug.c:866 msgid "debug_end_function: no current function" msgstr "" -#: debug.c:892 +#: debug.c:872 msgid "debug_end_function: some blocks were not closed" msgstr "" -#: debug.c:922 +#: debug.c:900 msgid "debug_start_block: no current block" msgstr "" -#: debug.c:960 +#: debug.c:936 msgid "debug_end_block: no current block" msgstr "" -#: debug.c:967 +#: debug.c:943 msgid "debug_end_block: attempt to close top level block" msgstr "" -#: debug.c:993 +#: debug.c:966 msgid "debug_record_line: no current unit" msgstr "" #. FIXME -#: debug.c:1047 +#: debug.c:1019 msgid "debug_start_common_block: not implemented" msgstr "" #. FIXME -#: debug.c:1059 +#: debug.c:1030 msgid "debug_end_common_block: not implemented" msgstr "" #. FIXME. -#: debug.c:1153 +#: debug.c:1114 msgid "debug_record_label: not implemented" msgstr "" -#: debug.c:1179 +#: debug.c:1136 msgid "debug_record_variable: no current file" msgstr "" -#: debug.c:1762 +#: debug.c:1664 msgid "debug_make_undefined_type: unsupported kind" msgstr "" -#: debug.c:1963 +#: debug.c:1841 msgid "debug_name_type: no current file" msgstr "" -#: debug.c:2011 +#: debug.c:1886 msgid "debug_tag_type: no current file" msgstr "" -#: debug.c:2019 +#: debug.c:1894 msgid "debug_tag_type: extra tag attempted" msgstr "" -#: debug.c:2058 +#: debug.c:1931 #, c-format msgid "Warning: changing type size from %d to %d\n" msgstr "" -#: debug.c:2082 +#: debug.c:1953 msgid "debug_find_named_type: no current compilation unit" msgstr "" -#: debug.c:2189 +#: debug.c:2056 #, c-format msgid "debug_get_real_type: circular debug information for %s\n" msgstr "" -#: debug.c:2650 +#: debug.c:2483 msgid "debug_write_type: illegal type encountered" msgstr "" -#: dlltool.c:812 dlltool.c:837 dlltool.c:863 +#: dlltool.c:767 dlltool.c:791 dlltool.c:816 #, c-format msgid "Internal error: Unknown machine type: %d" msgstr "" -#: dlltool.c:900 +#: dlltool.c:852 #, c-format msgid "Can't open def file: %s" msgstr "" -#: dlltool.c:905 +#: dlltool.c:857 #, c-format msgid "Processing def file: %s" msgstr "" -#: dlltool.c:909 +#: dlltool.c:861 msgid "Processed def file" msgstr "" -#: dlltool.c:935 +#: dlltool.c:886 #, c-format msgid "Syntax error in def file %s:%d" msgstr "" -#: dlltool.c:974 +#: dlltool.c:919 #, c-format msgid "NAME: %s base: %x" msgstr "" -#: dlltool.c:977 dlltool.c:996 +#: dlltool.c:922 dlltool.c:939 msgid "Can't have LIBRARY and NAME" msgstr "" -#: dlltool.c:993 +#: dlltool.c:936 #, c-format msgid "LIBRARY: %s base: %x" msgstr "" -#: dlltool.c:1251 resrc.c:271 +#: dlltool.c:1173 resrc.c:268 #, c-format msgid "wait: %s" msgstr "" -#: dlltool.c:1256 dllwrap.c:430 resrc.c:276 +#: dlltool.c:1178 dllwrap.c:421 resrc.c:273 #, c-format msgid "subprocess got fatal signal %d" msgstr "" -#: dlltool.c:1262 dllwrap.c:437 resrc.c:283 +#: dlltool.c:1184 dllwrap.c:428 resrc.c:280 #, c-format msgid "%s exited with status %d" msgstr "" -#: dlltool.c:1294 +#: dlltool.c:1215 #, c-format msgid "Sucking in info from %s section in %s" msgstr "" -#: dlltool.c:1423 +#: dlltool.c:1340 #, c-format msgid "Excluding symbol: %s" msgstr "" -#: dlltool.c:1518 dlltool.c:1529 nm.c:1004 nm.c:1015 +#: dlltool.c:1429 dlltool.c:1440 nm.c:946 nm.c:957 #, c-format msgid "%s: no symbols" msgstr "" #. FIXME: we ought to read in and block out the base relocations. -#: dlltool.c:1556 +#: dlltool.c:1466 #, c-format msgid "Done reading %s" msgstr "" -#: dlltool.c:1567 +#: dlltool.c:1476 #, c-format msgid "Unable to open object file: %s" msgstr "" -#: dlltool.c:1570 +#: dlltool.c:1479 #, c-format msgid "Scanning object file %s" msgstr "" -#: dlltool.c:1585 +#: dlltool.c:1494 #, c-format msgid "Cannot produce mcore-elf dll from archive file: %s" msgstr "" -#: dlltool.c:1677 +#: dlltool.c:1580 msgid "Adding exports to output file" msgstr "" -#: dlltool.c:1724 +#: dlltool.c:1628 msgid "Added exports to output file" msgstr "" -#: dlltool.c:1848 +#: dlltool.c:1749 #, c-format msgid "Generating export file: %s" msgstr "" -#: dlltool.c:1853 +#: dlltool.c:1754 #, c-format msgid "Unable to open temporary assembler file: %s" msgstr "" -#: dlltool.c:1856 +#: dlltool.c:1757 #, c-format msgid "Opened temporary file: %s" msgstr "" -#: dlltool.c:2086 +#: dlltool.c:1987 msgid "Generated exports file" msgstr "" -#: dlltool.c:2378 +#: dlltool.c:2270 #, c-format msgid "bfd_open failed open stub file: %s" msgstr "" -#: dlltool.c:2381 +#: dlltool.c:2273 #, c-format msgid "Creating stub file: %s" msgstr "" -#: dlltool.c:2766 +#: dlltool.c:2658 #, c-format msgid "failed to open temporary head file: %s" msgstr "" -#: dlltool.c:2825 +#: dlltool.c:2717 #, c-format msgid "failed to open temporary tail file: %s" msgstr "" -#: dlltool.c:2892 +#: dlltool.c:2784 #, c-format msgid "Can't open .lib file: %s" msgstr "" -#: dlltool.c:2895 +#: dlltool.c:2787 #, c-format msgid "Creating library file: %s" msgstr "" -#: dlltool.c:2951 +#: dlltool.c:2850 #, c-format msgid "cannot delete %s: %s" msgstr "" -#: dlltool.c:2955 +#: dlltool.c:2854 msgid "Created lib file" msgstr "" -#: dlltool.c:3062 +#: dlltool.c:2947 #, c-format msgid "Warning, ignoring duplicate EXPORT %s %d,%d" msgstr "" -#: dlltool.c:3068 +#: dlltool.c:2953 #, c-format msgid "Error, duplicate EXPORT with oridinals: %s" msgstr "" -#: dlltool.c:3191 +#: dlltool.c:3069 msgid "Processing definitions" msgstr "" -#: dlltool.c:3223 +#: dlltool.c:3101 msgid "Processed definitions" msgstr "" #. xgetext:c-format -#: dlltool.c:3234 dllwrap.c:495 +#: dlltool.c:3108 dllwrap.c:482 #, c-format msgid "Usage %s \n" msgstr "" #. xgetext:c-format -#: dlltool.c:3236 +#: dlltool.c:3110 #, c-format msgid "" " -m --machine Create as DLL for . [default: %s]\n" msgstr "" -#: dlltool.c:3237 +#: dlltool.c:3111 +#, c-format msgid "" " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, " "ppc, thumb\n" msgstr "" -#: dlltool.c:3238 +#: dlltool.c:3112 +#, c-format msgid " -e --output-exp Generate an export file.\n" msgstr "" -#: dlltool.c:3239 +#: dlltool.c:3113 +#, c-format msgid " -l --output-lib Generate an interface library.\n" msgstr "" -#: dlltool.c:3240 +#: dlltool.c:3114 +#, c-format msgid " -a --add-indirect Add dll indirects to export file.\n" msgstr "" -#: dlltool.c:3241 +#: dlltool.c:3115 +#, c-format msgid "" " -D --dllname Name of input dll to put into interface lib.\n" msgstr "" -#: dlltool.c:3242 +#: dlltool.c:3116 +#, c-format msgid " -d --input-def Name of .def file to be read in.\n" msgstr "" -#: dlltool.c:3243 +#: dlltool.c:3117 +#, c-format msgid " -z --output-def Name of .def file to be created.\n" msgstr "" -#: dlltool.c:3244 +#: dlltool.c:3118 +#, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr "" -#: dlltool.c:3245 +#: dlltool.c:3119 +#, c-format msgid " --no-export-all-symbols Only export listed symbols\n" msgstr "" -#: dlltool.c:3246 +#: dlltool.c:3120 +#, c-format msgid " --exclude-symbols Don't export \n" msgstr "" -#: dlltool.c:3247 +#: dlltool.c:3121 +#, c-format msgid " --no-default-excludes Clear default exclude symbols\n" msgstr "" -#: dlltool.c:3248 +#: dlltool.c:3122 +#, c-format msgid " -b --base-file Read linker generated base file.\n" msgstr "" -#: dlltool.c:3249 +#: dlltool.c:3123 +#, c-format msgid " -x --no-idata4 Don't generate idata$4 section.\n" msgstr "" -#: dlltool.c:3250 +#: dlltool.c:3124 +#, c-format msgid " -c --no-idata5 Don't generate idata$5 section.\n" msgstr "" -#: dlltool.c:3251 +#: dlltool.c:3125 +#, c-format msgid "" " -U --add-underscore Add underscores to symbols in interface " "library.\n" msgstr "" -#: dlltool.c:3252 +#: dlltool.c:3126 +#, c-format msgid " -k --kill-at Kill @ from exported names.\n" msgstr "" -#: dlltool.c:3253 +#: dlltool.c:3127 +#, c-format msgid " -A --add-stdcall-alias Add aliases without @.\n" msgstr "" -#: dlltool.c:3254 +#: dlltool.c:3128 +#, c-format msgid " -S --as Use for assembler.\n" msgstr "" -#: dlltool.c:3255 +#: dlltool.c:3129 +#, c-format msgid " -f --as-flags Pass to the assembler.\n" msgstr "" -#: dlltool.c:3256 +#: dlltool.c:3130 +#, c-format msgid "" " -C --compat-implib Create backward compatible import library.\n" msgstr "" -#: dlltool.c:3257 +#: dlltool.c:3131 +#, c-format msgid "" " -n --no-delete Keep temp files (repeat for extra " "preservation).\n" msgstr "" -#: dlltool.c:3258 +#: dlltool.c:3132 +#, c-format +msgid "" +" -t --temp-prefix Use to construct temp file names.\n" +msgstr "" + +#: dlltool.c:3133 +#, c-format msgid " -v --verbose Be verbose.\n" msgstr "" -#: dlltool.c:3259 +#: dlltool.c:3134 +#, c-format msgid " -V --version Display the program version.\n" msgstr "" -#: dlltool.c:3260 +#: dlltool.c:3135 +#, c-format msgid " -h --help Display this information.\n" msgstr "" -#: dlltool.c:3262 +#: dlltool.c:3137 +#, c-format msgid "" " -M --mcore-elf Process mcore-elf object files into .\n" msgstr "" -#: dlltool.c:3263 +#: dlltool.c:3138 +#, c-format msgid " -L --linker Use as the linker.\n" msgstr "" -#: dlltool.c:3264 +#: dlltool.c:3139 +#, c-format msgid " -F --linker-flags Pass to the linker.\n" msgstr "" -#: dlltool.c:3418 +#: dlltool.c:3291 #, c-format msgid "Unable to open base-file: %s" msgstr "" -#: dlltool.c:3450 +#: dlltool.c:3323 #, c-format msgid "Machine '%s' not supported" msgstr "" -#: dlltool.c:3553 dllwrap.c:214 +#: dlltool.c:3423 dllwrap.c:209 #, c-format msgid "Tried file: %s" msgstr "" -#: dlltool.c:3560 dllwrap.c:221 +#: dlltool.c:3430 dllwrap.c:216 #, c-format msgid "Using file: %s" msgstr "" -#: dllwrap.c:308 +#: dllwrap.c:302 #, c-format msgid "Keeping temporary base file %s" msgstr "" -#: dllwrap.c:310 +#: dllwrap.c:304 #, c-format msgid "Deleting temporary base file %s" msgstr "" -#: dllwrap.c:324 +#: dllwrap.c:318 #, c-format msgid "Keeping temporary exp file %s" msgstr "" -#: dllwrap.c:326 +#: dllwrap.c:320 #, c-format msgid "Deleting temporary exp file %s" msgstr "" -#: dllwrap.c:339 +#: dllwrap.c:333 #, c-format msgid "Keeping temporary def file %s" msgstr "" -#: dllwrap.c:341 +#: dllwrap.c:335 #, c-format msgid "Deleting temporary def file %s" msgstr "" -#: dllwrap.c:496 +#: dllwrap.c:483 +#, c-format msgid " Generic options:\n" msgstr "" -#: dllwrap.c:497 +#: dllwrap.c:484 +#, c-format msgid " --quiet, -q Work quietly\n" msgstr "" -#: dllwrap.c:498 +#: dllwrap.c:485 +#, c-format msgid " --verbose, -v Verbose\n" msgstr "" -#: dllwrap.c:499 +#: dllwrap.c:486 +#, c-format msgid " --version Print dllwrap version\n" msgstr "" -#: dllwrap.c:500 +#: dllwrap.c:487 +#, c-format msgid " --implib Synonym for --output-lib\n" msgstr "" -#: dllwrap.c:501 +#: dllwrap.c:488 #, c-format msgid " Options for %s:\n" msgstr "" -#: dllwrap.c:502 +#: dllwrap.c:489 +#, c-format msgid " --driver-name Defaults to \"gcc\"\n" msgstr "" -#: dllwrap.c:503 +#: dllwrap.c:490 +#, c-format msgid " --driver-flags Override default ld flags\n" msgstr "" -#: dllwrap.c:504 +#: dllwrap.c:491 +#, c-format msgid " --dlltool-name Defaults to \"dlltool\"\n" msgstr "" -#: dllwrap.c:505 +#: dllwrap.c:492 +#, c-format msgid " --entry Specify alternate DLL entry point\n" msgstr "" -#: dllwrap.c:506 +#: dllwrap.c:493 +#, c-format msgid " --image-base Specify image base address\n" msgstr "" -#: dllwrap.c:507 +#: dllwrap.c:494 +#, c-format msgid " --target i386-cygwin32 or i386-mingw32\n" msgstr "" -#: dllwrap.c:508 +#: dllwrap.c:495 +#, c-format msgid " --dry-run Show what needs to be run\n" msgstr "" -#: dllwrap.c:509 +#: dllwrap.c:496 +#, c-format msgid " --mno-cygwin Create Mingw DLL\n" msgstr "" -#: dllwrap.c:510 +#: dllwrap.c:497 +#, c-format msgid " Options passed to DLLTOOL:\n" msgstr "" -#: dllwrap.c:511 +#: dllwrap.c:498 +#, c-format msgid " --machine \n" msgstr "" -#: dllwrap.c:512 +#: dllwrap.c:499 +#, c-format msgid " --output-exp Generate export file.\n" msgstr "" -#: dllwrap.c:513 +#: dllwrap.c:500 +#, c-format msgid " --output-lib Generate input library.\n" msgstr "" -#: dllwrap.c:514 +#: dllwrap.c:501 +#, c-format msgid " --add-indirect Add dll indirects to export file.\n" msgstr "" -#: dllwrap.c:515 +#: dllwrap.c:502 +#, c-format msgid " --dllname Name of input dll to put into output lib.\n" msgstr "" -#: dllwrap.c:516 +#: dllwrap.c:503 +#, c-format msgid " --def Name input .def file\n" msgstr "" -#: dllwrap.c:517 +#: dllwrap.c:504 +#, c-format msgid " --output-def Name output .def file\n" msgstr "" -#: dllwrap.c:518 +#: dllwrap.c:505 +#, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr "" -#: dllwrap.c:519 +#: dllwrap.c:506 +#, c-format msgid " --no-export-all-symbols Only export .drectve symbols\n" msgstr "" -#: dllwrap.c:520 +#: dllwrap.c:507 +#, c-format msgid " --exclude-symbols Exclude from .def\n" msgstr "" -#: dllwrap.c:521 +#: dllwrap.c:508 +#, c-format msgid " --no-default-excludes Zap default exclude symbols\n" msgstr "" -#: dllwrap.c:522 +#: dllwrap.c:509 +#, c-format msgid " --base-file Read linker generated base file\n" msgstr "" -#: dllwrap.c:523 +#: dllwrap.c:510 +#, c-format msgid " --no-idata4 Don't generate idata$4 section\n" msgstr "" -#: dllwrap.c:524 +#: dllwrap.c:511 +#, c-format msgid " --no-idata5 Don't generate idata$5 section\n" msgstr "" -#: dllwrap.c:525 +#: dllwrap.c:512 +#, c-format msgid " -U Add underscores to .lib\n" msgstr "" -#: dllwrap.c:526 +#: dllwrap.c:513 +#, c-format msgid " -k Kill @ from exported names\n" msgstr "" -#: dllwrap.c:527 +#: dllwrap.c:514 +#, c-format msgid " --add-stdcall-alias Add aliases without @\n" msgstr "" -#: dllwrap.c:528 +#: dllwrap.c:515 +#, c-format msgid " --as Use for assembler\n" msgstr "" -#: dllwrap.c:529 +#: dllwrap.c:516 +#, c-format msgid " --nodelete Keep temp files.\n" msgstr "" -#: dllwrap.c:530 +#: dllwrap.c:517 +#, c-format msgid " Rest are passed unmodified to the language driver\n" msgstr "" -#: dllwrap.c:802 +#: dllwrap.c:787 msgid "Must provide at least one of -o or --dllname options" msgstr "" -#: dllwrap.c:830 +#: dllwrap.c:815 msgid "" "no export definition file provided.\n" "Creating one, but that may not be what you want" msgstr "" -#: dllwrap.c:992 +#: dllwrap.c:977 #, c-format msgid "DLLTOOL name : %s\n" msgstr "" -#: dllwrap.c:993 +#: dllwrap.c:978 #, c-format msgid "DLLTOOL options : %s\n" msgstr "" -#: dllwrap.c:994 +#: dllwrap.c:979 #, c-format msgid "DRIVER name : %s\n" msgstr "" -#: dllwrap.c:995 +#: dllwrap.c:980 #, c-format msgid "DRIVER options : %s\n" msgstr "" -#: emul_aix.c:58 +#: emul_aix.c:51 #, c-format msgid " [-g] - 32 bit small archive\n" msgstr "" -#: emul_aix.c:59 +#: emul_aix.c:52 +#, c-format msgid " [-X32] - ignores 64 bit objects\n" msgstr "" -#: emul_aix.c:60 +#: emul_aix.c:53 +#, c-format msgid " [-X64] - ignores 32 bit objects\n" msgstr "" -#: emul_aix.c:61 +#: emul_aix.c:54 +#, c-format msgid " [-X32_64] - accepts 32 and 64 bit objects\n" msgstr "" -#: ieee.c:326 +#: ieee.c:310 msgid "unexpected end of debugging information" msgstr "" -#: ieee.c:421 +#: ieee.c:397 msgid "invalid number" msgstr "" -#: ieee.c:480 +#: ieee.c:450 msgid "invalid string length" msgstr "" -#: ieee.c:537 ieee.c:578 +#: ieee.c:505 ieee.c:546 msgid "expression stack overflow" msgstr "" -#: ieee.c:557 +#: ieee.c:525 msgid "unsupported IEEE expression operator" msgstr "" -#: ieee.c:572 +#: ieee.c:540 msgid "unknown section" msgstr "" -#: ieee.c:593 +#: ieee.c:561 msgid "expression stack underflow" msgstr "" -#: ieee.c:607 +#: ieee.c:575 msgid "expression stack mismatch" msgstr "" -#: ieee.c:646 +#: ieee.c:612 msgid "unknown builtin type" msgstr "" -#: ieee.c:791 +#: ieee.c:757 msgid "BCD float type not supported" msgstr "" -#: ieee.c:937 +#: ieee.c:894 msgid "unexpected number" msgstr "" -#: ieee.c:944 +#: ieee.c:901 msgid "unexpected record type" msgstr "" -#: ieee.c:977 +#: ieee.c:934 msgid "blocks left on stack at end" msgstr "" -#: ieee.c:1242 +#: ieee.c:1197 msgid "unknown BB type" msgstr "" -#: ieee.c:1251 +#: ieee.c:1206 msgid "stack overflow" msgstr "" -#: ieee.c:1276 +#: ieee.c:1229 msgid "stack underflow" msgstr "" -#: ieee.c:1390 ieee.c:1462 ieee.c:2161 +#: ieee.c:1341 ieee.c:1411 ieee.c:2108 msgid "illegal variable index" msgstr "" -#: ieee.c:1440 +#: ieee.c:1389 msgid "illegal type index" msgstr "" -#: ieee.c:1450 ieee.c:1487 +#: ieee.c:1399 ieee.c:1436 msgid "unknown TY code" msgstr "" -#: ieee.c:1469 +#: ieee.c:1418 msgid "undefined variable in TY" msgstr "" #. Pascal file name. FIXME. -#: ieee.c:1880 +#: ieee.c:1829 msgid "Pascal file name not supported" msgstr "" -#: ieee.c:1928 +#: ieee.c:1877 msgid "unsupported qualifier" msgstr "" -#: ieee.c:2199 +#: ieee.c:2146 msgid "undefined variable in ATN" msgstr "" -#: ieee.c:2242 +#: ieee.c:2189 msgid "unknown ATN type" msgstr "" #. Reserved for FORTRAN common. -#: ieee.c:2364 +#: ieee.c:2311 msgid "unsupported ATN11" msgstr "" #. We have no way to record this information. FIXME. -#: ieee.c:2391 +#: ieee.c:2338 msgid "unsupported ATN12" msgstr "" -#: ieee.c:2451 +#: ieee.c:2398 msgid "unexpected string in C++ misc" msgstr "" -#: ieee.c:2464 +#: ieee.c:2411 msgid "bad misc record" msgstr "" -#: ieee.c:2507 +#: ieee.c:2452 msgid "unrecognized C++ misc record" msgstr "" -#: ieee.c:2624 +#: ieee.c:2567 msgid "undefined C++ object" msgstr "" -#: ieee.c:2658 +#: ieee.c:2601 msgid "unrecognized C++ object spec" msgstr "" -#: ieee.c:2694 +#: ieee.c:2637 msgid "unsupported C++ object type" msgstr "" -#: ieee.c:2704 +#: ieee.c:2647 msgid "C++ base class not defined" msgstr "" -#: ieee.c:2716 ieee.c:2821 +#: ieee.c:2659 ieee.c:2764 msgid "C++ object has no fields" msgstr "" -#: ieee.c:2735 +#: ieee.c:2678 msgid "C++ base class not found in container" msgstr "" -#: ieee.c:2842 +#: ieee.c:2785 msgid "C++ data member not found in container" msgstr "" -#: ieee.c:2883 ieee.c:3033 +#: ieee.c:2826 ieee.c:2976 msgid "unknown C++ visibility" msgstr "" -#: ieee.c:2917 +#: ieee.c:2860 msgid "bad C++ field bit pos or size" msgstr "" -#: ieee.c:3009 +#: ieee.c:2952 msgid "bad type for C++ method function" msgstr "" -#: ieee.c:3019 +#: ieee.c:2962 msgid "no type information for C++ method function" msgstr "" -#: ieee.c:3058 +#: ieee.c:3001 msgid "C++ static virtual method" msgstr "" -#: ieee.c:3153 +#: ieee.c:3096 msgid "unrecognized C++ object overhead spec" msgstr "" -#: ieee.c:3192 +#: ieee.c:3135 msgid "undefined C++ vtable" msgstr "" -#: ieee.c:3263 +#: ieee.c:3204 msgid "C++ default values not in a function" msgstr "" -#: ieee.c:3303 +#: ieee.c:3244 msgid "unrecognized C++ default type" msgstr "" -#: ieee.c:3334 +#: ieee.c:3275 msgid "reference parameter is not a pointer" msgstr "" -#: ieee.c:3419 +#: ieee.c:3358 msgid "unrecognized C++ reference type" msgstr "" -#: ieee.c:3501 +#: ieee.c:3440 msgid "C++ reference not found" msgstr "" -#: ieee.c:3509 +#: ieee.c:3448 msgid "C++ reference is not pointer" msgstr "" -#: ieee.c:3538 ieee.c:3546 +#: ieee.c:3474 ieee.c:3482 msgid "missing required ASN" msgstr "" -#: ieee.c:3576 ieee.c:3584 +#: ieee.c:3509 ieee.c:3517 msgid "missing required ATN65" msgstr "" -#: ieee.c:3598 +#: ieee.c:3531 msgid "bad ATN65 record" msgstr "" -#: ieee.c:4286 +#: ieee.c:4159 +#, c-format msgid "IEEE numeric overflow: 0x" msgstr "" -#: ieee.c:4332 +#: ieee.c:4203 #, c-format msgid "IEEE string length overflow: %u\n" msgstr "" -#: ieee.c:5382 +#: ieee.c:5202 #, c-format msgid "IEEE unsupported integer type size %u\n" msgstr "" -#: ieee.c:5418 +#: ieee.c:5236 #, c-format msgid "IEEE unsupported float type size %u\n" msgstr "" -#: ieee.c:5454 +#: ieee.c:5270 #, c-format msgid "IEEE unsupported complex type size %u\n" msgstr "" -#: nlmconv.c:282 srconv.c:2043 +#: nlmconv.c:271 srconv.c:1945 msgid "input and output files must be different" msgstr "" -#: nlmconv.c:329 +#: nlmconv.c:318 msgid "input file named both on command line and with INPUT" msgstr "" -#: nlmconv.c:338 +#: nlmconv.c:327 msgid "no input file" msgstr "" -#: nlmconv.c:368 +#: nlmconv.c:357 msgid "no name for output file" msgstr "" -#: nlmconv.c:382 +#: nlmconv.c:371 msgid "warning: input and output formats are not compatible" msgstr "" -#: nlmconv.c:411 +#: nlmconv.c:400 msgid "make .bss section" msgstr "" -#: nlmconv.c:420 +#: nlmconv.c:409 msgid "make .nlmsections section" msgstr "" -#: nlmconv.c:422 +#: nlmconv.c:411 msgid "set .nlmsections flags" msgstr "" -#: nlmconv.c:450 +#: nlmconv.c:439 msgid "set .bss vma" msgstr "" -#: nlmconv.c:457 +#: nlmconv.c:446 msgid "set .data size" msgstr "" -#: nlmconv.c:637 +#: nlmconv.c:626 #, c-format msgid "warning: symbol %s imported but not in import list" msgstr "" -#: nlmconv.c:657 +#: nlmconv.c:646 msgid "set start address" msgstr "" -#: nlmconv.c:706 +#: nlmconv.c:695 #, c-format msgid "warning: START procedure %s not defined" msgstr "" -#: nlmconv.c:708 +#: nlmconv.c:697 #, c-format msgid "warning: EXIT procedure %s not defined" msgstr "" -#: nlmconv.c:710 +#: nlmconv.c:699 #, c-format msgid "warning: CHECK procedure %s not defined" msgstr "" -#: nlmconv.c:731 nlmconv.c:920 +#: nlmconv.c:720 nlmconv.c:909 msgid "custom section" msgstr "" -#: nlmconv.c:752 nlmconv.c:949 +#: nlmconv.c:741 nlmconv.c:938 msgid "help section" msgstr "" -#: nlmconv.c:774 nlmconv.c:967 +#: nlmconv.c:763 nlmconv.c:956 msgid "message section" msgstr "" -#: nlmconv.c:790 nlmconv.c:1000 +#: nlmconv.c:779 nlmconv.c:989 msgid "module section" msgstr "" -#: nlmconv.c:810 nlmconv.c:1016 +#: nlmconv.c:799 nlmconv.c:1005 msgid "rpc section" msgstr "" #. There is no place to record this information. -#: nlmconv.c:846 +#: nlmconv.c:835 #, c-format msgid "%s: warning: shared libraries can not have uninitialized data" msgstr "" -#: nlmconv.c:867 nlmconv.c:1035 +#: nlmconv.c:856 nlmconv.c:1024 msgid "shared section" msgstr "" -#: nlmconv.c:875 +#: nlmconv.c:864 msgid "warning: No version number given" msgstr "" -#: nlmconv.c:915 nlmconv.c:944 nlmconv.c:962 nlmconv.c:1011 nlmconv.c:1030 +#: nlmconv.c:904 nlmconv.c:933 nlmconv.c:951 nlmconv.c:1000 nlmconv.c:1019 #, c-format msgid "%s: read: %s" msgstr "" -#: nlmconv.c:937 +#: nlmconv.c:926 msgid "warning: MAP and FULLMAP are not supported; try ld -M" msgstr "" -#: nlmconv.c:1109 +#: nlmconv.c:1096 #, c-format msgid "Usage: %s [option(s)] [in-file [out-file]]\n" msgstr "" -#: nlmconv.c:1110 +#: nlmconv.c:1097 +#, c-format msgid " Convert an object file into a NetWare Loadable Module\n" msgstr "" -#: nlmconv.c:1111 +#: nlmconv.c:1098 +#, c-format msgid "" " The options are:\n" " -I --input-target= Set the input binary file format\n" @@ -1389,73 +1509,75 @@ msgid "" " -v --version Display the program's version\n" msgstr "" -#: nlmconv.c:1153 +#: nlmconv.c:1138 #, c-format msgid "support not compiled in for %s" msgstr "" -#: nlmconv.c:1193 +#: nlmconv.c:1175 msgid "make section" msgstr "" -#: nlmconv.c:1207 +#: nlmconv.c:1189 msgid "set section size" msgstr "" -#: nlmconv.c:1213 +#: nlmconv.c:1195 msgid "set section alignment" msgstr "" -#: nlmconv.c:1217 +#: nlmconv.c:1199 msgid "set section flags" msgstr "" -#: nlmconv.c:1228 +#: nlmconv.c:1210 msgid "set .nlmsections size" msgstr "" -#: nlmconv.c:1316 nlmconv.c:1324 nlmconv.c:1333 nlmconv.c:1338 +#: nlmconv.c:1295 nlmconv.c:1303 nlmconv.c:1312 nlmconv.c:1317 msgid "set .nlmsection contents" msgstr "" -#: nlmconv.c:1839 +#: nlmconv.c:1796 msgid "stub section sizes" msgstr "" -#: nlmconv.c:1888 +#: nlmconv.c:1843 msgid "writing stub" msgstr "" -#: nlmconv.c:1977 +#: nlmconv.c:1928 #, c-format msgid "unresolved PC relative reloc against %s" msgstr "" -#: nlmconv.c:2041 +#: nlmconv.c:1992 #, c-format msgid "overflow when adjusting relocation against %s" msgstr "" -#: nlmconv.c:2158 +#: nlmconv.c:2107 #, c-format msgid "%s: execution of %s failed: " msgstr "" -#: nlmconv.c:2173 +#: nlmconv.c:2122 #, c-format msgid "Execution of %s failed" msgstr "" -#: nm.c:283 size.c:85 strings.c:657 +#: nm.c:247 size.c:83 strings.c:633 #, c-format msgid "Usage: %s [option(s)] [file(s)]\n" msgstr "" -#: nm.c:284 +#: nm.c:248 +#, c-format msgid " List symbols in [file(s)] (a.out by default).\n" msgstr "" -#: nm.c:285 +#: nm.c:249 +#, c-format msgid "" " The options are:\n" " -a, --debug-syms Display debugger-only symbols\n" @@ -1495,54 +1617,54 @@ msgid "" "\n" msgstr "" -#: nm.c:319 objdump.c:250 +#: nm.c:283 objdump.c:223 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: nm.c:352 +#: nm.c:315 #, c-format msgid "%s: invalid radix" msgstr "" -#: nm.c:377 +#: nm.c:339 #, c-format msgid "%s: invalid output format" msgstr "" -#: nm.c:494 +#: nm.c:454 msgid "Only -X 32_64 is supported" msgstr "" -#: nm.c:514 +#: nm.c:474 msgid "Using the --size-sort and --undefined-only options together" msgstr "" -#: nm.c:515 +#: nm.c:475 msgid "will produce no output, since undefined symbols have no size." msgstr "" -#: nm.c:543 +#: nm.c:503 #, c-format msgid "data size %ld" msgstr "" -#: nm.c:568 readelf.c:5809 readelf.c:5845 +#: nm.c:527 readelf.c:5497 readelf.c:5532 #, c-format msgid ": %d" msgstr "" -#: nm.c:570 readelf.c:5811 readelf.c:5857 +#: nm.c:529 readelf.c:5499 readelf.c:5544 #, c-format msgid ": %d" msgstr "" -#: nm.c:572 readelf.c:5813 readelf.c:5860 +#: nm.c:531 readelf.c:5501 readelf.c:5547 #, c-format msgid ": %d" msgstr "" -#: nm.c:1376 +#: nm.c:1297 #, c-format msgid "" "\n" @@ -1551,7 +1673,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1378 +#: nm.c:1299 #, c-format msgid "" "\n" @@ -1560,21 +1682,23 @@ msgid "" "\n" msgstr "" -#: nm.c:1380 nm.c:1438 +#: nm.c:1301 nm.c:1352 +#, c-format msgid "" "Name Value Class Type Size Line " "Section\n" "\n" msgstr "" -#: nm.c:1383 nm.c:1441 +#: nm.c:1304 nm.c:1355 +#, c-format msgid "" "Name Value Class Type " "Size Line Section\n" "\n" msgstr "" -#: nm.c:1434 +#: nm.c:1348 #, c-format msgid "" "\n" @@ -1583,7 +1707,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1436 +#: nm.c:1350 #, c-format msgid "" "\n" @@ -1592,26 +1716,30 @@ msgid "" "\n" msgstr "" -#: nm.c:1658 +#: nm.c:1558 +#, c-format msgid "" "\n" "Archive index:\n" msgstr "" -#: objcopy.c:414 srconv.c:1952 +#: objcopy.c:390 srconv.c:1856 #, c-format msgid "Usage: %s [option(s)] in-file [out-file]\n" msgstr "" -#: objcopy.c:415 +#: objcopy.c:391 +#, c-format msgid " Copies a binary file, possibly transforming it in the process\n" msgstr "" -#: objcopy.c:416 objcopy.c:495 +#: objcopy.c:392 objcopy.c:475 +#, c-format msgid " The options are:\n" msgstr "" -#: objcopy.c:417 +#: objcopy.c:393 +#, c-format msgid "" " -I --input-target Assume input file is in format \n" " -O --output-target Create an output file in format " @@ -1634,6 +1762,8 @@ msgid "" " --strip-unneeded Remove all symbols not needed by " "relocations\n" " -N --strip-symbol Do not copy symbol \n" +" --only-keep-debug Strip everything but the debug " +"information\n" " -K --keep-symbol Only copy symbol \n" " -L --localize-symbol Force symbol to be marked as a " "local\n" @@ -1642,6 +1772,7 @@ msgid "" "weak\n" " --weaken Force all global symbols to be marked as " "weak\n" +" -w --wildcard Permit wildcard in symbol comparasion\n" " -x --discard-all Remove all non-global symbols\n" " -X --discard-locals Remove any compiler-generated symbols\n" " -i --interleave Only copy one out of every " @@ -1691,6 +1822,10 @@ msgid "" " --keep-global-symbols -G for all symbols listed in \n" " --weaken-symbols -W for all symbols listed in \n" " --alt-machine-code Use alternate machine code for output\n" +" --writable-text Mark the output text as writable\n" +" --readonly-text Make the output text write protected\n" +" --pure Mark the output file as demand paged\n" +" --impure Mark the output file as impure\n" " --prefix-symbols Add to start of every symbol " "name\n" " --prefix-sections Add to start of every section " @@ -1706,16 +1841,18 @@ msgid "" "supported\n" msgstr "" -#: objcopy.c:493 +#: objcopy.c:473 #, c-format msgid "Usage: %s in-file(s)\n" msgstr "" -#: objcopy.c:494 +#: objcopy.c:474 +#, c-format msgid " Removes symbols and sections from files\n" msgstr "" -#: objcopy.c:496 +#: objcopy.c:476 +#, c-format msgid "" " -I --input-target= Assume input file is in format \n" " -O --output-target= Create an output file in format " @@ -1730,8 +1867,11 @@ msgid "" " -g -S -d --strip-debug Remove all debugging symbols & sections\n" " --strip-unneeded Remove all symbols not needed by " "relocations\n" +" --only-keep-debug Strip everything but the debug " +"information\n" " -N --strip-symbol= Do not copy symbol \n" " -K --keep-symbol= Only copy symbol \n" +" -w --wildcard Permit wildcard in symbol comparasion\n" " -x --discard-all Remove all non-global symbols\n" " -X --discard-locals Remove any compiler-generated symbols\n" " -v --verbose List all object files modified\n" @@ -1742,234 +1882,241 @@ msgid "" " -o Place stripped output into \n" msgstr "" -#: objcopy.c:567 +#: objcopy.c:548 #, c-format msgid "unrecognized section flag `%s'" msgstr "" -#: objcopy.c:568 +#: objcopy.c:549 #, c-format msgid "supported flags: %s" msgstr "" -#: objcopy.c:645 objcopy.c:2526 +#: objcopy.c:626 #, c-format -msgid "cannot stat: %s: %s" +msgid "cannot open '%s': %s" msgstr "" -#: objcopy.c:652 objcopy.c:2544 -#, c-format -msgid "cannot open: %s: %s" -msgstr "" - -#: objcopy.c:655 objcopy.c:2548 +#: objcopy.c:629 objcopy.c:2584 #, c-format msgid "%s: fread failed" msgstr "" -#: objcopy.c:728 +#: objcopy.c:702 #, c-format msgid "Ignoring rubbish found on line %d of %s" msgstr "" -#: objcopy.c:979 +#: objcopy.c:960 #, c-format msgid "%s: Multiple redefinition of symbol \"%s\"" msgstr "" -#: objcopy.c:983 +#: objcopy.c:964 #, c-format msgid "%s: Symbol \"%s\" is target of more than one redefinition" msgstr "" -#: objcopy.c:1010 +#: objcopy.c:992 #, c-format msgid "couldn't open symbol redefinition file %s (error: %s)" msgstr "" -#: objcopy.c:1088 +#: objcopy.c:1070 #, c-format msgid "%s: garbage at end of line %d" msgstr "" -#: objcopy.c:1091 +#: objcopy.c:1073 #, c-format msgid "%s: missing new symbol name at line %d" msgstr "" -#: objcopy.c:1101 +#: objcopy.c:1083 #, c-format msgid "%s: premature end of file at line %d" msgstr "" -#: objcopy.c:1147 +#: objcopy.c:1108 msgid "Unable to change endianness of input file(s)" msgstr "" -#: objcopy.c:1155 +#: objcopy.c:1117 #, c-format msgid "copy from %s(%s) to %s(%s)\n" msgstr "" -#: objcopy.c:1182 +#: objcopy.c:1154 +#, c-format +msgid "Unable to recognise the format of the input file %s" +msgstr "" + +#: objcopy.c:1158 #, c-format msgid "Warning: Output file cannot represent architecture %s" msgstr "" -#: objcopy.c:1211 +#: objcopy.c:1193 #, c-format msgid "can't create section `%s': %s" msgstr "" -#: objcopy.c:1304 +#: objcopy.c:1259 +msgid "there are no sections to be copied!" +msgstr "" + +#: objcopy.c:1305 #, c-format msgid "Can't fill gap after %s: %s" msgstr "" -#: objcopy.c:1329 +#: objcopy.c:1330 #, c-format msgid "Can't add padding to %s: %s" msgstr "" -#: objcopy.c:1485 +#: objcopy.c:1496 #, c-format msgid "%s: error copying private BFD data: %s" msgstr "" -#: objcopy.c:1498 +#: objcopy.c:1507 msgid "unknown alternate machine code, ignored" msgstr "" -#: objcopy.c:1531 objcopy.c:1561 +#: objcopy.c:1537 objcopy.c:1567 #, c-format msgid "cannot mkdir %s for archive copying (error: %s)" msgstr "" -#: objcopy.c:1749 +#: objcopy.c:1772 #, c-format msgid "Multiple renames of section %s" msgstr "" -#: objcopy.c:1840 +#: objcopy.c:1859 msgid "making" msgstr "" -#: objcopy.c:1849 +#: objcopy.c:1868 msgid "size" msgstr "" -#: objcopy.c:1863 +#: objcopy.c:1882 msgid "vma" msgstr "" -#: objcopy.c:1888 +#: objcopy.c:1907 msgid "alignment" msgstr "" -#: objcopy.c:1896 +#: objcopy.c:1922 msgid "flags" msgstr "" -#: objcopy.c:1918 +#: objcopy.c:1944 msgid "private data" msgstr "" -#: objcopy.c:1926 +#: objcopy.c:1952 #, c-format msgid "%s: section `%s': error in %s: %s" msgstr "" -#: objcopy.c:2199 +#: objcopy.c:2233 #, c-format msgid "%s: can't create debugging section: %s" msgstr "" -#: objcopy.c:2214 +#: objcopy.c:2247 #, c-format msgid "%s: can't set debugging section contents: %s" msgstr "" -#: objcopy.c:2223 +#: objcopy.c:2256 #, c-format msgid "%s: don't know how to write debugging information for %s" msgstr "" -#: objcopy.c:2346 -#, c-format -msgid "%s: cannot stat: %s" -msgstr "" - -#: objcopy.c:2400 +#: objcopy.c:2431 msgid "byte number must be non-negative" msgstr "" -#: objcopy.c:2410 +#: objcopy.c:2441 msgid "interleave must be positive" msgstr "" -#: objcopy.c:2430 objcopy.c:2438 +#: objcopy.c:2461 objcopy.c:2469 #, c-format msgid "%s both copied and removed" msgstr "" -#: objcopy.c:2523 objcopy.c:2593 objcopy.c:2693 objcopy.c:2724 objcopy.c:2748 -#: objcopy.c:2752 objcopy.c:2772 +#: objcopy.c:2558 objcopy.c:2629 objcopy.c:2729 objcopy.c:2760 objcopy.c:2784 +#: objcopy.c:2788 objcopy.c:2808 #, c-format msgid "bad format for %s" msgstr "" -#: objcopy.c:2662 +#: objcopy.c:2579 +#, c-format +msgid "cannot open: %s: %s" +msgstr "" + +#: objcopy.c:2698 #, c-format msgid "Warning: truncating gap-fill from 0x%s to 0x%x" msgstr "" -#: objcopy.c:2818 +#: objcopy.c:2854 msgid "alternate machine code index must be positive" msgstr "" -#: objcopy.c:2856 +#: objcopy.c:2912 msgid "byte number must be less than interleave" msgstr "" -#: objcopy.c:2883 +#: objcopy.c:2942 #, c-format msgid "architecture %s unknown" msgstr "" -#: objcopy.c:2887 +#: objcopy.c:2946 msgid "" "Warning: input target 'binary' required for binary architecture parameter." msgstr "" -#: objcopy.c:2888 +#: objcopy.c:2947 #, c-format msgid " Argument %s ignored" msgstr "" -#: objcopy.c:2894 +#: objcopy.c:2953 #, c-format -msgid "Cannot stat: %s: %s" +msgid "warning: could not locate '%s'. System error message: %s" msgstr "" -#: objcopy.c:2934 objcopy.c:2948 +#: objcopy.c:2993 objcopy.c:3007 #, c-format msgid "%s %s%c0x%s never used" msgstr "" -#: objdump.c:197 +#: objdump.c:168 #, c-format msgid "Usage: %s \n" msgstr "" -#: objdump.c:198 +#: objdump.c:169 +#, c-format msgid " Display information from object .\n" msgstr "" -#: objdump.c:199 +#: objdump.c:170 +#, c-format msgid " At least one of the following switches must be given:\n" msgstr "" -#: objdump.c:200 +#: objdump.c:171 +#, c-format msgid "" " -a, --archive-headers Display archive header information\n" " -f, --file-headers Display the contents of the overall file header\n" @@ -1984,6 +2131,7 @@ msgid "" " -s, --full-contents Display the full contents of all sections " "requested\n" " -g, --debugging Display debug information in object file\n" +" -e, --debugging-tags Display debug information using ctags style\n" " -G, --stabs Display (in raw form) any STABS info in the file\n" " -t, --syms Display the contents of the symbol table(s)\n" " -T, --dynamic-syms Display the contents of the dynamic symbol table\n" @@ -1995,13 +2143,15 @@ msgid "" " -H, --help Display this information\n" msgstr "" -#: objdump.c:222 +#: objdump.c:194 +#, c-format msgid "" "\n" " The following switches are optional:\n" msgstr "" -#: objdump.c:223 +#: objdump.c:195 +#, c-format msgid "" " -b, --target=BFDNAME Specify the target object format as " "BFDNAME\n" @@ -2014,6 +2164,7 @@ msgid "" "disassembling\n" " --file-start-context Include context from start of file (with -" "S)\n" +" -I, --include=DIR Add DIR to search list for source files\n" " -l, --line-numbers Include line numbers and filenames in " "output\n" " -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" @@ -2035,322 +2186,346 @@ msgid "" "\n" msgstr "" -#: objdump.c:391 +#: objdump.c:364 +#, c-format msgid "Sections:\n" msgstr "" -#: objdump.c:394 objdump.c:398 +#: objdump.c:367 objdump.c:371 +#, c-format msgid "Idx Name Size VMA LMA File off Algn" msgstr "" -#: objdump.c:400 +#: objdump.c:373 +#, c-format msgid "" "Idx Name Size VMA LMA File off " "Algn" msgstr "" -#: objdump.c:404 +#: objdump.c:377 +#, c-format msgid " Flags" msgstr "" -#: objdump.c:406 +#: objdump.c:379 +#, c-format msgid " Pg" msgstr "" -#: objdump.c:451 +#: objdump.c:422 #, c-format msgid "%s: not a dynamic object" msgstr "" -#: objdump.c:1144 -msgid "Out of virtual memory" +#: objdump.c:1659 +#, c-format +msgid "Disassembly of section %s:\n" msgstr "" -#: objdump.c:1574 +#: objdump.c:1809 #, c-format msgid "Can't use supplied machine %s" msgstr "" -#: objdump.c:1592 +#: objdump.c:1828 #, c-format msgid "Can't disassemble for architecture %s\n" msgstr "" -#: objdump.c:1682 -#, c-format -msgid "Disassembly of section %s:\n" -msgstr "" - -#: objdump.c:1847 +#: objdump.c:1896 #, c-format msgid "" "No %s section present\n" "\n" msgstr "" -#: objdump.c:1854 -#, c-format -msgid "%s has no %s section" -msgstr "" - -#: objdump.c:1868 +#: objdump.c:1905 #, c-format msgid "Reading %s section of %s failed: %s" msgstr "" -#: objdump.c:1880 -#, c-format -msgid "Reading %s section of %s failed: %s\n" -msgstr "" - -#: objdump.c:1923 +#: objdump.c:1949 #, c-format msgid "" "Contents of %s section:\n" "\n" msgstr "" -#: objdump.c:2021 +#: objdump.c:2075 #, c-format msgid "architecture: %s, " msgstr "" -#: objdump.c:2024 +#: objdump.c:2078 #, c-format msgid "flags 0x%08x:\n" msgstr "" -#: objdump.c:2038 +#: objdump.c:2092 +#, c-format msgid "" "\n" "start address 0x" msgstr "" -#: objdump.c:2071 +#: objdump.c:2132 #, c-format -msgid "" -"\n" -"%s: file format %s\n" +msgid "Contents of section %s:\n" msgstr "" -#: objdump.c:2111 +#: objdump.c:2257 #, c-format -msgid "%s: printing debugging information failed" +msgid "no symbols\n" msgstr "" -#: objdump.c:2190 +#: objdump.c:2264 #, c-format -msgid "In archive %s:\n" +msgid "no information for the %ld'th symbol" msgstr "" -#: objdump.c:2249 +#: objdump.c:2267 #, c-format -msgid "Contents of section %s:\n" +msgid "could not determine the type of the %ld'th symbol" msgstr "" -#: objdump.c:2369 -msgid "no symbols\n" +#: objdump.c:2533 +#, c-format +msgid "" +"\n" +"%s: file format %s\n" +msgstr "" + +#: objdump.c:2576 +#, c-format +msgid "%s: printing debugging information failed" +msgstr "" + +#: objdump.c:2657 +#, c-format +msgid "In archive %s:\n" msgstr "" -#: objdump.c:2718 +#: objdump.c:2777 msgid "unrecognized -E option" msgstr "" -#: objdump.c:2729 +#: objdump.c:2788 #, c-format msgid "unrecognized --endian type `%s'" msgstr "" -#: rdcoff.c:206 +#: rdcoff.c:196 #, c-format msgid "parse_coff_type: Bad type code 0x%x" msgstr "" -#: rdcoff.c:424 rdcoff.c:532 rdcoff.c:731 +#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 #, c-format msgid "bfd_coff_get_syment failed: %s" msgstr "" -#: rdcoff.c:440 rdcoff.c:751 +#: rdcoff.c:420 rdcoff.c:717 #, c-format msgid "bfd_coff_get_auxent failed: %s" msgstr "" -#: rdcoff.c:818 +#: rdcoff.c:784 #, c-format msgid "%ld: .bf without preceding function" msgstr "" -#: rdcoff.c:868 +#: rdcoff.c:834 #, c-format msgid "%ld: unexpected .ef\n" msgstr "" -#: rddbg.c:91 +#: rddbg.c:85 #, c-format msgid "%s: no recognized debugging information" msgstr "" -#: rddbg.c:415 +#: rddbg.c:394 +#, c-format msgid "Last stabs entries before error:\n" msgstr "" -#: readelf.c:455 +#: readelf.c:245 #, c-format msgid "%s: Error: " msgstr "" -#: readelf.c:466 +#: readelf.c:256 #, c-format msgid "%s: Warning: " msgstr "" -#: readelf.c:488 +#: readelf.c:271 #, c-format msgid "Unable to seek to 0x%x for %s\n" msgstr "" -#: readelf.c:499 +#: readelf.c:283 #, c-format msgid "Out of memory allocating 0x%x bytes for %s\n" msgstr "" -#: readelf.c:507 +#: readelf.c:291 #, c-format msgid "Unable to read in 0x%x bytes of %s\n" msgstr "" -#: readelf.c:560 readelf.c:614 readelf.c:798 readelf.c:833 +#: readelf.c:342 readelf.c:391 readelf.c:569 readelf.c:601 #, c-format msgid "Unhandled data length: %d\n" msgstr "" -#: readelf.c:924 +#: readelf.c:691 msgid "Don't know about relocations on this machine architecture\n" msgstr "" -#: readelf.c:946 readelf.c:975 readelf.c:1021 readelf.c:1049 +#: readelf.c:711 readelf.c:738 readelf.c:781 readelf.c:808 msgid "relocs" msgstr "" -#: readelf.c:957 readelf.c:986 readelf.c:1031 readelf.c:1059 +#: readelf.c:721 readelf.c:748 readelf.c:791 readelf.c:818 msgid "out of memory parsing relocs" msgstr "" -#: readelf.c:1112 +#: readelf.c:871 +#, c-format msgid "" " Offset Info Type Sym. Value Symbol's Name + Addend\n" msgstr "" -#: readelf.c:1114 +#: readelf.c:873 +#, c-format msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" msgstr "" -#: readelf.c:1119 +#: readelf.c:878 +#, c-format msgid " Offset Info Type Sym. Value Symbol's Name\n" msgstr "" -#: readelf.c:1121 +#: readelf.c:880 +#, c-format msgid " Offset Info Type Sym.Value Sym. Name\n" msgstr "" -#: readelf.c:1129 +#: readelf.c:888 +#, c-format msgid "" " Offset Info Type Symbol's Value " "Symbol's Name + Addend\n" msgstr "" -#: readelf.c:1131 +#: readelf.c:890 +#, c-format msgid "" " Offset Info Type Sym. Value Sym. Name + " "Addend\n" msgstr "" -#: readelf.c:1136 +#: readelf.c:895 +#, c-format msgid "" " Offset Info Type Symbol's Value " "Symbol's Name\n" msgstr "" -#: readelf.c:1138 +#: readelf.c:897 +#, c-format msgid "" " Offset Info Type Sym. Value Sym. Name\n" msgstr "" -#: readelf.c:1414 readelf.c:1416 readelf.c:1492 readelf.c:1494 readelf.c:1503 -#: readelf.c:1505 +#: readelf.c:1173 readelf.c:1175 readelf.c:1255 readelf.c:1257 readelf.c:1266 +#: readelf.c:1268 #, c-format msgid "unrecognized: %-7lx" msgstr "" -#: readelf.c:1466 +#: readelf.c:1229 #, c-format msgid "" msgstr "" -#: readelf.c:1743 +#: readelf.c:1500 #, c-format msgid "Processor Specific: %lx" msgstr "" -#: readelf.c:1762 +#: readelf.c:1519 #, c-format msgid "Operating System specific: %lx" msgstr "" -#: readelf.c:1765 readelf.c:2417 +#: readelf.c:1522 readelf.c:2198 #, c-format msgid ": %lx" msgstr "" -#: readelf.c:1779 +#: readelf.c:1535 msgid "NONE (None)" msgstr "" -#: readelf.c:1780 +#: readelf.c:1536 msgid "REL (Relocatable file)" msgstr "" -#: readelf.c:1781 +#: readelf.c:1537 msgid "EXEC (Executable file)" msgstr "" -#: readelf.c:1782 +#: readelf.c:1538 msgid "DYN (Shared object file)" msgstr "" -#: readelf.c:1783 +#: readelf.c:1539 msgid "CORE (Core file)" msgstr "" -#: readelf.c:1787 +#: readelf.c:1543 #, c-format msgid "Processor Specific: (%x)" msgstr "" -#: readelf.c:1789 +#: readelf.c:1545 #, c-format msgid "OS Specific: (%x)" msgstr "" -#: readelf.c:1791 readelf.c:1898 readelf.c:2574 +#: readelf.c:1547 readelf.c:1653 readelf.c:2351 #, c-format msgid ": %x" msgstr "" -#: readelf.c:1804 +#: readelf.c:1559 msgid "None" msgstr "" -#: readelf.c:2616 +#: readelf.c:2058 +msgid "Standalone App" +msgstr "" + +#: readelf.c:2061 readelf.c:2742 readelf.c:2758 +#, c-format +msgid "" +msgstr "" + +#: readelf.c:2393 +#, c-format msgid "Usage: readelf elf-file(s)\n" msgstr "" -#: readelf.c:2617 +#: readelf.c:2394 +#, c-format msgid " Display information about the contents of ELF format files\n" msgstr "" -#: readelf.c:2618 +#: readelf.c:2395 +#, c-format msgid "" " Options are:\n" " -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" @@ -2378,13 +2553,15 @@ msgid "" " Display the contents of DWARF2 debug sections\n" msgstr "" -#: readelf.c:2640 +#: readelf.c:2417 +#, c-format msgid "" " -i --instruction-dump=\n" " Disassemble the contents of section \n" msgstr "" -#: readelf.c:2644 +#: readelf.c:2421 +#, c-format msgid "" " -I --histogram Display histogram of bucket list lengths\n" " -W --wide Allow output width to exceed 80 characters\n" @@ -2392,321 +2569,335 @@ msgid "" " -v --version Display the version number of readelf\n" msgstr "" -#: readelf.c:2666 readelf.c:10765 +#: readelf.c:2441 readelf.c:10617 msgid "Out of memory allocating dump request table." msgstr "" -#: readelf.c:2830 readelf.c:2906 +#: readelf.c:2603 readelf.c:2679 #, c-format msgid "Unrecognized debug option '%s'\n" msgstr "" -#: readelf.c:2940 +#: readelf.c:2713 #, c-format msgid "Invalid option '-%c'\n" msgstr "" -#: readelf.c:2953 +#: readelf.c:2726 msgid "Nothing to do.\n" msgstr "" -#: readelf.c:2966 readelf.c:2983 readelf.c:5366 +#: readelf.c:2738 readelf.c:2754 readelf.c:5061 msgid "none" msgstr "" -#: readelf.c:2970 readelf.c:2987 readelf.c:3018 -#, c-format -msgid "" -msgstr "" - -#: readelf.c:2984 +#: readelf.c:2755 msgid "2's complement, little endian" msgstr "" -#: readelf.c:2985 +#: readelf.c:2756 msgid "2's complement, big endian" msgstr "" -#: readelf.c:3015 -msgid "Standalone App" -msgstr "" - -#: readelf.c:3034 +#: readelf.c:2774 msgid "Not an ELF file - it has the wrong magic bytes at the start\n" msgstr "" -#: readelf.c:3042 +#: readelf.c:2782 +#, c-format msgid "ELF Header:\n" msgstr "" -#: readelf.c:3043 +#: readelf.c:2783 +#, c-format msgid " Magic: " msgstr "" -#: readelf.c:3047 +#: readelf.c:2787 #, c-format msgid " Class: %s\n" msgstr "" -#: readelf.c:3049 +#: readelf.c:2789 #, c-format msgid " Data: %s\n" msgstr "" -#: readelf.c:3051 +#: readelf.c:2791 #, c-format msgid " Version: %d %s\n" msgstr "" -#: readelf.c:3058 +#: readelf.c:2798 #, c-format msgid " OS/ABI: %s\n" msgstr "" -#: readelf.c:3060 +#: readelf.c:2800 #, c-format msgid " ABI Version: %d\n" msgstr "" -#: readelf.c:3062 +#: readelf.c:2802 #, c-format msgid " Type: %s\n" msgstr "" -#: readelf.c:3064 +#: readelf.c:2804 #, c-format msgid " Machine: %s\n" msgstr "" -#: readelf.c:3066 +#: readelf.c:2806 #, c-format msgid " Version: 0x%lx\n" msgstr "" -#: readelf.c:3069 +#: readelf.c:2809 +#, c-format msgid " Entry point address: " msgstr "" -#: readelf.c:3071 +#: readelf.c:2811 +#, c-format msgid "" "\n" " Start of program headers: " msgstr "" -#: readelf.c:3073 +#: readelf.c:2813 +#, c-format msgid "" " (bytes into file)\n" " Start of section headers: " msgstr "" -#: readelf.c:3075 +#: readelf.c:2815 +#, c-format msgid " (bytes into file)\n" msgstr "" -#: readelf.c:3077 +#: readelf.c:2817 #, c-format msgid " Flags: 0x%lx%s\n" msgstr "" -#: readelf.c:3080 +#: readelf.c:2820 #, c-format msgid " Size of this header: %ld (bytes)\n" msgstr "" -#: readelf.c:3082 +#: readelf.c:2822 #, c-format msgid " Size of program headers: %ld (bytes)\n" msgstr "" -#: readelf.c:3084 +#: readelf.c:2824 #, c-format msgid " Number of program headers: %ld\n" msgstr "" -#: readelf.c:3086 +#: readelf.c:2826 #, c-format msgid " Size of section headers: %ld (bytes)\n" msgstr "" -#: readelf.c:3088 +#: readelf.c:2828 #, c-format msgid " Number of section headers: %ld" msgstr "" -#: readelf.c:3093 +#: readelf.c:2833 #, c-format msgid " Section header string table index: %ld" msgstr "" -#: readelf.c:3127 readelf.c:3163 +#: readelf.c:2864 readelf.c:2897 msgid "program headers" msgstr "" -#: readelf.c:3203 readelf.c:3480 readelf.c:3526 readelf.c:3589 readelf.c:3656 -#: readelf.c:4715 readelf.c:4758 readelf.c:4948 readelf.c:5917 readelf.c:5931 -#: readelf.c:10411 +#: readelf.c:2935 readelf.c:3204 readelf.c:3245 readelf.c:3304 readelf.c:3367 +#: readelf.c:4404 readelf.c:4445 readelf.c:4644 readelf.c:5604 readelf.c:5618 +#: readelf.c:10065 readelf.c:10405 readelf.c:10472 msgid "Out of memory\n" msgstr "" -#: readelf.c:3231 +#: readelf.c:2962 +#, c-format msgid "" "\n" "There are no program headers in this file.\n" msgstr "" -#: readelf.c:3237 +#: readelf.c:2968 #, c-format msgid "" "\n" "Elf file type is %s\n" msgstr "" -#: readelf.c:3238 +#: readelf.c:2969 +#, c-format msgid "Entry point " msgstr "" -#: readelf.c:3240 +#: readelf.c:2971 #, c-format msgid "" "\n" "There are %d program headers, starting at offset " msgstr "" -#: readelf.c:3252 readelf.c:3254 +#: readelf.c:2983 readelf.c:2985 +#, c-format msgid "" "\n" "Program Headers:\n" msgstr "" -#: readelf.c:3258 +#: readelf.c:2989 +#, c-format msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" msgstr "" -#: readelf.c:3261 +#: readelf.c:2992 +#, c-format msgid "" " Type Offset VirtAddr PhysAddr FileSiz " "MemSiz Flg Align\n" msgstr "" -#: readelf.c:3265 +#: readelf.c:2996 +#, c-format msgid " Type Offset VirtAddr PhysAddr\n" msgstr "" -#: readelf.c:3267 +#: readelf.c:2998 +#, c-format msgid " FileSiz MemSiz Flags Align\n" msgstr "" -#: readelf.c:3360 +#: readelf.c:3091 msgid "more than one dynamic segment\n" msgstr "" -#: readelf.c:3368 +#: readelf.c:3100 msgid "Unable to find program interpreter name\n" msgstr "" -#: readelf.c:3375 +#: readelf.c:3107 #, c-format msgid "" "\n" " [Requesting program interpreter: %s]" msgstr "" -#: readelf.c:3387 +#: readelf.c:3119 +#, c-format msgid "" "\n" " Section to Segment mapping:\n" msgstr "" -#: readelf.c:3388 +#: readelf.c:3120 +#, c-format msgid " Segment Sections...\n" msgstr "" -#: readelf.c:3437 +#: readelf.c:3166 msgid "Cannot interpret virtual addresses without program headers.\n" msgstr "" -#: readelf.c:3453 +#: readelf.c:3182 #, c-format msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" msgstr "" -#: readelf.c:3471 readelf.c:3517 +#: readelf.c:3196 readelf.c:3237 msgid "section headers" msgstr "" -#: readelf.c:3565 readelf.c:3632 +#: readelf.c:3281 readelf.c:3344 msgid "symbols" msgstr "" -#: readelf.c:3576 readelf.c:3643 +#: readelf.c:3291 readelf.c:3354 msgid "symtab shndx" msgstr "" -#: readelf.c:3745 +#: readelf.c:3454 +#, c-format msgid "" "\n" "There are no sections in this file.\n" msgstr "" -#: readelf.c:3751 +#: readelf.c:3460 #, c-format msgid "There are %d section headers, starting at offset 0x%lx:\n" msgstr "" -#: readelf.c:3768 readelf.c:4098 readelf.c:4433 readelf.c:6070 +#: readelf.c:3477 readelf.c:3804 readelf.c:4127 readelf.c:5757 msgid "string table" msgstr "" -#: readelf.c:3793 +#: readelf.c:3502 msgid "File contains multiple dynamic symbol tables\n" msgstr "" -#: readelf.c:3805 +#: readelf.c:3514 msgid "File contains multiple dynamic string tables\n" msgstr "" -#: readelf.c:3811 +#: readelf.c:3519 msgid "dynamic strings" msgstr "" -#: readelf.c:3817 +#: readelf.c:3525 msgid "File contains multiple symtab shndx tables\n" msgstr "" -#: readelf.c:3855 +#: readelf.c:3563 +#, c-format msgid "" "\n" "Section Headers:\n" msgstr "" -#: readelf.c:3857 +#: readelf.c:3565 +#, c-format msgid "" "\n" "Section Header:\n" msgstr "" -#: readelf.c:3861 +#: readelf.c:3569 +#, c-format msgid "" " [Nr] Name Type Addr Off Size ES Flg Lk " "Inf Al\n" msgstr "" -#: readelf.c:3864 +#: readelf.c:3572 +#, c-format msgid "" " [Nr] Name Type Address Off Size ES " "Flg Lk Inf Al\n" msgstr "" -#: readelf.c:3867 +#: readelf.c:3575 +#, c-format msgid " [Nr] Name Type Address Offset\n" msgstr "" -#: readelf.c:3868 +#: readelf.c:3576 +#, c-format msgid " Size EntSize Flags Link Info Align\n" msgstr "" -#: readelf.c:3963 +#: readelf.c:3671 +#, c-format msgid "" "Key to Flags:\n" " W (write), A (alloc), X (execute), M (merge), S (strings)\n" @@ -2714,500 +2905,543 @@ msgid "" " O (extra OS processing required) o (OS specific), p (processor specific)\n" msgstr "" -#: readelf.c:4031 +#: readelf.c:3738 #, c-format msgid "" "\n" "'%s' relocation section at offset 0x%lx contains %ld bytes:\n" msgstr "" -#: readelf.c:4043 +#: readelf.c:3750 +#, c-format msgid "" "\n" "There are no dynamic relocations in this file.\n" msgstr "" -#: readelf.c:4070 +#: readelf.c:3777 +#, c-format msgid "" "\n" "Relocation section " msgstr "" -#: readelf.c:4075 readelf.c:4496 readelf.c:4510 +#: readelf.c:3782 readelf.c:4190 readelf.c:4204 #, c-format msgid "'%s'" msgstr "" -#: readelf.c:4077 readelf.c:4512 +#: readelf.c:3784 readelf.c:4206 #, c-format msgid " at offset 0x%lx contains %lu entries:\n" msgstr "" -#: readelf.c:4115 +#: readelf.c:3821 +#, c-format msgid "" "\n" "There are no relocations in this file.\n" msgstr "" -#: readelf.c:4299 +#: readelf.c:3994 msgid "unwind table" msgstr "" -#: readelf.c:4350 readelf.c:4362 readelf.c:8499 readelf.c:8511 +#: readelf.c:4045 readelf.c:4057 readelf.c:8284 readelf.c:8296 #, c-format msgid "Skipping unexpected symbol type %u\n" msgstr "" -#: readelf.c:4370 +#: readelf.c:4065 #, c-format msgid "Skipping unexpected relocation type %s\n" msgstr "" -#: readelf.c:4415 readelf.c:4440 +#: readelf.c:4109 readelf.c:4134 +#, c-format msgid "" "\n" "There are no unwind sections in this file.\n" msgstr "" -#: readelf.c:4491 +#: readelf.c:4185 +#, c-format msgid "" "\n" "Could not find unwind info section for " msgstr "" -#: readelf.c:4503 +#: readelf.c:4197 msgid "unwind info" msgstr "" -#: readelf.c:4505 +#: readelf.c:4199 +#, c-format msgid "" "\n" "Unwind section " msgstr "" -#: readelf.c:4699 readelf.c:4742 +#: readelf.c:4389 readelf.c:4430 msgid "dynamic segment" msgstr "" -#: readelf.c:4820 +#: readelf.c:4505 +#, c-format msgid "" "\n" "There is no dynamic segment in this file.\n" msgstr "" -#: readelf.c:4854 +#: readelf.c:4543 msgid "Unable to seek to end of file!" msgstr "" -#: readelf.c:4865 +#: readelf.c:4556 msgid "Unable to determine the number of symbols to load\n" msgstr "" -#: readelf.c:4895 +#: readelf.c:4591 msgid "Unable to seek to end of file\n" msgstr "" -#: readelf.c:4901 +#: readelf.c:4598 msgid "Unable to determine the length of the dynamic string table\n" msgstr "" -#: readelf.c:4906 +#: readelf.c:4603 msgid "dynamic string table" msgstr "" -#: readelf.c:4941 +#: readelf.c:4637 msgid "symbol information" msgstr "" -#: readelf.c:4965 +#: readelf.c:4661 #, c-format msgid "" "\n" "Dynamic segment at offset 0x%lx contains %ld entries:\n" msgstr "" -#: readelf.c:4968 +#: readelf.c:4664 +#, c-format msgid " Tag Type Name/Value\n" msgstr "" -#: readelf.c:5004 +#: readelf.c:4700 +#, c-format msgid "Auxiliary library" msgstr "" -#: readelf.c:5008 +#: readelf.c:4704 +#, c-format msgid "Filter library" msgstr "" -#: readelf.c:5012 +#: readelf.c:4708 +#, c-format msgid "Configuration file" msgstr "" -#: readelf.c:5016 +#: readelf.c:4712 +#, c-format msgid "Dependency audit library" msgstr "" -#: readelf.c:5020 +#: readelf.c:4716 +#, c-format msgid "Audit library" msgstr "" -#: readelf.c:5038 readelf.c:5066 readelf.c:5094 +#: readelf.c:4734 readelf.c:4762 readelf.c:4790 +#, c-format msgid "Flags:" msgstr "" -#: readelf.c:5041 readelf.c:5069 readelf.c:5096 +#: readelf.c:4737 readelf.c:4765 readelf.c:4792 +#, c-format msgid " None\n" msgstr "" -#: readelf.c:5217 +#: readelf.c:4913 #, c-format msgid "Shared library: [%s]" msgstr "" -#: readelf.c:5220 +#: readelf.c:4916 +#, c-format msgid " program interpreter" msgstr "" -#: readelf.c:5224 +#: readelf.c:4920 #, c-format msgid "Library soname: [%s]" msgstr "" -#: readelf.c:5228 +#: readelf.c:4924 #, c-format msgid "Library rpath: [%s]" msgstr "" -#: readelf.c:5232 +#: readelf.c:4928 #, c-format msgid "Library runpath: [%s]" msgstr "" -#: readelf.c:5296 +#: readelf.c:4992 #, c-format msgid "Not needed object: [%s]\n" msgstr "" -#: readelf.c:5412 +#: readelf.c:5106 #, c-format msgid "" "\n" "Version definition section '%s' contains %ld entries:\n" msgstr "" -#: readelf.c:5415 +#: readelf.c:5109 +#, c-format msgid " Addr: 0x" msgstr "" -#: readelf.c:5417 readelf.c:5612 +#: readelf.c:5111 readelf.c:5303 #, c-format msgid " Offset: %#08lx Link: %lx (%s)\n" msgstr "" -#: readelf.c:5424 +#: readelf.c:5116 msgid "version definition section" msgstr "" -#: readelf.c:5450 +#: readelf.c:5142 #, c-format msgid " %#06x: Rev: %d Flags: %s" msgstr "" -#: readelf.c:5453 +#: readelf.c:5145 #, c-format msgid " Index: %d Cnt: %d " msgstr "" -#: readelf.c:5464 +#: readelf.c:5156 #, c-format msgid "Name: %s\n" msgstr "" -#: readelf.c:5466 +#: readelf.c:5158 #, c-format msgid "Name index: %ld\n" msgstr "" -#: readelf.c:5481 +#: readelf.c:5173 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr "" -#: readelf.c:5484 +#: readelf.c:5176 #, c-format msgid " %#06x: Parent %d, name index: %ld\n" msgstr "" -#: readelf.c:5503 +#: readelf.c:5195 #, c-format msgid "" "\n" "Version needs section '%s' contains %ld entries:\n" msgstr "" -#: readelf.c:5506 +#: readelf.c:5198 +#, c-format msgid " Addr: 0x" msgstr "" -#: readelf.c:5508 +#: readelf.c:5200 #, c-format msgid " Offset: %#08lx Link to section: %ld (%s)\n" msgstr "" -#: readelf.c:5514 +#: readelf.c:5205 msgid "version need section" msgstr "" -#: readelf.c:5536 +#: readelf.c:5227 #, c-format msgid " %#06x: Version: %d" msgstr "" -#: readelf.c:5539 +#: readelf.c:5230 #, c-format msgid " File: %s" msgstr "" -#: readelf.c:5541 +#: readelf.c:5232 #, c-format msgid " File: %lx" msgstr "" -#: readelf.c:5543 +#: readelf.c:5234 #, c-format msgid " Cnt: %d\n" msgstr "" -#: readelf.c:5561 +#: readelf.c:5252 #, c-format -msgid " %#06x: Name: %s" +msgid " %#06x: Name: %s" msgstr "" -#: readelf.c:5564 +#: readelf.c:5255 #, c-format -msgid " %#06x: Name index: %lx" +msgid " %#06x: Name index: %lx" msgstr "" -#: readelf.c:5567 +#: readelf.c:5258 #, c-format msgid " Flags: %s Version: %d\n" msgstr "" -#: readelf.c:5603 +#: readelf.c:5294 msgid "version string table" msgstr "" -#: readelf.c:5607 +#: readelf.c:5298 #, c-format msgid "" "\n" "Version symbols section '%s' contains %d entries:\n" msgstr "" -#: readelf.c:5610 +#: readelf.c:5301 +#, c-format msgid " Addr: " msgstr "" -#: readelf.c:5622 +#: readelf.c:5311 msgid "version symbol data" msgstr "" -#: readelf.c:5649 +#: readelf.c:5338 msgid " 0 (*local*) " msgstr "" -#: readelf.c:5653 +#: readelf.c:5342 msgid " 1 (*global*) " msgstr "" -#: readelf.c:5689 readelf.c:6129 +#: readelf.c:5378 readelf.c:5816 msgid "version need" msgstr "" -#: readelf.c:5699 +#: readelf.c:5388 msgid "version need aux (2)" msgstr "" -#: readelf.c:5741 readelf.c:6192 +#: readelf.c:5430 readelf.c:5879 msgid "version def" msgstr "" -#: readelf.c:5760 readelf.c:6207 +#: readelf.c:5449 readelf.c:5894 msgid "version def aux" msgstr "" -#: readelf.c:5791 +#: readelf.c:5480 +#, c-format msgid "" "\n" "No version information found in this file.\n" msgstr "" -#: readelf.c:5923 +#: readelf.c:5610 msgid "Unable to read in dynamic data\n" msgstr "" -#: readelf.c:5967 +#: readelf.c:5655 msgid "Unable to seek to start of dynamic information" msgstr "" -#: readelf.c:5973 +#: readelf.c:5661 msgid "Failed to read in number of buckets\n" msgstr "" -#: readelf.c:5979 +#: readelf.c:5667 msgid "Failed to read in number of chains\n" msgstr "" -#: readelf.c:5999 +#: readelf.c:5687 +#, c-format msgid "" "\n" "Symbol table for image:\n" msgstr "" -#: readelf.c:6001 +#: readelf.c:5689 +#, c-format msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:6003 +#: readelf.c:5691 +#, c-format msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:6048 +#: readelf.c:5736 #, c-format msgid "" "\n" "Symbol table '%s' contains %lu entries:\n" msgstr "" -#: readelf.c:6052 +#: readelf.c:5740 +#, c-format msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:6054 +#: readelf.c:5742 +#, c-format msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:6101 +#: readelf.c:5788 msgid "version data" msgstr "" -#: readelf.c:6142 +#: readelf.c:5829 msgid "version need aux (3)" msgstr "" -#: readelf.c:6167 +#: readelf.c:5854 msgid "bad dynamic symbol" msgstr "" -#: readelf.c:6230 +#: readelf.c:5917 +#, c-format msgid "" "\n" "Dynamic symbol information is not available for displaying symbols.\n" msgstr "" -#: readelf.c:6242 +#: readelf.c:5929 #, c-format msgid "" "\n" "Histogram for bucket list length (total of %d buckets):\n" msgstr "" -#: readelf.c:6244 +#: readelf.c:5931 #, c-format msgid " Length Number %% of total Coverage\n" msgstr "" -#: readelf.c:6249 readelf.c:6268 readelf.c:9898 readelf.c:10090 +#: readelf.c:5936 readelf.c:5955 readelf.c:9565 readelf.c:9757 msgid "Out of memory" msgstr "" -#: readelf.c:6317 +#: readelf.c:6003 #, c-format msgid "" "\n" "Dynamic info segment at offset 0x%lx contains %d entries:\n" msgstr "" -#: readelf.c:6320 +#: readelf.c:6006 +#, c-format msgid " Num: Name BoundTo Flags\n" msgstr "" -#: readelf.c:6373 +#: readelf.c:6057 #, c-format msgid "" "\n" "Assembly dump of section %s\n" msgstr "" -#: readelf.c:6396 +#: readelf.c:6078 #, c-format msgid "" "\n" "Section '%s' has no data to dump.\n" msgstr "" -#: readelf.c:6401 +#: readelf.c:6083 #, c-format msgid "" "\n" "Hex dump of section '%s':\n" msgstr "" -#: readelf.c:6406 +#: readelf.c:6087 msgid "section data" msgstr "" -#: readelf.c:6555 +#: readelf.c:6229 msgid "badly formed extended line op encountered!\n" msgstr "" -#: readelf.c:6562 +#: readelf.c:6236 #, c-format msgid " Extended opcode %d: " msgstr "" -#: readelf.c:6567 +#: readelf.c:6241 +#, c-format msgid "" "End of Sequence\n" "\n" msgstr "" -#: readelf.c:6573 +#: readelf.c:6247 #, c-format msgid "set Address to 0x%lx\n" msgstr "" -#: readelf.c:6578 +#: readelf.c:6252 +#, c-format msgid " define new File Table entry\n" msgstr "" -#: readelf.c:6579 readelf.c:6726 +#: readelf.c:6253 readelf.c:6541 +#, c-format msgid " Entry\tDir\tTime\tSize\tName\n" msgstr "" -#: readelf.c:6581 +#: readelf.c:6255 #, c-format msgid " %d\t" msgstr "" -#: readelf.c:6584 readelf.c:6586 readelf.c:6588 readelf.c:6738 readelf.c:6740 -#: readelf.c:6742 +#: readelf.c:6258 readelf.c:6260 readelf.c:6262 readelf.c:6553 readelf.c:6555 +#: readelf.c:6557 #, c-format msgid "%lu\t" msgstr "" -#: readelf.c:6589 +#: readelf.c:6263 #, c-format msgid "" "%s\n" "\n" msgstr "" -#: readelf.c:6593 +#: readelf.c:6267 #, c-format msgid "UNKNOWN: length %d\n" msgstr "" -#: readelf.c:6621 +#: readelf.c:6323 +msgid "extracting pointer sizes from .debug_info section" +msgstr "" + +#: readelf.c:6347 +msgid "No comp units in .debug_info section ?" +msgstr "" + +#: readelf.c:6356 +#, c-format +msgid "Not enough memory for a pointer size array of %u entries" +msgstr "" + +#: readelf.c:6417 #, c-format msgid "" "\n" @@ -3215,1053 +3449,1140 @@ msgid "" "\n" msgstr "" -#: readelf.c:6649 +#: readelf.c:6450 msgid "The line info appears to be corrupt - the section is too small\n" msgstr "" -#: readelf.c:6658 +#: readelf.c:6459 msgid "Only DWARF version 2 and 3 line info is currently supported.\n" msgstr "" -#: readelf.c:6679 +#: readelf.c:6484 +msgid "Not enough comp units for .debug_lines section\n" +msgstr "" + +#: readelf.c:6493 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:6680 +#: readelf.c:6494 #, c-format msgid " DWARF Version: %d\n" msgstr "" -#: readelf.c:6681 +#: readelf.c:6495 #, c-format msgid " Prologue Length: %d\n" msgstr "" -#: readelf.c:6682 +#: readelf.c:6496 #, c-format msgid " Minimum Instruction Length: %d\n" msgstr "" -#: readelf.c:6683 +#: readelf.c:6497 #, c-format msgid " Initial value of 'is_stmt': %d\n" msgstr "" -#: readelf.c:6684 +#: readelf.c:6498 #, c-format msgid " Line Base: %d\n" msgstr "" -#: readelf.c:6685 +#: readelf.c:6499 #, c-format msgid " Line Range: %d\n" msgstr "" -#: readelf.c:6686 +#: readelf.c:6500 #, c-format msgid " Opcode Base: %d\n" msgstr "" -#: readelf.c:6695 +#: readelf.c:6501 +#, c-format +msgid " (Pointer size: %u)\n" +msgstr "" + +#: readelf.c:6510 +#, c-format msgid "" "\n" " Opcodes:\n" msgstr "" -#: readelf.c:6698 +#: readelf.c:6513 #, c-format msgid " Opcode %d has %d args\n" msgstr "" -#: readelf.c:6704 +#: readelf.c:6519 +#, c-format msgid "" "\n" " The Directory Table is empty.\n" msgstr "" -#: readelf.c:6707 +#: readelf.c:6522 +#, c-format msgid "" "\n" " The Directory Table:\n" msgstr "" -#: readelf.c:6711 +#: readelf.c:6526 #, c-format msgid " %s\n" msgstr "" -#: readelf.c:6722 +#: readelf.c:6537 +#, c-format msgid "" "\n" " The File Name Table is empty.\n" msgstr "" -#: readelf.c:6725 +#: readelf.c:6540 +#, c-format msgid "" "\n" " The File Name Table:\n" msgstr "" -#: readelf.c:6733 +#: readelf.c:6548 #, c-format msgid " %d\t" msgstr "" -#: readelf.c:6744 +#: readelf.c:6559 #, c-format msgid "%s\n" msgstr "" #. Now display the statements. -#: readelf.c:6752 +#: readelf.c:6567 +#, c-format msgid "" "\n" " Line Number Statements:\n" msgstr "" -#: readelf.c:6768 +#: readelf.c:6583 #, c-format msgid " Special opcode %d: advance Address by %d to 0x%lx" msgstr "" -#: readelf.c:6772 +#: readelf.c:6587 #, c-format msgid " and Line by %d to %d\n" msgstr "" -#: readelf.c:6783 +#: readelf.c:6598 +#, c-format msgid " Copy\n" msgstr "" -#: readelf.c:6790 +#: readelf.c:6605 #, c-format msgid " Advance PC by %d to %lx\n" msgstr "" -#: readelf.c:6798 +#: readelf.c:6613 #, c-format msgid " Advance Line by %d to %d\n" msgstr "" -#: readelf.c:6805 +#: readelf.c:6620 #, c-format msgid " Set File Name to entry %d in the File Name Table\n" msgstr "" -#: readelf.c:6813 +#: readelf.c:6628 #, c-format msgid " Set column to %d\n" msgstr "" -#: readelf.c:6820 +#: readelf.c:6635 #, c-format msgid " Set is_stmt to %d\n" msgstr "" -#: readelf.c:6825 +#: readelf.c:6640 +#, c-format msgid " Set basic block\n" msgstr "" -#: readelf.c:6833 +#: readelf.c:6648 #, c-format msgid " Advance PC by constant %d to 0x%lx\n" msgstr "" -#: readelf.c:6841 +#: readelf.c:6656 #, c-format msgid " Advance PC by fixed size amount %d to 0x%lx\n" msgstr "" -#: readelf.c:6846 +#: readelf.c:6661 +#, c-format msgid " Set prologue_end to true\n" msgstr "" -#: readelf.c:6850 +#: readelf.c:6665 +#, c-format msgid " Set epilogue_begin to true\n" msgstr "" -#: readelf.c:6856 +#: readelf.c:6671 #, c-format msgid " Set ISA to %d\n" msgstr "" -#: readelf.c:6860 +#: readelf.c:6675 #, c-format msgid " Unknown opcode %d with operands: " msgstr "" -#: readelf.c:6891 readelf.c:7371 readelf.c:7443 +#: readelf.c:6705 readelf.c:7174 readelf.c:7245 #, c-format msgid "" "Contents of the %s section:\n" "\n" msgstr "" -#: readelf.c:6931 +#: readelf.c:6745 msgid "Only DWARF 2 and 3 pubnames are currently supported\n" msgstr "" -#: readelf.c:6938 +#: readelf.c:6752 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:6940 +#: readelf.c:6754 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:6942 +#: readelf.c:6756 #, c-format msgid " Offset into .debug_info section: %ld\n" msgstr "" -#: readelf.c:6944 +#: readelf.c:6758 #, c-format msgid " Size of area in .debug_info section: %ld\n" msgstr "" -#: readelf.c:6947 +#: readelf.c:6761 +#, c-format msgid "" "\n" " Offset\tName\n" msgstr "" -#: readelf.c:7042 +#: readelf.c:6855 #, c-format msgid "Unknown TAG value: %lx" msgstr "" -#: readelf.c:7156 +#: readelf.c:6968 #, c-format msgid "Unknown AT value: %lx" msgstr "" -#: readelf.c:7193 +#: readelf.c:7004 #, c-format msgid "Unknown FORM value: %lx" msgstr "" -#: readelf.c:7392 +#: readelf.c:7195 #, c-format msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" msgstr "" -#: readelf.c:7397 +#: readelf.c:7200 +#, c-format msgid " DW_MACINFO_end_file\n" msgstr "" -#: readelf.c:7405 +#: readelf.c:7208 #, c-format msgid " DW_MACINFO_define - lineno : %d macro : %s\n" msgstr "" -#: readelf.c:7413 +#: readelf.c:7216 #, c-format msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" msgstr "" -#: readelf.c:7424 +#: readelf.c:7227 #, c-format msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" msgstr "" -#: readelf.c:7452 +#: readelf.c:7254 +#, c-format msgid " Number TAG\n" msgstr "" -#: readelf.c:7458 +#: readelf.c:7260 #, c-format msgid " %ld %s [%s]\n" msgstr "" -#: readelf.c:7461 +#: readelf.c:7263 msgid "has children" msgstr "" -#: readelf.c:7461 +#: readelf.c:7263 msgid "no children" msgstr "" -#: readelf.c:7465 +#: readelf.c:7267 #, c-format msgid " %-18s %s\n" msgstr "" -#: readelf.c:7486 +#: readelf.c:7286 #, c-format msgid " %lu byte block: " msgstr "" -#: readelf.c:7814 +#: readelf.c:7613 +#, c-format msgid "(User defined location op)" msgstr "" -#: readelf.c:7816 +#: readelf.c:7615 +#, c-format msgid "(Unknown location op)" msgstr "" -#: readelf.c:7855 +#: readelf.c:7646 msgid "debug_loc section data" msgstr "" -#: readelf.c:7887 +#: readelf.c:7677 +#, c-format msgid "" "\n" "The .debug_loc section is empty.\n" msgstr "" -#: readelf.c:7891 +#: readelf.c:7684 +#, c-format msgid "" "Contents of the .debug_loc section:\n" "\n" msgstr "" -#: readelf.c:7892 +#: readelf.c:7685 +#, c-format msgid "" "\n" " Offset Begin End Expression\n" msgstr "" -#: readelf.c:7968 +#: readelf.c:7701 +msgid "Not enough comp units for .debug_loc section\n" +msgstr "" + +#: readelf.c:7761 msgid "debug_str section data" msgstr "" -#: readelf.c:7987 +#: readelf.c:7779 msgid "" msgstr "" -#: readelf.c:7990 +#: readelf.c:7782 msgid "" msgstr "" -#: readelf.c:8009 +#: readelf.c:7800 +#, c-format msgid "" "\n" "The .debug_str section is empty.\n" msgstr "" -#: readelf.c:8013 +#: readelf.c:7804 +#, c-format msgid "" "Contents of the .debug_str section:\n" "\n" msgstr "" -#: readelf.c:8088 +#: readelf.c:7877 msgid "Internal error: DWARF version is not 2 or 3.\n" msgstr "" -#: readelf.c:8203 +#: readelf.c:7992 #, c-format msgid " (indirect string, offset: 0x%lx): %s" msgstr "" -#: readelf.c:8212 +#: readelf.c:8001 #, c-format msgid "Unrecognized form: %d\n" msgstr "" -#: readelf.c:8226 +#: readelf.c:8015 +#, c-format msgid "(not inlined)" msgstr "" -#: readelf.c:8229 +#: readelf.c:8018 +#, c-format msgid "(inlined)" msgstr "" -#: readelf.c:8232 +#: readelf.c:8021 +#, c-format msgid "(declared as inline but ignored)" msgstr "" -#: readelf.c:8235 +#: readelf.c:8024 +#, c-format msgid "(declared as inline and inlined)" msgstr "" -#: readelf.c:8238 +#: readelf.c:8027 #, c-format msgid " (Unknown inline attribute value: %lx)" msgstr "" -#: readelf.c:8419 readelf.c:8646 +#: readelf.c:8205 readelf.c:8424 #, c-format msgid "" "The section %s contains:\n" "\n" msgstr "" -#: readelf.c:8535 +#: readelf.c:8320 #, c-format msgid " Compilation Unit @ %lx:\n" msgstr "" -#: readelf.c:8536 +#: readelf.c:8321 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:8537 +#: readelf.c:8322 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:8538 +#: readelf.c:8323 #, c-format msgid " Abbrev Offset: %ld\n" msgstr "" -#: readelf.c:8539 +#: readelf.c:8324 #, c-format msgid " Pointer Size: %d\n" msgstr "" -#: readelf.c:8543 +#: readelf.c:8328 msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" msgstr "" -#: readelf.c:8563 +#: readelf.c:8343 msgid "Unable to locate .debug_abbrev section!\n" msgstr "" -#: readelf.c:8569 +#: readelf.c:8348 msgid "debug_abbrev section data" msgstr "" -#: readelf.c:8606 +#: readelf.c:8385 #, c-format msgid "Unable to locate entry %lu in the abbreviation table\n" msgstr "" -#: readelf.c:8611 +#: readelf.c:8390 #, c-format msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" msgstr "" -#: readelf.c:8691 +#: readelf.c:8469 msgid "Only DWARF 2 and 3 aranges are currently supported.\n" msgstr "" -#: readelf.c:8695 +#: readelf.c:8473 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:8696 +#: readelf.c:8474 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:8697 +#: readelf.c:8475 #, c-format msgid " Offset into .debug_info: %lx\n" msgstr "" -#: readelf.c:8698 +#: readelf.c:8476 #, c-format msgid " Pointer Size: %d\n" msgstr "" -#: readelf.c:8699 +#: readelf.c:8477 #, c-format msgid " Segment Size: %d\n" msgstr "" -#: readelf.c:8701 +#: readelf.c:8479 +#, c-format msgid "" "\n" " Address Length\n" msgstr "" -#: readelf.c:8903 +#: readelf.c:8665 #, c-format msgid "The section %s contains:\n" msgstr "" -#: readelf.c:9538 +#: readelf.c:9299 #, c-format msgid "Displaying the debug contents of section %s is not yet supported.\n" msgstr "" -#: readelf.c:9634 +#: readelf.c:9343 #, c-format msgid "" "\n" "Section '%s' has no debugging data.\n" msgstr "" -#: readelf.c:9639 readelf.c:9701 +#: readelf.c:9348 msgid "debug section data" msgstr "" -#: readelf.c:9655 +#: readelf.c:9364 #, c-format msgid "Unrecognized debug section: %s\n" msgstr "" -#: readelf.c:9729 +#: readelf.c:9400 msgid "Some sections were not dumped because they do not exist!\n" msgstr "" -#: readelf.c:9806 readelf.c:10170 +#: readelf.c:9474 readelf.c:9831 msgid "liblist" msgstr "" -#: readelf.c:9891 +#: readelf.c:9559 msgid "options" msgstr "" -#: readelf.c:9922 +#: readelf.c:9589 #, c-format msgid "" "\n" "Section '%s' contains %d entries:\n" msgstr "" -#: readelf.c:10083 +#: readelf.c:9750 msgid "conflict list found without a dynamic symbol table" msgstr "" -#: readelf.c:10101 readelf.c:10117 +#: readelf.c:9766 readelf.c:9780 msgid "conflict" msgstr "" -#: readelf.c:10127 +#: readelf.c:9790 #, c-format msgid "" "\n" -"Section '.conflict' contains %ld entries:\n" +"Section '.conflict' contains %lu entries:\n" msgstr "" -#: readelf.c:10129 +#: readelf.c:9792 msgid " Num: Index Value Name" msgstr "" -#: readelf.c:10178 +#: readelf.c:9838 msgid "liblist string table" msgstr "" -#: readelf.c:10187 +#: readelf.c:9847 #, c-format msgid "" "\n" "Library list section '%s' contains %lu entries:\n" msgstr "" -#: readelf.c:10236 +#: readelf.c:9895 +msgid "NT_AUXV (auxiliary vector)" +msgstr "" + +#: readelf.c:9896 msgid "NT_PRSTATUS (prstatus structure)" msgstr "" -#: readelf.c:10237 +#: readelf.c:9897 msgid "NT_FPREGSET (floating point registers)" msgstr "" -#: readelf.c:10238 +#: readelf.c:9898 msgid "NT_PRPSINFO (prpsinfo structure)" msgstr "" -#: readelf.c:10239 +#: readelf.c:9899 msgid "NT_TASKSTRUCT (task structure)" msgstr "" -#: readelf.c:10240 +#: readelf.c:9900 msgid "NT_PRXFPREG (user_xfpregs structure)" msgstr "" -#: readelf.c:10241 +#: readelf.c:9901 msgid "NT_PSTATUS (pstatus structure)" msgstr "" -#: readelf.c:10242 +#: readelf.c:9902 msgid "NT_FPREGS (floating point registers)" msgstr "" -#: readelf.c:10243 +#: readelf.c:9903 msgid "NT_PSINFO (psinfo structure)" msgstr "" -#: readelf.c:10244 +#: readelf.c:9904 msgid "NT_LWPSTATUS (lwpstatus_t structure)" msgstr "" -#: readelf.c:10245 +#: readelf.c:9905 msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgstr "" -#: readelf.c:10246 +#: readelf.c:9906 msgid "NT_WIN32PSTATUS (win32_pstatus structure)" msgstr "" -#: readelf.c:10248 readelf.c:10272 +#: readelf.c:9908 readelf.c:9931 #, c-format msgid "Unknown note type: (0x%08x)" msgstr "" #. NetBSD core "procinfo" structure. -#: readelf.c:10262 +#: readelf.c:9921 msgid "NetBSD procinfo structure" msgstr "" -#: readelf.c:10289 readelf.c:10303 +#: readelf.c:9948 readelf.c:9962 msgid "PT_GETREGS (reg structure)" msgstr "" -#: readelf.c:10291 readelf.c:10305 +#: readelf.c:9950 readelf.c:9964 msgid "PT_GETFPREGS (fpreg structure)" msgstr "" -#: readelf.c:10311 +#: readelf.c:9970 #, c-format msgid "PT_FIRSTMACH+%d" msgstr "" -#: readelf.c:10365 +#: readelf.c:10019 msgid "notes" msgstr "" -#: readelf.c:10371 +#: readelf.c:10025 #, c-format msgid "" "\n" "Notes at offset 0x%08lx with length 0x%08lx:\n" msgstr "" -#: readelf.c:10373 +#: readelf.c:10027 +#, c-format msgid " Owner\t\tData size\tDescription\n" msgstr "" -#: readelf.c:10392 +#: readelf.c:10046 #, c-format msgid "corrupt note found at offset %x into core notes\n" msgstr "" -#: readelf.c:10394 +#: readelf.c:10048 #, c-format msgid " type: %x, namesize: %08lx, descsize: %08lx\n" msgstr "" -#: readelf.c:10476 +#: readelf.c:10128 +#, c-format msgid "No note segments present in the core file.\n" msgstr "" -#: readelf.c:10560 +#: readelf.c:10210 msgid "" "This instance of readelf has been built without support for a\n" "64 bit data type and so it cannot read 64 bit ELF files.\n" msgstr "" -#: readelf.c:10606 +#: readelf.c:10257 readelf.c:10552 #, c-format -msgid "Cannot stat input file %s.\n" +msgid "%s: Failed to read file header\n" msgstr "" -#: readelf.c:10613 +#: readelf.c:10270 #, c-format -msgid "Input file %s not found.\n" +msgid "" +"\n" +"File: %s\n" msgstr "" -#: readelf.c:10619 +#: readelf.c:10369 readelf.c:10390 readelf.c:10427 readelf.c:10507 #, c-format -msgid "%s: Failed to read file header\n" +msgid "%s: failed to read archive header\n" msgstr "" -#: readelf.c:10633 +#: readelf.c:10380 #, c-format -msgid "" -"\n" -"File: %s\n" +msgid "%s: failed to skip archive symbol table\n" +msgstr "" + +#: readelf.c:10412 +#, c-format +msgid "%s: failed to read string table\n" +msgstr "" + +#: readelf.c:10448 +#, c-format +msgid "%s: invalid archive string table offset %lu\n" +msgstr "" + +#: readelf.c:10464 +#, c-format +msgid "%s: bad archive file name\n" +msgstr "" + +#: readelf.c:10496 +#, c-format +msgid "%s: failed to seek to next archive header\n" +msgstr "" + +#: readelf.c:10530 +#, c-format +msgid "'%s': No such file\n" msgstr "" -#: rename.c:132 +#: readelf.c:10532 +#, c-format +msgid "Could not locate '%s'. System error message: %s\n" +msgstr "" + +#: readelf.c:10539 +#, c-format +msgid "'%s' is not an ordinary file\n" +msgstr "" + +#: readelf.c:10546 +#, c-format +msgid "Input file '%s' is not readable.\n" +msgstr "" + +#: rename.c:127 #, c-format msgid "%s: cannot set time: %s" msgstr "" #. We have to clean up here. -#: rename.c:171 rename.c:204 +#: rename.c:162 rename.c:200 #, c-format -msgid "%s: rename: %s" +msgid "unable to rename '%s' reason: %s" msgstr "" -#: rename.c:212 +#: rename.c:208 #, c-format -msgid "%s: simple_copy: %s" +msgid "unable to copy file '%s' reason: %s" msgstr "" -#: resbin.c:134 +#: resbin.c:132 #, c-format msgid "%s: not enough binary data" msgstr "" -#: resbin.c:153 +#: resbin.c:148 msgid "null terminated unicode string" msgstr "" -#: resbin.c:183 resbin.c:189 +#: resbin.c:175 resbin.c:181 msgid "resource ID" msgstr "" -#: resbin.c:233 +#: resbin.c:221 msgid "cursor" msgstr "" -#: resbin.c:267 resbin.c:274 +#: resbin.c:253 resbin.c:260 msgid "menu header" msgstr "" -#: resbin.c:284 +#: resbin.c:270 msgid "menuex header" msgstr "" -#: resbin.c:288 +#: resbin.c:274 msgid "menuex offset" msgstr "" -#: resbin.c:295 +#: resbin.c:281 #, c-format msgid "unsupported menu version %d" msgstr "" -#: resbin.c:323 resbin.c:338 resbin.c:404 +#: resbin.c:306 resbin.c:321 resbin.c:384 msgid "menuitem header" msgstr "" -#: resbin.c:434 +#: resbin.c:414 msgid "menuitem" msgstr "" -#: resbin.c:475 resbin.c:503 +#: resbin.c:453 resbin.c:481 msgid "dialog header" msgstr "" -#: resbin.c:493 +#: resbin.c:471 #, c-format msgid "unexpected DIALOGEX version %d" msgstr "" -#: resbin.c:538 +#: resbin.c:516 msgid "dialog font point size" msgstr "" -#: resbin.c:546 +#: resbin.c:524 msgid "dialogex font information" msgstr "" -#: resbin.c:572 resbin.c:590 +#: resbin.c:550 resbin.c:568 msgid "dialog control" msgstr "" -#: resbin.c:582 +#: resbin.c:560 msgid "dialogex control" msgstr "" -#: resbin.c:611 +#: resbin.c:589 msgid "dialog control end" msgstr "" -#: resbin.c:623 +#: resbin.c:601 msgid "dialog control data" msgstr "" -#: resbin.c:666 +#: resbin.c:642 msgid "stringtable string length" msgstr "" -#: resbin.c:676 +#: resbin.c:652 msgid "stringtable string" msgstr "" -#: resbin.c:709 +#: resbin.c:683 msgid "fontdir header" msgstr "" -#: resbin.c:722 +#: resbin.c:696 msgid "fontdir" msgstr "" -#: resbin.c:738 +#: resbin.c:712 msgid "fontdir device name" msgstr "" -#: resbin.c:744 +#: resbin.c:718 msgid "fontdir face name" msgstr "" -#: resbin.c:787 +#: resbin.c:759 msgid "accelerator" msgstr "" -#: resbin.c:851 +#: resbin.c:819 msgid "group cursor header" msgstr "" -#: resbin.c:855 +#: resbin.c:823 #, c-format msgid "unexpected group cursor type %d" msgstr "" -#: resbin.c:870 +#: resbin.c:838 msgid "group cursor" msgstr "" -#: resbin.c:909 +#: resbin.c:875 msgid "group icon header" msgstr "" -#: resbin.c:913 +#: resbin.c:879 #, c-format msgid "unexpected group icon type %d" msgstr "" -#: resbin.c:928 +#: resbin.c:894 msgid "group icon" msgstr "" -#: resbin.c:999 resbin.c:1218 +#: resbin.c:957 resbin.c:1174 msgid "unexpected version string" msgstr "" -#: resbin.c:1033 +#: resbin.c:989 #, c-format msgid "version length %d does not match resource length %lu" msgstr "" -#: resbin.c:1037 +#: resbin.c:993 #, c-format msgid "unexpected version type %d" msgstr "" -#: resbin.c:1049 +#: resbin.c:1005 #, c-format msgid "unexpected fixed version information length %d" msgstr "" -#: resbin.c:1052 +#: resbin.c:1008 msgid "fixed version info" msgstr "" -#: resbin.c:1056 +#: resbin.c:1012 #, c-format msgid "unexpected fixed version signature %lu" msgstr "" -#: resbin.c:1060 +#: resbin.c:1016 #, c-format msgid "unexpected fixed version info version %lu" msgstr "" -#: resbin.c:1089 +#: resbin.c:1045 msgid "version var info" msgstr "" -#: resbin.c:1106 +#: resbin.c:1062 #, c-format msgid "unexpected stringfileinfo value length %d" msgstr "" -#: resbin.c:1116 +#: resbin.c:1072 #, c-format msgid "unexpected version stringtable value length %d" msgstr "" -#: resbin.c:1150 +#: resbin.c:1106 #, c-format msgid "unexpected version string length %d != %d + %d" msgstr "" -#: resbin.c:1161 +#: resbin.c:1117 #, c-format msgid "unexpected version string length %d < %d" msgstr "" -#: resbin.c:1178 +#: resbin.c:1134 #, c-format msgid "unexpected varfileinfo value length %d" msgstr "" -#: resbin.c:1197 +#: resbin.c:1153 msgid "version varfileinfo" msgstr "" -#: resbin.c:1212 +#: resbin.c:1168 #, c-format msgid "unexpected version value length %d" msgstr "" -#: rescoff.c:128 +#: rescoff.c:126 msgid "filename required for COFF input" msgstr "" -#: rescoff.c:145 +#: rescoff.c:143 #, c-format msgid "%s: no resource section" msgstr "" -#: rescoff.c:152 +#: rescoff.c:150 msgid "can't read resource section" msgstr "" -#: rescoff.c:178 +#: rescoff.c:174 #, c-format msgid "%s: %s: address out of bounds" msgstr "" -#: rescoff.c:197 +#: rescoff.c:190 msgid "directory" msgstr "" -#: rescoff.c:225 +#: rescoff.c:218 msgid "named directory entry" msgstr "" -#: rescoff.c:234 +#: rescoff.c:227 msgid "directory entry name" msgstr "" -#: rescoff.c:254 +#: rescoff.c:247 msgid "named subdirectory" msgstr "" -#: rescoff.c:262 +#: rescoff.c:255 msgid "named resource" msgstr "" -#: rescoff.c:277 +#: rescoff.c:270 msgid "ID directory entry" msgstr "" -#: rescoff.c:294 +#: rescoff.c:287 msgid "ID subdirectory" msgstr "" -#: rescoff.c:302 +#: rescoff.c:295 msgid "ID resource" msgstr "" -#: rescoff.c:328 +#: rescoff.c:318 msgid "resource type unknown" msgstr "" -#: rescoff.c:331 +#: rescoff.c:321 msgid "data entry" msgstr "" -#: rescoff.c:339 +#: rescoff.c:329 msgid "resource data" msgstr "" -#: rescoff.c:344 +#: rescoff.c:334 msgid "resource data size" msgstr "" -#: rescoff.c:439 +#: rescoff.c:427 msgid "filename required for COFF output" msgstr "" -#: rescoff.c:738 +#: rescoff.c:719 msgid "can't get BFD_RELOC_RVA relocation type" msgstr "" -#: resrc.c:240 resrc.c:312 +#: resrc.c:237 resrc.c:308 #, c-format msgid "can't open temporary file `%s': %s" msgstr "" -#: resrc.c:246 +#: resrc.c:243 #, c-format msgid "can't redirect stdout: `%s': %s" msgstr "" -#: resrc.c:262 +#: resrc.c:259 #, c-format msgid "%s %s: %s" msgstr "" -#: resrc.c:308 +#: resrc.c:304 #, c-format msgid "can't execute `%s': %s" msgstr "" -#: resrc.c:317 +#: resrc.c:313 #, c-format msgid "Using temporary file `%s' to read preprocessor output\n" msgstr "" -#: resrc.c:324 +#: resrc.c:320 #, c-format msgid "can't popen `%s': %s" msgstr "" -#: resrc.c:326 +#: resrc.c:322 +#, c-format msgid "Using popen to read preprocessor output\n" msgstr "" -#: resrc.c:369 +#: resrc.c:361 #, c-format msgid "Tried `%s'\n" msgstr "" -#: resrc.c:380 +#: resrc.c:372 #, c-format msgid "Using `%s'\n" msgstr "" -#: resrc.c:542 +#: resrc.c:528 #, c-format msgid "%s:%d: %s\n" msgstr "" -#: resrc.c:551 +#: resrc.c:536 #, c-format msgid "%s: unexpected EOF" msgstr "" -#: resrc.c:608 +#: resrc.c:585 #, c-format msgid "%s: read of %lu returned %lu" msgstr "" -#: resrc.c:650 resrc.c:905 resrc.c:1178 resrc.c:1332 +#: resrc.c:623 resrc.c:860 resrc.c:1133 resrc.c:1274 #, c-format msgid "stat failed on bitmap file `%s': %s" msgstr "" -#: resrc.c:703 +#: resrc.c:674 #, c-format msgid "cursor file `%s' does not contain cursor data" msgstr "" -#: resrc.c:735 resrc.c:1049 +#: resrc.c:706 resrc.c:1002 #, c-format msgid "%s: fseek to %lu failed: %s" msgstr "" -#: resrc.c:873 +#: resrc.c:830 msgid "help ID requires DIALOGEX" msgstr "" -#: resrc.c:875 +#: resrc.c:832 msgid "control data requires DIALOGEX" msgstr "" -#: resrc.c:1018 +#: resrc.c:971 #, c-format msgid "icon file `%s' does not contain icon data" msgstr "" -#: resrc.c:1537 +#: resrc.c:1460 #, c-format msgid "can't open `%s' for output: %s" msgstr "" -#: size.c:86 +#: size.c:84 +#, c-format msgid " Displays the sizes of sections inside binary files\n" msgstr "" -#: size.c:87 +#: size.c:85 +#, c-format msgid " If no input file(s) are specified, a.out is assumed\n" msgstr "" -#: size.c:88 +#: size.c:86 #, c-format msgid "" " The options are:\n" @@ -4276,21 +4597,23 @@ msgid "" "\n" msgstr "" -#: size.c:160 +#: size.c:156 #, c-format msgid "invalid argument to --format: %s" msgstr "" -#: size.c:187 +#: size.c:183 #, c-format msgid "Invalid radix: %s\n" msgstr "" -#: srconv.c:1953 +#: srconv.c:1857 +#, c-format msgid "Convert a COFF object file into a SYSROFF object file\n" msgstr "" -#: srconv.c:1954 +#: srconv.c:1858 +#, c-format msgid "" " The options are:\n" " -q --quick (Obsolete - ignoerd)\n" @@ -4300,121 +4623,161 @@ msgid "" " -v --version Print the program's version number\n" msgstr "" -#: srconv.c:2099 +#: srconv.c:2001 #, c-format msgid "unable to open output file %s" msgstr "" -#: stabs.c:346 stabs.c:1755 +#: stabs.c:328 stabs.c:1706 msgid "numeric overflow" msgstr "" -#: stabs.c:357 +#: stabs.c:338 #, c-format msgid "Bad stab: %s\n" msgstr "" -#: stabs.c:367 +#: stabs.c:346 #, c-format msgid "Warning: %s: %s\n" msgstr "" -#: stabs.c:488 +#: stabs.c:456 +#, c-format msgid "N_LBRAC not within function\n" msgstr "" -#: stabs.c:527 +#: stabs.c:495 +#, c-format msgid "Too many N_RBRACs\n" msgstr "" -#: stabs.c:773 +#: stabs.c:736 msgid "unknown C++ encoded name" msgstr "" #. Complain and keep going, so compilers can invent new #. cross-reference types. -#: stabs.c:1293 +#: stabs.c:1251 msgid "unrecognized cross reference type" msgstr "" #. Does this actually ever happen? Is that why we are worrying #. about dealing with it rather than just calling error_type? -#: stabs.c:1847 +#: stabs.c:1798 msgid "missing index type" msgstr "" -#: stabs.c:2174 +#: stabs.c:2112 msgid "unknown virtual character for baseclass" msgstr "" -#: stabs.c:2192 +#: stabs.c:2130 msgid "unknown visibility character for baseclass" msgstr "" -#: stabs.c:2384 +#: stabs.c:2316 msgid "unnamed $vb type" msgstr "" -#: stabs.c:2390 +#: stabs.c:2322 msgid "unrecognized C++ abbreviation" msgstr "" -#: stabs.c:2470 +#: stabs.c:2398 msgid "unknown visibility character for field" msgstr "" -#: stabs.c:2726 +#: stabs.c:2650 msgid "const/volatile indicator missing" msgstr "" -#: stabs.c:2967 +#: stabs.c:2886 #, c-format msgid "No mangling for \"%s\"\n" msgstr "" -#: stabs.c:3281 +#: stabs.c:3186 msgid "Undefined N_EXCL" msgstr "" -#: stabs.c:3369 +#: stabs.c:3266 #, c-format msgid "Type file number %d out of range\n" msgstr "" -#: stabs.c:3374 +#: stabs.c:3271 #, c-format msgid "Type index number %d out of range\n" msgstr "" -#: stabs.c:3461 +#: stabs.c:3350 #, c-format msgid "Unrecognized XCOFF type %d\n" msgstr "" -#: stabs.c:3762 +#: stabs.c:3642 #, c-format msgid "bad mangled name `%s'\n" msgstr "" -#: stabs.c:3859 +#: stabs.c:3737 +#, c-format msgid "no argument types in mangled string\n" msgstr "" -#: strings.c:208 +#: stabs.c:5091 +#, c-format +msgid "Demangled name is not a function\n" +msgstr "" + +#: stabs.c:5111 +#, c-format +msgid "Unexpected type in demangle tree\n" +msgstr "" + +#: stabs.c:5181 +#, c-format +msgid "Unrecognized demangle component\n" +msgstr "" + +#: stabs.c:5232 +#, c-format +msgid "Failed to print demangled template\n" +msgstr "" + +#: stabs.c:5284 +#, c-format +msgid "Couldn't get demangled builtin type\n" +msgstr "" + +#: stabs.c:5333 +#, c-format +msgid "Unexpected demangled varargs\n" +msgstr "" + +#: stabs.c:5340 +#, c-format +msgid "Unrecognized demangled builtin type\n" +msgstr "" + +#: strings.c:198 #, c-format msgid "invalid number %s" msgstr "" -#: strings.c:647 +#: strings.c:625 #, c-format msgid "invalid integer argument %s" msgstr "" -#: strings.c:658 +#: strings.c:634 +#, c-format msgid " Display printable strings in [file(s)] (stdin by default)\n" msgstr "" -#: strings.c:659 +#: strings.c:635 +#, c-format msgid "" " The options are:\n" " -a - --all Scan the entire file, not just the data section\n" @@ -4433,76 +4796,84 @@ msgid "" " -v --version Print the program's version number\n" msgstr "" -#: sysdump.c:768 +#: sysdump.c:741 +#, c-format msgid "Print a human readable interpretation of a SYSROFF object file\n" msgstr "" -#: sysdump.c:769 +#: sysdump.c:742 +#, c-format msgid "" " The options are:\n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" -#: sysdump.c:836 +#: sysdump.c:807 #, c-format msgid "cannot open input file %s" msgstr "" -#: version.c:36 -msgid "Copyright 2002 Free Software Foundation, Inc.\n" +#: version.c:35 +#, c-format +msgid "Copyright 2004 Free Software Foundation, Inc.\n" msgstr "" -#: version.c:37 +#: version.c:36 +#, c-format msgid "" "This program is free software; you may redistribute it under the terms of\n" "the GNU General Public License. This program has absolutely no warranty.\n" msgstr "" -#: windres.c:205 +#: windres.c:200 #, c-format msgid "can't open %s `%s': %s" msgstr "" -#: windres.c:384 +#: windres.c:366 +#, c-format msgid ": expected to be a directory\n" msgstr "" -#: windres.c:396 +#: windres.c:378 +#, c-format msgid ": expected to be a leaf\n" msgstr "" -#: windres.c:405 +#: windres.c:387 #, c-format msgid "%s: warning: " msgstr "" -#: windres.c:407 +#: windres.c:389 +#, c-format msgid ": duplicate value\n" msgstr "" -#: windres.c:569 +#: windres.c:539 #, c-format msgid "unknown format type `%s'" msgstr "" -#: windres.c:570 +#: windres.c:540 #, c-format msgid "%s: supported formats:" msgstr "" #. Otherwise, we give up. -#: windres.c:655 +#: windres.c:623 #, c-format msgid "can not determine type of file `%s'; use the -I option" msgstr "" -#: windres.c:669 +#: windres.c:635 #, c-format msgid "Usage: %s [option(s)] [input-file] [output-file]\n" msgstr "" -#: windres.c:671 +#: windres.c:637 +#, c-format msgid "" " The options are:\n" " -i --input= Name input file\n" @@ -4522,53 +4893,57 @@ msgid "" " --no-use-temp-file Use popen (default)\n" msgstr "" -#: windres.c:687 +#: windres.c:653 +#, c-format msgid " --yydebug Turn on parser debugging\n" msgstr "" -#: windres.c:690 +#: windres.c:656 +#, c-format msgid "" " -r Ignored for compatibility with rc\n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" -#: windres.c:694 +#: windres.c:660 +#, c-format msgid "" "FORMAT is one of rc, res, or coff, and is deduced from the file name\n" "extension if not specified. A single file name is an input file.\n" "No input-file is stdin, default rc. No output-file is stdout, default rc.\n" msgstr "" -#: windres.c:833 +#: windres.c:796 msgid "invalid option -f\n" msgstr "" -#: windres.c:838 +#: windres.c:801 msgid "No filename following the -fo option.\n" msgstr "" -#: windres.c:896 +#: windres.c:859 +#, c-format msgid "" "Option -I is deprecated for setting the input format, please use -J " "instead.\n" msgstr "" -#: windres.c:1014 +#: windres.c:977 msgid "no resources" msgstr "" -#: wrstabs.c:395 wrstabs.c:2055 +#: wrstabs.c:354 wrstabs.c:1915 #, c-format msgid "string_hash_lookup failed: %s" msgstr "" -#: wrstabs.c:695 +#: wrstabs.c:635 #, c-format msgid "stab_int_type: bad size %u" msgstr "" -#: wrstabs.c:1495 +#: wrstabs.c:1393 #, c-format msgid "%s: warning: unknown size for field `%s' in struct" msgstr "" diff -uprN binutils-2.15.90.0.1.1/binutils/readelf.c binutils-2.15.90.0.2/binutils/readelf.c --- binutils-2.15.90.0.1.1/binutils/readelf.c 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/readelf.c 2004-04-12 12:56:34.000000000 -0700 @@ -1740,6 +1740,33 @@ decode_ARM_machine_flags (unsigned e_fla } break; + case EF_ARM_EABI_VER3: + strcat (buf, ", Version3 EABI"); + while (e_flags) + { + unsigned flag; + + /* Process flags one bit at a time. */ + flag = e_flags & - e_flags; + e_flags &= ~ flag; + + switch (flag) + { + case EF_ARM_BE8: + strcat (buf, ", BE8"); + break; + + case EF_ARM_LE8: + strcat (buf, ", LE8"); + break; + + default: + unknown = 1; + break; + } + } + break; + case EF_ARM_EABI_UNKNOWN: strcat (buf, ", GNU EABI"); while (e_flags) @@ -6767,7 +6794,7 @@ display_debug_pubnames (Elf_Internal_Shd if (offset != 0) { data += offset_size; - printf (" %ld\t\t%s\n", offset, data); + printf (" %-6ld\t\t%s\n", offset, data); data += strlen ((char *) data) + 1; } } @@ -7941,6 +7968,7 @@ read_and_display_attr_value (unsigned lo case DW_FORM_addr: printf (" %#lx", uvalue); + break; case DW_FORM_flag: case DW_FORM_data1: @@ -9150,13 +9178,19 @@ display_debug_frames (Elf_Internal_Shdr if (! do_debug_frames_interp) printf (" DW_CFA_restore_state\n"); rs = remembered_state; - remembered_state = rs->next; - frame_need_space (fc, rs->ncols-1); - memcpy (fc->col_type, rs->col_type, rs->ncols); - memcpy (fc->col_offset, rs->col_offset, rs->ncols * sizeof (int)); - free (rs->col_type); - free (rs->col_offset); - free (rs); + if (rs) + { + remembered_state = rs->next; + frame_need_space (fc, rs->ncols-1); + memcpy (fc->col_type, rs->col_type, rs->ncols); + memcpy (fc->col_offset, rs->col_offset, + rs->ncols * sizeof (int)); + free (rs->col_type); + free (rs->col_offset); + free (rs); + } + else if (do_debug_frames_interp) + printf ("Mismatched DW_CFA_restore_state\n"); break; case DW_CFA_def_cfa: @@ -9321,7 +9355,7 @@ debug_displays[] = { ".debug_macinfo", display_debug_macinfo }, { ".debug_str", display_debug_str }, { ".debug_loc", display_debug_loc }, - { ".debug_pubtypes", display_debug_not_supported }, + { ".debug_pubtypes", display_debug_pubnames }, { ".debug_ranges", display_debug_not_supported }, { ".debug_static_func", display_debug_not_supported }, { ".debug_static_vars", display_debug_not_supported }, diff -uprN binutils-2.15.90.0.1.1/binutils/testsuite/ChangeLog binutils-2.15.90.0.2/binutils/testsuite/ChangeLog --- binutils-2.15.90.0.1.1/binutils/testsuite/ChangeLog 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/testsuite/ChangeLog 2004-04-12 12:56:34.000000000 -0700 @@ -1,3 +1,7 @@ +2004-03-30 Jakub Jelinek + + * binutils-all/objcopy.exp: Accept main as a data symbol as well. + 2004-02-27 Andreas Schwab * binutils-all/ar.exp (argument_parsing): New test. diff -uprN binutils-2.15.90.0.1.1/binutils/testsuite/binutils-all/objcopy.exp binutils-2.15.90.0.2/binutils/testsuite/binutils-all/objcopy.exp --- binutils-2.15.90.0.1.1/binutils/testsuite/binutils-all/objcopy.exp 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/binutils/testsuite/binutils-all/objcopy.exp 2004-04-12 12:56:34.000000000 -0700 @@ -620,8 +620,8 @@ proc strip_executable_with_saving_a_symb regsub "^\[0-9a-fA-F\]+\[ \]+T Main\[\n\r\]+" $exec_output "" exec_output } - if {![regexp {^[0-9a-fA-F]+ T main} $exec_output] \ - && ![regexp {^[0-9a-fA-F]+ T _main} $exec_output]} { + if {![regexp {^([0-9a-fA-F]+)?[ ]+[TD] main} $exec_output] \ + && ![regexp {^([0-9a-fA-F]+)?[ ]+[TD] _main} $exec_output]} { fail $test return } diff -uprN binutils-2.15.90.0.1.1/binutils.spec binutils-2.15.90.0.2/binutils.spec --- binutils-2.15.90.0.1.1/binutils.spec 2004-03-05 11:19:00.000000000 -0800 +++ binutils-2.15.90.0.2/binutils.spec 2004-04-09 08:35:15.000000000 -0700 @@ -12,7 +12,7 @@ Summary: A GNU collection of binary utilities. Name: binutils -Version: 2.15.90.0.1.1 +Version: 2.15.90.0.2 Release: 1 Copyright: GPL Group: Development/Tools diff -uprN binutils-2.15.90.0.1.1/config/ChangeLog binutils-2.15.90.0.2/config/ChangeLog --- binutils-2.15.90.0.1.1/config/ChangeLog 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/config/ChangeLog 2004-04-12 12:56:34.000000000 -0700 @@ -1,3 +1,15 @@ +2004-03-08 Paolo Bonzini + + PR ada/14131 + Move language detection to the top level. + * acx.m4 (ACX_PROG_GNAT): New macro, moved here + from the gcc subdirectory. + +2004-03-09 Hans-Peter Nilsson + + * accross.m4 (AC_C_BIGENDIAN_CROSS): Compile endian probe with + "-c". Properly quote parameter for AC_MSG_ERROR. + 2004-01-14 Maciej W. Rozycki * acinclude.m4: Quote names of macros to be defined by AC_DEFUN diff -uprN binutils-2.15.90.0.1.1/config/accross.m4 binutils-2.15.90.0.2/config/accross.m4 --- binutils-2.15.90.0.1.1/config/accross.m4 2002-12-16 12:22:52.000000000 -0800 +++ binutils-2.15.90.0.2/config/accross.m4 2004-04-12 12:56:34.000000000 -0700 @@ -64,7 +64,7 @@ void _ebcdic() { char* s = (char*) ebcdi int main() { _ascii (); _ebcdic (); return 0; } EOF ] if test -f conftest.c ; then - if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then + if ${CC-cc} ${CFLAGS} -c conftest.c -o conftest.o && test -f conftest.o ; then if test `grep -l BIGenDianSyS conftest.o` ; then echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG ac_cv_c_bigendian=yes @@ -93,6 +93,6 @@ else fi AC_DEFINE_UNQUOTED(BYTEORDER, $BYTEORDER, [1234 = LIL_ENDIAN, 4321 = BIGENDIAN]) if test $ac_cv_c_bigendian = unknown; then - AC_MSG_ERROR(unknown endianess - sorry, please pre-set ac_cv_c_bigendian) + AC_MSG_ERROR([unknown endianess - sorry, please pre-set ac_cv_c_bigendian]) fi ]) diff -uprN binutils-2.15.90.0.1.1/config/acx.m4 binutils-2.15.90.0.2/config/acx.m4 --- binutils-2.15.90.0.1.1/config/acx.m4 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/config/acx.m4 2004-04-12 12:56:34.000000000 -0700 @@ -155,3 +155,38 @@ AC_DEFUN([AC_PROG_CPP_WERROR], [AC_REQUIRE([AC_PROG_CPP])dnl m4_define([AC_CHECK_HEADER],m4_defn([_AC_CHECK_HEADER_OLD])) ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR + +# Test for GNAT. +# We require the gnatbind program, and a compiler driver that +# understands Ada. We use the user's CC setting, already found. +# +# Sets the shell variable have_gnat to yes or no as appropriate, and +# substitutes GNATBIND. +AC_DEFUN([ACX_PROG_GNAT], +[AC_REQUIRE([AC_CHECK_TOOL_PREFIX]) +AC_REQUIRE([AC_PROG_CC]) +AC_CHECK_TOOL(GNATBIND, gnatbind, no) +AC_CACHE_CHECK([whether compiler driver understands Ada], + acx_cv_cc_gcc_supports_ada, +[cat >conftest.adb <&1 || echo failure` +if test x"$errors" = x; then + acx_cv_cc_gcc_supports_ada=yes + break +fi +rm -f conftest.*]) + +if test x$GNATBIND != xno && test x$acx_cv_gcc_supports_ada != xno; then + have_gnat=yes +else + have_gnat=no +fi +]) diff -uprN binutils-2.15.90.0.1.1/configure binutils-2.15.90.0.2/configure --- binutils-2.15.90.0.1.1/configure 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/configure 2004-04-12 12:56:33.000000000 -0700 @@ -21,6 +21,8 @@ ac_help="$ac_help ac_help="$ac_help --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer" +ac_help="$ac_help + --enable-werror enable -Werror in bootstrap stage2 and later" # Initialize some variables set by options. # The variables have the same names as the options, with @@ -579,7 +581,7 @@ else { echo "configure: error: can not r fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:583: checking host system type" >&5 +echo "configure:585: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -600,7 +602,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)- echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:604: checking target system type" >&5 +echo "configure:606: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -618,7 +620,7 @@ target_os=`echo $target | sed 's/^\([^-] echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:622: checking build system type" >&5 +echo "configure:624: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -673,7 +675,7 @@ test "$program_transform_name" = "" && p # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:677: checking for a BSD compatible install" >&5 +echo "configure:679: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -769,6 +771,14 @@ test -z "$INSTALL_DATA" && INSTALL_DATA= # AC_PROG_CPP_WERROR +# Test for GNAT. +# We require the gnatbind program, and a compiler driver that +# understands Ada. We use the user's CC setting, already found. +# +# Sets the shell variable have_gnat to yes or no as appropriate, and +# substitutes GNATBIND. + + ### we might need to use some other shell than /bin/sh for running subshells ### If we are on Windows, search for the shell. This will permit people @@ -1379,7 +1389,7 @@ case "${target}" in ;; powerpc-*-aix*) # copied from rs6000-*-* entry - noconfigdirs="$noconfigdirs gprof target-libada target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" @@ -1401,7 +1411,7 @@ case "${target}" in noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}" ;; rs6000-*-aix*) - noconfigdirs="$noconfigdirs gprof target-libada target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; rs6000-*-*) noconfigdirs="$noconfigdirs gprof ${libgcj}" @@ -1514,273 +1524,6 @@ case "${noconfigdirs}" in *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;; esac -# Figure out what language subdirectories are present. -# Look if the user specified --enable-languages="..."; if not, use -# the environment variable $LANGUAGES if defined. $LANGUAGES might -# go away some day. -# NB: embedded tabs in this IF block -- do not untabify -if test x"${enable_languages+set}" != xset; then - if test x"${LANGUAGES+set}" = xset; then - enable_languages="${LANGUAGES}" - echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2 - else - enable_languages=all - fi -else - if test x"${enable_languages}" = x || - test x"${enable_languages}" = xyes; - then - echo configure.in: --enable-languages needs at least one language argument 1>&2 - exit 1 - fi -fi -enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'` - -# First scan to see if an enabled language requires some other language. -# We assume that a given config-lang.in will list all the language -# front ends it requires, even if some are required indirectly. -for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do - case ${lang_frag} in - ..) ;; - # The odd quoting in the next line works around - # an apparent bug in bash 1.12 on linux. - ${srcdir}/gcc/[*]/config-lang.in) ;; - *) - # From the config-lang.in, get $language, $lang_requires - language= - lang_requires= - . ${lang_frag} - for other in ${lang_requires} ; do - case ,${enable_languages}, in - *,$other,*) ;; - *,all,*) ;; - *,$language,*) - echo " \`$other' language required by \`$language'; enabling" 1>&2 - enable_languages="${enable_languages},${other}" - ;; - esac - done - ;; - esac -done - -for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do - case ${lang_frag} in - ..) ;; - # The odd quoting in the next line works around - # an apparent bug in bash 1.12 on linux. - ${srcdir}/gcc/[*]/config-lang.in) ;; - *) - # From the config-lang.in, get $language, $target_libs, - # $lang_dirs, and $build_by_default - language= - target_libs= - lang_dirs= - build_by_default= - . ${lang_frag} - if test "x$language" = x ; then - echo "${lang_frag} doesn't set \$language." 1>&2 - exit 1 - fi - case ,${enable_languages}, in - *,${language},*) - # Language was explicitly selected; include it. - add_this_lang=yes - ;; - *,all,*) - # 'all' was selected; include 'default' languages. - case ${build_by_default} in - no) add_this_lang=no ;; - *) add_this_lang=yes ;; - esac - ;; - *) add_this_lang=no ;; - esac - case ${add_this_lang} in - no) - # Remove language-dependent dirs. - eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" - ;; - esac - ;; - esac -done - -# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and -# $target_configdirs. -# If we have the source for $noconfigdirs entries, add them to $notsupp. - -notsupp="" -for dir in . $skipdirs $noconfigdirs ; do - dirname=`echo $dir | sed -e s/target-//g` - if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"` - if test -r $srcdir/$dirname/configure ; then - if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then - true - else - notsupp="$notsupp $dir" - fi - fi - fi - if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"` - if test -r $srcdir/$dirname/configure ; then - if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then - true - else - notsupp="$notsupp $dir" - fi - fi - fi -done - -# Sometimes the tools are distributed with libiberty but with no other -# libraries. In that case, we don't want to build target-libiberty. -if test -n "${target_configdirs}" ; then - others= - for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do - if test "$i" != "libiberty" ; then - if test -r $srcdir/$i/configure ; then - others=yes; - break; - fi - fi - done - if test -z "${others}" ; then - target_configdirs= - fi -fi - -# Quietly strip out all directories which aren't configurable in this tree. -# This relies on all configurable subdirectories being autoconfiscated, which -# is now the case. -configdirs_all="$configdirs" -configdirs= -for i in ${configdirs_all} ; do - if test -f ${srcdir}/$i/configure ; then - configdirs="${configdirs} $i" - fi -done -target_configdirs_all="$target_configdirs" -target_configdirs= -for i in ${target_configdirs_all} ; do - j=`echo $i | sed -e s/target-//g` - if test -f ${srcdir}/$j/configure ; then - target_configdirs="${target_configdirs} $i" - fi -done - -# Produce a warning message for the subdirs we can't configure. -# This isn't especially interesting in the Cygnus tree, but in the individual -# FSF releases, it's important to let people know when their machine isn't -# supported by the one or two programs in a package. - -if test -n "${notsupp}" && test -z "${norecursion}" ; then - # If $appdirs is non-empty, at least one of those directories must still - # be configured, or we error out. (E.g., if the gas release supports a - # specified target in some subdirs but not the gas subdir, we shouldn't - # pretend that all is well.) - if test -n "$appdirs" ; then - for dir in $appdirs ; do - if test -r $dir/Makefile.in ; then - if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - appdirs="" - break - fi - if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - appdirs="" - break - fi - fi - done - if test -n "$appdirs" ; then - echo "*** This configuration is not supported by this package." 1>&2 - exit 1 - fi - fi - # Okay, some application will build, or we don't care to check. Still - # notify of subdirs not getting built. - echo "*** This configuration is not supported in the following subdirectories:" 1>&2 - echo " ${notsupp}" 1>&2 - echo " (Any other directories should still work fine.)" 1>&2 -fi - -case "$host" in - *msdosdjgpp*) - enable_gdbtk=no ;; -esac - -copy_dirs= - -# Handle --with-headers=XXX. If the value is not "yes", the contents of -# the named directory are copied to $(tooldir)/sys-include. -if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then - if test x${is_cross_compiler} = xno ; then - echo 1>&2 '***' --with-headers is only supported when cross compiling - exit 1 - fi - if test x"${with_headers}" != xyes ; then - case "${exec_prefixoption}" in - "") x=${prefix} ;; - *) x=${exec_prefix} ;; - esac - copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include" - fi -fi - -# Handle --with-libs=XXX. If the value is not "yes", the contents of -# the name directories are copied to $(tooldir)/lib. Multiple directories -# are permitted. -if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then - if test x${is_cross_compiler} = xno ; then - echo 1>&2 '***' --with-libs is only supported when cross compiling - exit 1 - fi - if test x"${with_libs}" != xyes ; then - # Copy the libraries in reverse order, so that files in the first named - # library override files in subsequent libraries. - case "${exec_prefixoption}" in - "") x=${prefix} ;; - *) x=${exec_prefix} ;; - esac - for l in ${with_libs}; do - copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}" - done - fi -fi - -# Handle ${copy_dirs} -set fnord ${copy_dirs} -shift -while test $# != 0 ; do - if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then - : - else - echo Copying $1 to $2 - - # Use the install script to create the directory and all required - # parent directories. - if test -d $2 ; then - : - else - echo >config.temp - ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED - fi - - # Copy the directory, assuming we have tar. - # FIXME: Should we use B in the second tar? Not all systems support it. - (cd $1; tar -cf - .) | (cd $2; tar -xpf -) - - # It is the responsibility of the user to correctly adjust all - # symlinks. If somebody can figure out how to handle them correctly - # here, feel free to add the code. - - echo $1 > $2/COPIED - fi - shift; shift -done - # Work in distributions that contain no compiler tools, like Autoconf. tentative_cc="" host_makefile_frag=/dev/null @@ -1932,51 +1675,857 @@ case "${host}" in esac fi -extra_arflags_for_target= -extra_nmflags_for_target= -extra_ranlibflags_for_target= -target_makefile_frag=/dev/null -case "${target}" in - i[3456789]86-*-netware*) - target_makefile_frag="config/mt-netware" - ;; - powerpc-*-netware*) - target_makefile_frag="config/mt-netware" - ;; - *-*-linux*) - target_makefile_frag="config/mt-linux" - ;; - *-*-aix4.[3456789]* | *-*-aix[56789].*) - # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm - # commands to handle both 32-bit and 64-bit objects. These flags are - # harmless if we're using GNU nm or ar. - extra_arflags_for_target=" -X32_64" - extra_nmflags_for_target=" -B -X32_64" - ;; - *-*-darwin*) - # ranlib from Darwin requires the -c flag to look at common symbols. - extra_ranlibflags_for_target=" -c" - ;; - mips*-*-pe | sh*-*-pe | *arm-wince-pe) - target_makefile_frag="config/mt-wince" - ;; -esac - -alphaieee_frag=/dev/null -case $target in - alpha*-*-*) - # This just makes sure to use the -mieee option to build target libs. - # This should probably be set individually by each library. - alphaieee_frag="config/mt-alphaieee" - ;; -esac - -# If --enable-target-optspace always use -Os instead of -O2 to build -# the target libraries, similarly if it is not specified, use -Os -# on selected platforms. -ospace_frag=/dev/null -case "${enable_target_optspace}:${target}" in - yes:*) +# If we aren't going to be using gcc, see if we can extract a definition +# of CC from the fragment. +# Actually, use the 'pre-extracted' version above. +if test -z "${CC}" && test "${build}" = "${host}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + found= + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/gcc; then + found=yes + break + fi + done + IFS="$save_ifs" + if test -z "${found}" && test -n "${tentative_cc}" ; then + CC=$tentative_cc + fi +fi + +if test "${build}" != "${host}" ; then + # If we are doing a Canadian Cross, in which the host and build systems + # are not the same, we set reasonable default values for the tools. + + BISON=${BISON-bison} + CC=${CC-${host_alias}-gcc} + CFLAGS=${CFLAGS-"-g -O2"} + CXX=${CXX-${host_alias}-c++} + CXXFLAGS=${CXXFLAGS-"-g -O2"} + CC_FOR_BUILD=${CC_FOR_BUILD-gcc} + CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc} + CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++} + GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj} + GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}} + BUILD_PREFIX=${build_alias}- + BUILD_PREFIX_1=${build_alias}- + MAKEINFO=${MAKEINFO-makeinfo} + + if test -z "${YACC}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/bison; then + YACC="bison -y" + break + fi + if test -f $dir/byacc; then + YACC=byacc + break + fi + if test -f $dir/yacc; then + YACC=yacc + break + fi + done + IFS="$save_ifs" + if test -z "${YACC}" ; then + YACC="bison -y" + fi + fi + + if test -z "${LEX}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/flex; then + LEX=flex + break + fi + if test -f $dir/lex; then + LEX=lex + break + fi + done + IFS="$save_ifs" + LEX=${LEX-flex} + fi + +else + # Set reasonable default values for some tools even if not Canadian. + # Of course, these are different reasonable default values, originally + # specified directly in the Makefile. + # We don't export, so that autoconf can do its job. + # Note that all these settings are above the fragment inclusion point + # in Makefile.in, so can still be overridden by fragments. + # This is all going to change when we autoconfiscate... + + BISON="\$(USUAL_BISON)" + CC_FOR_BUILD="\$(CC)" + GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)" + BUILD_PREFIX= + BUILD_PREFIX_1=loser- + MAKEINFO="\$(USUAL_MAKEINFO)" + LEX="\$(USUAL_LEX)" + YACC="\$(USUAL_YACC)" + + # If CC is still not set, try to get gcc. + cc_prog_is_gcc= + if test -z "${CC}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/gcc; then + CC="gcc" + cc_prog_is_gcc=yes + echo 'void f(){}' > conftest.c + if test -z "`${CC} -g -c conftest.c 2>&1`"; then + CFLAGS=${CFLAGS-"-g -O2"} + CXXFLAGS=${CXXFLAGS-"-g -O2"} + else + CFLAGS=${CFLAGS-"-O2"} + CXXFLAGS=${CXXFLAGS-"-O2"} + fi + rm -f conftest* + break + fi + done + IFS="$save_ifs" + CC=${CC-cc} + else + # Determine if we are using gcc. + cat > conftest.c </dev/null 2>&1; then + cc_prog_is_gcc=yes + fi + rm -f conftest.c + if test -z "${CFLAGS}"; then + # Here CC is set but CFLAGS is not. Use a quick hack to use -O2 if CC + # is set to a version of gcc. + if test "$cc_prog_is_gcc" = yes; then + echo 'void f(){}' > conftest.c + if test -z "`${CC} -g -c conftest.c 2>&1`"; then + CFLAGS=${CFLAGS-"-g -O2"} + CXXFLAGS=${CXXFLAGS-"-g -O2"} + else + CFLAGS=${CFLAGS-"-O2"} + CXXFLAGS=${CXXFLAGS-"-O2"} + fi + rm -f conftest* + fi + fi + fi + + # We must set the default linker to the linker used by gcc for the correct + # operation of libtool. If LD is not defined and we are using gcc, try to + # set the LD default to the ld used by gcc. + if test -z "$LD"; then + if test "$cc_prog_is_gcc" = yes; then + case $build in + *-*-mingw*) + gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;; + *) + gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;; + esac + case $gcc_prog_ld in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + LD="$gcc_prog_ld" ;; + esac + fi + fi + + CXX=${CXX-"c++"} + CFLAGS=${CFLAGS-"-g"} + CXXFLAGS=${CXXFLAGS-"-g -O2"} +fi + +if test $host != $build; then + ac_tool_prefix=${host_alias}- +else + ac_tool_prefix= +fi + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1858: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1888: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_prog_rejected=no + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + break + fi + done + IFS="$ac_save_ifs" +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# -gt 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + set dummy "$ac_dir/$ac_word" "$@" + shift + ac_cv_prog_CC="$@" + fi +fi +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # Extract the first word of "cl", so it can be a program name with args. +set dummy cl; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1939: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi + test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } +fi + +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:1971: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +cat > conftest.$ac_ext << EOF + +#line 1982 "configure" +#include "confdefs.h" + +main(){return(0);} +EOF +if { (eval echo configure:1987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cc_cross=no + else + ac_cv_prog_cc_cross=yes + fi +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cc_works=no +fi +rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 +if test $ac_cv_prog_cc_works = no; then + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } +fi +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:2013: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 +cross_compiling=$ac_cv_prog_cc_cross + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +echo "configure:2018: checking whether we are using GNU C" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 + +if test $ac_cv_prog_gcc = yes; then + GCC=yes +else + GCC= +fi + +ac_test_CFLAGS="${CFLAGS+set}" +ac_save_CFLAGS="$CFLAGS" +CFLAGS= +echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +echo "configure:2046: checking whether ${CC-cc} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_cc_g=yes +else + ac_cv_prog_cc_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi + + + +# Extract the first word of "${ac_tool_prefix}gnatbind", so it can be a program name with args. +set dummy ${ac_tool_prefix}gnatbind; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2082: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$GNATBIND"; then + ac_cv_prog_GNATBIND="$GNATBIND" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_GNATBIND="${ac_tool_prefix}gnatbind" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +GNATBIND="$ac_cv_prog_GNATBIND" +if test -n "$GNATBIND"; then + echo "$ac_t""$GNATBIND" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + +if test -z "$ac_cv_prog_GNATBIND"; then +if test -n "$ac_tool_prefix"; then + # Extract the first word of "gnatbind", so it can be a program name with args. +set dummy gnatbind; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2114: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$GNATBIND"; then + ac_cv_prog_GNATBIND="$GNATBIND" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_GNATBIND="gnatbind" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_GNATBIND" && ac_cv_prog_GNATBIND="no" +fi +fi +GNATBIND="$ac_cv_prog_GNATBIND" +if test -n "$GNATBIND"; then + echo "$ac_t""$GNATBIND" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +else + GNATBIND="no" +fi +fi + +echo $ac_n "checking whether compiler driver understands Ada""... $ac_c" 1>&6 +echo "configure:2147: checking whether compiler driver understands Ada" >&5 +if eval "test \"`echo '$''{'acx_cv_cc_gcc_supports_ada'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat >conftest.adb <&1 || echo failure` +if test x"$errors" = x; then + acx_cv_cc_gcc_supports_ada=yes + break +fi +rm -f conftest.* +fi + +echo "$ac_t""$acx_cv_cc_gcc_supports_ada" 1>&6 + +if test x$GNATBIND != xno && test x$acx_cv_gcc_supports_ada != xno; then + have_gnat=yes +else + have_gnat=no +fi + + +# By default, C is the only stage 1 language. +stage1_languages=c + + +# Figure out what language subdirectories are present. +# Look if the user specified --enable-languages="..."; if not, use +# the environment variable $LANGUAGES if defined. $LANGUAGES might +# go away some day. +# NB: embedded tabs in this IF block -- do not untabify +if test -d ${srcdir}/gcc; then + if test x"${enable_languages+set}" != xset; then + if test x"${LANGUAGES+set}" = xset; then + enable_languages="${LANGUAGES}" + echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2 + else + enable_languages=all + fi + else + if test x"${enable_languages}" = x || + test x"${enable_languages}" = xyes; + then + echo configure.in: --enable-languages needs at least one language argument 1>&2 + exit 1 + fi + fi + enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'` + + # First scan to see if an enabled language requires some other language. + # We assume that a given config-lang.in will list all the language + # front ends it requires, even if some are required indirectly. + for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do + case ${lang_frag} in + ..) ;; + # The odd quoting in the next line works around + # an apparent bug in bash 1.12 on linux. + ${srcdir}/gcc/[*]/config-lang.in) ;; + *) + # From the config-lang.in, get $language, $lang_requires + language= + lang_requires= + . ${lang_frag} + for other in ${lang_requires} ; do + case ,${enable_languages}, in + *,$other,*) ;; + *,all,*) ;; + *,$language,*) + echo " \`$other' language required by \`$language'; enabling" 1>&2 + enable_languages="${enable_languages},${other}" + ;; + esac + done + ;; + esac + done + + new_enable_languages=c + missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` + + for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do + case ${lang_frag} in + ..) ;; + # The odd quoting in the next line works around + # an apparent bug in bash 1.12 on linux. + ${srcdir}/gcc/[*]/config-lang.in) ;; + *) + # From the config-lang.in, get $language, $target_libs, + # $lang_dirs, $boot_language, and $build_by_default + language= + target_libs= + lang_dirs= + boot_language= + build_by_default= + . ${lang_frag} + # This is quite sensitive to the ordering of the case statement arms. + case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in + *::*:*) + echo "${lang_frag} doesn't set \$language." 1>&2 + exit 1 + ;; + *:ada:no:*) + # Ada was requested with no preexisting GNAT. Disable unconditionally. + add_this_lang=no + ;; + *,${language},*:*:*:*) + # Language was explicitly selected; include it. + add_this_lang=yes + ;; + *,all,*:*:*:no) + # 'all' was selected, but this is not a default language + # so do not include it. + add_this_lang=no + ;; + *,all,*:*:*:*) + # 'all' was selected and this is a default language; include it. + add_this_lang=yes + ;; + *) + add_this_lang=no + ;; + esac + case $add_this_lang in + no) + # Remove language-dependent dirs. + eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" + ;; + *) + new_enable_languages="$new_enable_languages,$language" + missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"` + case ${boot_language} in + yes) + # Add to (comma-separated) list of stage 1 languages. + stage1_languages="${stage1_languages},${language}" + ;; + esac + ;; + esac + ;; + esac + done + + missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"` + if test "x$missing_languages" != x; then + { echo "configure: error: +The following requested languages were not found: ${missing_languages}" 1>&2; exit 1; } + fi + + if test "x$new_enable_languages" != "x$enable_languages"; then + echo The following languages will be built: ${new_enable_languages} + fi + enable_languages="$new_enable_languages" + ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[^ ]*//' -e 's/$/ --enable-languages='"$enable_languages"/ ` +fi + +# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and +# $target_configdirs. +# If we have the source for $noconfigdirs entries, add them to $notsupp. + +notsupp="" +for dir in . $skipdirs $noconfigdirs ; do + dirname=`echo $dir | sed -e s/target-//g` + if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"` + if test -r $srcdir/$dirname/configure ; then + if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then + true + else + notsupp="$notsupp $dir" + fi + fi + fi + if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"` + if test -r $srcdir/$dirname/configure ; then + if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then + true + else + notsupp="$notsupp $dir" + fi + fi + fi +done + +# Sometimes the tools are distributed with libiberty but with no other +# libraries. In that case, we don't want to build target-libiberty. +if test -n "${target_configdirs}" ; then + others= + for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do + if test "$i" != "libiberty" ; then + if test -r $srcdir/$i/configure ; then + others=yes; + break; + fi + fi + done + if test -z "${others}" ; then + target_configdirs= + fi +fi + +# Quietly strip out all directories which aren't configurable in this tree. +# This relies on all configurable subdirectories being autoconfiscated, which +# is now the case. +configdirs_all="$configdirs" +configdirs= +for i in ${configdirs_all} ; do + if test -f ${srcdir}/$i/configure ; then + configdirs="${configdirs} $i" + fi +done +target_configdirs_all="$target_configdirs" +target_configdirs= +for i in ${target_configdirs_all} ; do + j=`echo $i | sed -e s/target-//g` + if test -f ${srcdir}/$j/configure ; then + target_configdirs="${target_configdirs} $i" + fi +done + +# Produce a warning message for the subdirs we can't configure. +# This isn't especially interesting in the Cygnus tree, but in the individual +# FSF releases, it's important to let people know when their machine isn't +# supported by the one or two programs in a package. + +if test -n "${notsupp}" && test -z "${norecursion}" ; then + # If $appdirs is non-empty, at least one of those directories must still + # be configured, or we error out. (E.g., if the gas release supports a + # specified target in some subdirs but not the gas subdir, we shouldn't + # pretend that all is well.) + if test -n "$appdirs" ; then + for dir in $appdirs ; do + if test -r $dir/Makefile.in ; then + if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + appdirs="" + break + fi + if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + appdirs="" + break + fi + fi + done + if test -n "$appdirs" ; then + echo "*** This configuration is not supported by this package." 1>&2 + exit 1 + fi + fi + # Okay, some application will build, or we don't care to check. Still + # notify of subdirs not getting built. + echo "*** This configuration is not supported in the following subdirectories:" 1>&2 + echo " ${notsupp}" 1>&2 + echo " (Any other directories should still work fine.)" 1>&2 +fi + +case "$host" in + *msdosdjgpp*) + enable_gdbtk=no ;; +esac + +copy_dirs= + +# Handle --with-headers=XXX. If the value is not "yes", the contents of +# the named directory are copied to $(tooldir)/sys-include. +if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then + if test x${is_cross_compiler} = xno ; then + echo 1>&2 '***' --with-headers is only supported when cross compiling + exit 1 + fi + if test x"${with_headers}" != xyes ; then + case "${exec_prefixoption}" in + "") x=${prefix} ;; + *) x=${exec_prefix} ;; + esac + copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include" + fi +fi + +# Handle --with-libs=XXX. If the value is not "yes", the contents of +# the name directories are copied to $(tooldir)/lib. Multiple directories +# are permitted. +if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then + if test x${is_cross_compiler} = xno ; then + echo 1>&2 '***' --with-libs is only supported when cross compiling + exit 1 + fi + if test x"${with_libs}" != xyes ; then + # Copy the libraries in reverse order, so that files in the first named + # library override files in subsequent libraries. + case "${exec_prefixoption}" in + "") x=${prefix} ;; + *) x=${exec_prefix} ;; + esac + for l in ${with_libs}; do + copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}" + done + fi +fi + +# Handle ${copy_dirs} +set fnord ${copy_dirs} +shift +while test $# != 0 ; do + if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then + : + else + echo Copying $1 to $2 + + # Use the install script to create the directory and all required + # parent directories. + if test -d $2 ; then + : + else + echo >config.temp + ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED + fi + + # Copy the directory, assuming we have tar. + # FIXME: Should we use B in the second tar? Not all systems support it. + (cd $1; tar -cf - .) | (cd $2; tar -xpf -) + + # It is the responsibility of the user to correctly adjust all + # symlinks. If somebody can figure out how to handle them correctly + # here, feel free to add the code. + + echo $1 > $2/COPIED + fi + shift; shift +done + +extra_arflags_for_target= +extra_nmflags_for_target= +extra_ranlibflags_for_target= +target_makefile_frag=/dev/null +case "${target}" in + i[3456789]86-*-netware*) + target_makefile_frag="config/mt-netware" + ;; + powerpc-*-netware*) + target_makefile_frag="config/mt-netware" + ;; + *-*-linux*) + target_makefile_frag="config/mt-linux" + ;; + *-*-aix4.[3456789]* | *-*-aix[56789].*) + # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm + # commands to handle both 32-bit and 64-bit objects. These flags are + # harmless if we're using GNU nm or ar. + extra_arflags_for_target=" -X32_64" + extra_nmflags_for_target=" -B -X32_64" + ;; + *-*-darwin*) + # ranlib from Darwin requires the -c flag to look at common symbols. + extra_ranlibflags_for_target=" -c" + ;; + mips*-*-pe | sh*-*-pe | *arm-wince-pe) + target_makefile_frag="config/mt-wince" + ;; +esac + +alphaieee_frag=/dev/null +case $target in + alpha*-*-*) + # This just makes sure to use the -mieee option to build target libs. + # This should probably be set individually by each library. + alphaieee_frag="config/mt-alphaieee" + ;; +esac + +# If --enable-target-optspace always use -Os instead of -O2 to build +# the target libraries, similarly if it is not specified, use -Os +# on selected platforms. +ospace_frag=/dev/null +case "${enable_target_optspace}:${target}" in + yes:*) ospace_frag="config/mt-ospace" ;; :d30v-*) @@ -2046,281 +2595,119 @@ case "${host}" in ;; esac -# If we aren't going to be using gcc, see if we can extract a definition -# of CC from the fragment. -# Actually, use the 'pre-extracted' version above. -if test -z "${CC}" && test "${build}" = "${host}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - found= - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/gcc; then - found=yes - break - fi - done - IFS="$save_ifs" - if test -z "${found}" && test -n "${tentative_cc}" ; then - CC=$tentative_cc - fi -fi - # Some systems (e.g., one of the i386-aix systems the gas testers are # using) don't handle "\$" correctly, so don't use it here. tooldir='${exec_prefix}'/${target_alias} build_tooldir=${tooldir} -# Generate a default definition for YACC. This is used if the makefile can't -# locate bison or byacc in objdir. - -for prog in 'bison -y' byacc yacc +# Generate default definitions for YACC, M4, LEX. These are used if the +# Makefile can't locate these programs in objdir. +MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing +for ac_prog in 'bison -y' byacc yacc do - set dummy $prog; tmp=$2 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/$tmp; then - DEFAULT_YACC="$prog" +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2612: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_DEFAULT_YACC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$DEFAULT_YACC"; then + ac_cv_prog_DEFAULT_YACC="$DEFAULT_YACC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_DEFAULT_YACC="$ac_prog" break fi done - IFS="$save_ifs" + IFS="$ac_save_ifs" +fi +fi +DEFAULT_YACC="$ac_cv_prog_DEFAULT_YACC" +if test -n "$DEFAULT_YACC"; then + echo "$ac_t""$DEFAULT_YACC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi - test -n "$DEFAULT_YACC" && break +test -n "$DEFAULT_YACC" && break done +test -n "$DEFAULT_YACC" || DEFAULT_YACC="$MISSING bison" -# Generate a default definition for M4. This is used if the makefile can't -# locate m4 in objdir. - -for prog in gm4 gnum4 m4 +for ac_prog in gm4 gnum4 m4 do - set dummy $prog; tmp=$2 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/$tmp; then - DEFAULT_M4="$prog" +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2647: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_DEFAULT_M4'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$DEFAULT_M4"; then + ac_cv_prog_DEFAULT_M4="$DEFAULT_M4" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_DEFAULT_M4="$ac_prog" break fi done - IFS="$save_ifs" + IFS="$ac_save_ifs" +fi +fi +DEFAULT_M4="$ac_cv_prog_DEFAULT_M4" +if test -n "$DEFAULT_M4"; then + echo "$ac_t""$DEFAULT_M4" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi - test -n "$DEFAULT_M4" && break +test -n "$DEFAULT_M4" && break done +test -n "$DEFAULT_M4" || DEFAULT_M4="$MISSING m4" -# Generate a default definition for LEX. This is used if the makefile can't -# locate flex in objdir. - -for prog in flex lex +for ac_prog in flex lex do - set dummy $prog; tmp=$2 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/$tmp; then - DEFAULT_LEX="$prog" +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2682: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_DEFAULT_LEX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$DEFAULT_LEX"; then + ac_cv_prog_DEFAULT_LEX="$DEFAULT_LEX" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_DEFAULT_LEX="$ac_prog" break fi done - IFS="$save_ifs" - - test -n "$DEFAULT_LEX" && break -done - -if test "${build}" != "${host}" ; then - # If we are doing a Canadian Cross, in which the host and build systems - # are not the same, we set reasonable default values for the tools. - - BISON=${BISON-bison} - CC=${CC-${host_alias}-gcc} - CFLAGS=${CFLAGS-"-g -O2"} - CXX=${CXX-${host_alias}-c++} - CXXFLAGS=${CXXFLAGS-"-g -O2"} - CC_FOR_BUILD=${CC_FOR_BUILD-gcc} - CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc} - CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++} - GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj} - GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}} - BUILD_PREFIX=${build_alias}- - BUILD_PREFIX_1=${build_alias}- - MAKEINFO=${MAKEINFO-makeinfo} - - if test -z "${YACC}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/bison; then - YACC="bison -y" - break - fi - if test -f $dir/byacc; then - YACC=byacc - break - fi - if test -f $dir/yacc; then - YACC=yacc - break - fi - done - IFS="$save_ifs" - if test -z "${YACC}" ; then - YACC="bison -y" - fi - fi - - if test -z "${LEX}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/flex; then - LEX=flex - break - fi - if test -f $dir/lex; then - LEX=lex - break - fi - done - IFS="$save_ifs" - LEX=${LEX-flex} - fi - + IFS="$ac_save_ifs" +fi +fi +DEFAULT_LEX="$ac_cv_prog_DEFAULT_LEX" +if test -n "$DEFAULT_LEX"; then + echo "$ac_t""$DEFAULT_LEX" 1>&6 else - # Set reasonable default values for some tools even if not Canadian. - # Of course, these are different reasonable default values, originally - # specified directly in the Makefile. - # We don't export, so that autoconf can do its job. - # Note that all these settings are above the fragment inclusion point - # in Makefile.in, so can still be overridden by fragments. - # This is all going to change when we autoconfiscate... - - BISON="\$(USUAL_BISON)" - CC_FOR_BUILD="\$(CC)" - GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)" - BUILD_PREFIX= - BUILD_PREFIX_1=loser- - MAKEINFO="\$(USUAL_MAKEINFO)" - LEX="\$(USUAL_LEX)" - YACC="\$(USUAL_YACC)" - - # If CC is still not set, try to get gcc. - cc_prog_is_gcc= - if test -z "${CC}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/gcc; then - CC="gcc" - cc_prog_is_gcc=yes - echo 'void f(){}' > conftest.c - if test -z "`${CC} -g -c conftest.c 2>&1`"; then - CFLAGS=${CFLAGS-"-g -O2"} - CXXFLAGS=${CXXFLAGS-"-g -O2"} - else - CFLAGS=${CFLAGS-"-O2"} - CXXFLAGS=${CXXFLAGS-"-O2"} - fi - rm -f conftest* - break - fi - done - IFS="$save_ifs" - CC=${CC-cc} - else - # Determine if we are using gcc. - cat > conftest.c </dev/null 2>&1; then - cc_prog_is_gcc=yes - fi - rm -f conftest.c - if test -z "${CFLAGS}"; then - # Here CC is set but CFLAGS is not. Use a quick hack to use -O2 if CC - # is set to a version of gcc. - if test "$cc_prog_is_gcc" = yes; then - echo 'void f(){}' > conftest.c - if test -z "`${CC} -g -c conftest.c 2>&1`"; then - CFLAGS=${CFLAGS-"-g -O2"} - CXXFLAGS=${CXXFLAGS-"-g -O2"} - else - CFLAGS=${CFLAGS-"-O2"} - CXXFLAGS=${CXXFLAGS-"-O2"} - fi - rm -f conftest* - fi - fi - fi - - # We must set the default linker to the linker used by gcc for the correct - # operation of libtool. If LD is not defined and we are using gcc, try to - # set the LD default to the ld used by gcc. - if test -z "$LD"; then - if test "$cc_prog_is_gcc" = yes; then - case $build in - *-*-mingw*) - gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;; - *) - gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;; - esac - case $gcc_prog_ld in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - LD="$gcc_prog_ld" ;; - esac - fi - fi - - CXX=${CXX-"c++"} - CFLAGS=${CFLAGS-"-g"} - CXXFLAGS=${CXXFLAGS-"-g -O2"} + echo "$ac_t""no" 1>&6 fi -# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest) -# Set up the list of links to be made. -# ${links} is the list of link names, and ${files} is the list of names to link to. - -# Make the links. -configlinks="${links}" -if test -r ./config.status ; then - mv -f ./config.status ./config.back -fi -while test -n "${files}" ; do - # set file to car of files, files to cdr of files - set ${files}; file=$1; shift; files=$* - set ${links}; link=$1; shift; links=$* - - if test ! -r ${srcdir}/${file} ; then - if test ! -r ${file} ; then - echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2 - echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2 - exit 1 - else - srcfile=${file} - fi - else - srcfile=${srcdir}/${file} - fi - - ${remove} -f ${link} - # Make a symlink if possible, otherwise try a hard link - if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then - true - else - # We need to re-remove the file because Lynx leaves a - # very strange directory there when it fails an NFS symlink. - ${remove} -r -f ${link} - ${hard_link} ${srcfile} ${link} - fi - if test ! -r ${link} ; then - echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2 - exit 1 - fi - - echo "Linked \"${link}\" to \"${srcfile}\"." +test -n "$DEFAULT_LEX" && break done +test -n "$DEFAULT_LEX" || DEFAULT_LEX="$MISSING flex" + # Create a .gdbinit file which runs the one in srcdir # and tells GDB to look there for source files. @@ -2552,21 +2939,21 @@ serialization_dependencies=serdep.tmp # at the end of the argument list. # These will be expanded by make, so quote '$'. cat <<\EOF_SED > conftestsed -s/ --no[^ ]* / / -s/ --c[a-z-]*[= ][^ ]* / / -s/ --sr[a-z-]*[= ][^ ]* / / -s/ --ho[a-z-]*[= ][^ ]* / / -s/ --bu[a-z-]*[= ][^ ]* / / -s/ --t[a-z-]*[= ][^ ]* / / -s/ --program-[pst][a-z-]*[= ][^ ]* / / -s/ -cache-file[= ][^ ]* / / -s/ -srcdir[= ][^ ]* / / -s/ -host[= ][^ ]* / / -s/ -build[= ][^ ]* / / -s/ -target[= ][^ ]* / / -s/ -program-prefix[= ][^ ]* / / -s/ -program-suffix[= ][^ ]* / / -s/ -program-transform-name[= ][^ ]* / / +s/ --no[^ ]*/ /g +s/ --c[a-z-]*[= ][^ ]*//g +s/ --sr[a-z-]*[= ][^ ]*//g +s/ --ho[a-z-]*[= ][^ ]*//g +s/ --bu[a-z-]*[= ][^ ]*//g +s/ --t[a-z-]*[= ][^ ]*//g +s/ --program-[pst][a-z-]*[= ][^ ]*//g +s/ -cache-file[= ][^ ]*//g +s/ -srcdir[= ][^ ]*//g +s/ -host[= ][^ ]*//g +s/ -build[= ][^ ]*//g +s/ -target[= ][^ ]*//g +s/ -program-prefix[= ][^ ]*//g +s/ -program-suffix[= ][^ ]*//g +s/ -program-transform-name[= ][^ ]*//g s/ [^' -][^ ]* / / s/^ *//;s/ *$// s,\$,$$,g @@ -2823,7 +3210,6 @@ ospace_frag=${srcdir}/${ospace_frag} - # Build module lists & subconfigure args. @@ -2855,7 +3241,7 @@ test -n "$target_alias" && ncn_target_to # Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args. set dummy ${ncn_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2859: checking for $ac_word" >&5 +echo "configure:3245: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2888,7 +3274,7 @@ if test -z "$ac_cv_prog_AR" ; then # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2892: checking for $ac_word" >&5 +echo "configure:3278: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2927,7 +3313,7 @@ fi # Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args. set dummy ${ncn_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2931: checking for $ac_word" >&5 +echo "configure:3317: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2960,7 +3346,7 @@ if test -z "$ac_cv_prog_AS" ; then # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2964: checking for $ac_word" >&5 +echo "configure:3350: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2999,7 +3385,7 @@ fi # Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ncn_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3003: checking for $ac_word" >&5 +echo "configure:3389: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3032,7 +3418,7 @@ if test -z "$ac_cv_prog_DLLTOOL" ; then # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3036: checking for $ac_word" >&5 +echo "configure:3422: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3071,7 +3457,7 @@ fi # Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args. set dummy ${ncn_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3075: checking for $ac_word" >&5 +echo "configure:3461: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3104,7 +3490,7 @@ if test -z "$ac_cv_prog_LD" ; then # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3108: checking for $ac_word" >&5 +echo "configure:3494: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3143,7 +3529,7 @@ fi # Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args. set dummy ${ncn_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3147: checking for $ac_word" >&5 +echo "configure:3533: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3176,7 +3562,7 @@ if test -z "$ac_cv_prog_NM" ; then # Extract the first word of "nm", so it can be a program name with args. set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3180: checking for $ac_word" >&5 +echo "configure:3566: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3215,7 +3601,7 @@ fi # Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ncn_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3219: checking for $ac_word" >&5 +echo "configure:3605: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3248,7 +3634,7 @@ if test -z "$ac_cv_prog_RANLIB" ; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3252: checking for $ac_word" >&5 +echo "configure:3638: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3287,7 +3673,7 @@ fi # Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args. set dummy ${ncn_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3291: checking for $ac_word" >&5 +echo "configure:3677: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3320,7 +3706,7 @@ if test -z "$ac_cv_prog_WINDRES" ; then # Extract the first word of "windres", so it can be a program name with args. set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3324: checking for $ac_word" >&5 +echo "configure:3710: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3359,7 +3745,7 @@ fi # Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args. set dummy ${ncn_tool_prefix}objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3363: checking for $ac_word" >&5 +echo "configure:3749: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3392,7 +3778,7 @@ if test -z "$ac_cv_prog_OBJCOPY" ; then # Extract the first word of "objcopy", so it can be a program name with args. set dummy objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3396: checking for $ac_word" >&5 +echo "configure:3782: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3431,7 +3817,7 @@ fi # Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args. set dummy ${ncn_tool_prefix}objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3435: checking for $ac_word" >&5 +echo "configure:3821: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3464,7 +3850,7 @@ if test -z "$ac_cv_prog_OBJDUMP" ; then # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3468: checking for $ac_word" >&5 +echo "configure:3854: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3513,504 +3899,504 @@ fi # Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3517: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then +echo "configure:3903: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$AR_FOR_TARGET"; then - ac_cv_prog_AR_FOR_TARGET="$AR_FOR_TARGET" # Let the user override the test. + if test -n "$CONFIGURED_AR_FOR_TARGET"; then + ac_cv_prog_CONFIGURED_AR_FOR_TARGET="$CONFIGURED_AR_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_AR_FOR_TARGET="${ncn_target_tool_prefix}ar" + ac_cv_prog_CONFIGURED_AR_FOR_TARGET="${ncn_target_tool_prefix}ar" break fi done IFS="$ac_save_ifs" fi fi -AR_FOR_TARGET="$ac_cv_prog_AR_FOR_TARGET" -if test -n "$AR_FOR_TARGET"; then - echo "$ac_t""$AR_FOR_TARGET" 1>&6 +CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_CONFIGURED_AR_FOR_TARGET" +if test -n "$CONFIGURED_AR_FOR_TARGET"; then + echo "$ac_t""$CONFIGURED_AR_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi fi -if test -z "$ac_cv_prog_AR_FOR_TARGET" ; then +if test -z "$ac_cv_prog_CONFIGURED_AR_FOR_TARGET" ; then if test $build = $target ; then - ncn_cv_AR_FOR_TARGET=$AR_FOR_TARGET + ncn_cv_CONFIGURED_AR_FOR_TARGET=$CONFIGURED_AR_FOR_TARGET # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3550: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then +echo "configure:3936: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$ncn_cv_AR_FOR_TARGET"; then - ac_cv_prog_ncn_cv_AR_FOR_TARGET="$ncn_cv_AR_FOR_TARGET" # Let the user override the test. + if test -n "$ncn_cv_CONFIGURED_AR_FOR_TARGET"; then + ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="$ncn_cv_CONFIGURED_AR_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_ncn_cv_AR_FOR_TARGET="ar" + ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="ar" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_ncn_cv_AR_FOR_TARGET" && ac_cv_prog_ncn_cv_AR_FOR_TARGET="ar" + test -z "$ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="ar" fi fi -ncn_cv_AR_FOR_TARGET="$ac_cv_prog_ncn_cv_AR_FOR_TARGET" -if test -n "$ncn_cv_AR_FOR_TARGET"; then - echo "$ac_t""$ncn_cv_AR_FOR_TARGET" 1>&6 +ncn_cv_CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET" +if test -n "$ncn_cv_CONFIGURED_AR_FOR_TARGET"; then + echo "$ac_t""$ncn_cv_CONFIGURED_AR_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi - AR_FOR_TARGET=$ncn_cv_AR_FOR_TARGET + CONFIGURED_AR_FOR_TARGET=$ncn_cv_CONFIGURED_AR_FOR_TARGET else - AR_FOR_TARGET="${ncn_target_tool_prefix}ar" + CONFIGURED_AR_FOR_TARGET="${ncn_target_tool_prefix}ar" fi else - AR_FOR_TARGET="$ac_cv_prog_AR_FOR_TARGET" + CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_CONFIGURED_AR_FOR_TARGET" fi if test -n "$ncn_target_tool_prefix"; then # Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3589: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then +echo "configure:3975: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$AS_FOR_TARGET"; then - ac_cv_prog_AS_FOR_TARGET="$AS_FOR_TARGET" # Let the user override the test. + if test -n "$CONFIGURED_AS_FOR_TARGET"; then + ac_cv_prog_CONFIGURED_AS_FOR_TARGET="$CONFIGURED_AS_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_AS_FOR_TARGET="${ncn_target_tool_prefix}as" + ac_cv_prog_CONFIGURED_AS_FOR_TARGET="${ncn_target_tool_prefix}as" break fi done IFS="$ac_save_ifs" fi fi -AS_FOR_TARGET="$ac_cv_prog_AS_FOR_TARGET" -if test -n "$AS_FOR_TARGET"; then - echo "$ac_t""$AS_FOR_TARGET" 1>&6 +CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_CONFIGURED_AS_FOR_TARGET" +if test -n "$CONFIGURED_AS_FOR_TARGET"; then + echo "$ac_t""$CONFIGURED_AS_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi fi -if test -z "$ac_cv_prog_AS_FOR_TARGET" ; then +if test -z "$ac_cv_prog_CONFIGURED_AS_FOR_TARGET" ; then if test $build = $target ; then - ncn_cv_AS_FOR_TARGET=$AS_FOR_TARGET + ncn_cv_CONFIGURED_AS_FOR_TARGET=$CONFIGURED_AS_FOR_TARGET # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3622: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4008: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$ncn_cv_AS_FOR_TARGET"; then - ac_cv_prog_ncn_cv_AS_FOR_TARGET="$ncn_cv_AS_FOR_TARGET" # Let the user override the test. + if test -n "$ncn_cv_CONFIGURED_AS_FOR_TARGET"; then + ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="$ncn_cv_CONFIGURED_AS_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_ncn_cv_AS_FOR_TARGET="as" + ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="as" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_ncn_cv_AS_FOR_TARGET" && ac_cv_prog_ncn_cv_AS_FOR_TARGET="as" + test -z "$ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="as" fi fi -ncn_cv_AS_FOR_TARGET="$ac_cv_prog_ncn_cv_AS_FOR_TARGET" -if test -n "$ncn_cv_AS_FOR_TARGET"; then - echo "$ac_t""$ncn_cv_AS_FOR_TARGET" 1>&6 +ncn_cv_CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET" +if test -n "$ncn_cv_CONFIGURED_AS_FOR_TARGET"; then + echo "$ac_t""$ncn_cv_CONFIGURED_AS_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi - AS_FOR_TARGET=$ncn_cv_AS_FOR_TARGET + CONFIGURED_AS_FOR_TARGET=$ncn_cv_CONFIGURED_AS_FOR_TARGET else - AS_FOR_TARGET="${ncn_target_tool_prefix}as" + CONFIGURED_AS_FOR_TARGET="${ncn_target_tool_prefix}as" fi else - AS_FOR_TARGET="$ac_cv_prog_AS_FOR_TARGET" + CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_CONFIGURED_AS_FOR_TARGET" fi if test -n "$ncn_target_tool_prefix"; then # Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3661: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4047: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$DLLTOOL_FOR_TARGET"; then - ac_cv_prog_DLLTOOL_FOR_TARGET="$DLLTOOL_FOR_TARGET" # Let the user override the test. + if test -n "$CONFIGURED_DLLTOOL_FOR_TARGET"; then + ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET="$CONFIGURED_DLLTOOL_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool" + ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool" break fi done IFS="$ac_save_ifs" fi fi -DLLTOOL_FOR_TARGET="$ac_cv_prog_DLLTOOL_FOR_TARGET" -if test -n "$DLLTOOL_FOR_TARGET"; then - echo "$ac_t""$DLLTOOL_FOR_TARGET" 1>&6 +CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET" +if test -n "$CONFIGURED_DLLTOOL_FOR_TARGET"; then + echo "$ac_t""$CONFIGURED_DLLTOOL_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi fi -if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; then +if test -z "$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET" ; then if test $build = $target ; then - ncn_cv_DLLTOOL_FOR_TARGET=$DLLTOOL_FOR_TARGET + ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET=$CONFIGURED_DLLTOOL_FOR_TARGET # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3694: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4080: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$ncn_cv_DLLTOOL_FOR_TARGET"; then - ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET="$ncn_cv_DLLTOOL_FOR_TARGET" # Let the user override the test. + if test -n "$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"; then + ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET="dlltool" + ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="dlltool" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET" && ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET="dlltool" + test -z "$ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="dlltool" fi fi -ncn_cv_DLLTOOL_FOR_TARGET="$ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET" -if test -n "$ncn_cv_DLLTOOL_FOR_TARGET"; then - echo "$ac_t""$ncn_cv_DLLTOOL_FOR_TARGET" 1>&6 +ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" +if test -n "$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"; then + echo "$ac_t""$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi - DLLTOOL_FOR_TARGET=$ncn_cv_DLLTOOL_FOR_TARGET + CONFIGURED_DLLTOOL_FOR_TARGET=$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET else - DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool" + CONFIGURED_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool" fi else - DLLTOOL_FOR_TARGET="$ac_cv_prog_DLLTOOL_FOR_TARGET" + CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET" fi if test -n "$ncn_target_tool_prefix"; then # Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3733: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4119: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$LD_FOR_TARGET"; then - ac_cv_prog_LD_FOR_TARGET="$LD_FOR_TARGET" # Let the user override the test. + if test -n "$CONFIGURED_LD_FOR_TARGET"; then + ac_cv_prog_CONFIGURED_LD_FOR_TARGET="$CONFIGURED_LD_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_LD_FOR_TARGET="${ncn_target_tool_prefix}ld" + ac_cv_prog_CONFIGURED_LD_FOR_TARGET="${ncn_target_tool_prefix}ld" break fi done IFS="$ac_save_ifs" fi fi -LD_FOR_TARGET="$ac_cv_prog_LD_FOR_TARGET" -if test -n "$LD_FOR_TARGET"; then - echo "$ac_t""$LD_FOR_TARGET" 1>&6 +CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_CONFIGURED_LD_FOR_TARGET" +if test -n "$CONFIGURED_LD_FOR_TARGET"; then + echo "$ac_t""$CONFIGURED_LD_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi fi -if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then +if test -z "$ac_cv_prog_CONFIGURED_LD_FOR_TARGET" ; then if test $build = $target ; then - ncn_cv_LD_FOR_TARGET=$LD_FOR_TARGET + ncn_cv_CONFIGURED_LD_FOR_TARGET=$CONFIGURED_LD_FOR_TARGET # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3766: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4152: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$ncn_cv_LD_FOR_TARGET"; then - ac_cv_prog_ncn_cv_LD_FOR_TARGET="$ncn_cv_LD_FOR_TARGET" # Let the user override the test. + if test -n "$ncn_cv_CONFIGURED_LD_FOR_TARGET"; then + ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="$ncn_cv_CONFIGURED_LD_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_ncn_cv_LD_FOR_TARGET="ld" + ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="ld" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_ncn_cv_LD_FOR_TARGET" && ac_cv_prog_ncn_cv_LD_FOR_TARGET="ld" + test -z "$ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="ld" fi fi -ncn_cv_LD_FOR_TARGET="$ac_cv_prog_ncn_cv_LD_FOR_TARGET" -if test -n "$ncn_cv_LD_FOR_TARGET"; then - echo "$ac_t""$ncn_cv_LD_FOR_TARGET" 1>&6 +ncn_cv_CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET" +if test -n "$ncn_cv_CONFIGURED_LD_FOR_TARGET"; then + echo "$ac_t""$ncn_cv_CONFIGURED_LD_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi - LD_FOR_TARGET=$ncn_cv_LD_FOR_TARGET + CONFIGURED_LD_FOR_TARGET=$ncn_cv_CONFIGURED_LD_FOR_TARGET else - LD_FOR_TARGET="${ncn_target_tool_prefix}ld" + CONFIGURED_LD_FOR_TARGET="${ncn_target_tool_prefix}ld" fi else - LD_FOR_TARGET="$ac_cv_prog_LD_FOR_TARGET" + CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_CONFIGURED_LD_FOR_TARGET" fi if test -n "$ncn_target_tool_prefix"; then # Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3805: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4191: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$NM_FOR_TARGET"; then - ac_cv_prog_NM_FOR_TARGET="$NM_FOR_TARGET" # Let the user override the test. + if test -n "$CONFIGURED_NM_FOR_TARGET"; then + ac_cv_prog_CONFIGURED_NM_FOR_TARGET="$CONFIGURED_NM_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_NM_FOR_TARGET="${ncn_target_tool_prefix}nm" + ac_cv_prog_CONFIGURED_NM_FOR_TARGET="${ncn_target_tool_prefix}nm" break fi done IFS="$ac_save_ifs" fi fi -NM_FOR_TARGET="$ac_cv_prog_NM_FOR_TARGET" -if test -n "$NM_FOR_TARGET"; then - echo "$ac_t""$NM_FOR_TARGET" 1>&6 +CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_CONFIGURED_NM_FOR_TARGET" +if test -n "$CONFIGURED_NM_FOR_TARGET"; then + echo "$ac_t""$CONFIGURED_NM_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi fi -if test -z "$ac_cv_prog_NM_FOR_TARGET" ; then +if test -z "$ac_cv_prog_CONFIGURED_NM_FOR_TARGET" ; then if test $build = $target ; then - ncn_cv_NM_FOR_TARGET=$NM_FOR_TARGET + ncn_cv_CONFIGURED_NM_FOR_TARGET=$CONFIGURED_NM_FOR_TARGET # Extract the first word of "nm", so it can be a program name with args. set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3838: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4224: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$ncn_cv_NM_FOR_TARGET"; then - ac_cv_prog_ncn_cv_NM_FOR_TARGET="$ncn_cv_NM_FOR_TARGET" # Let the user override the test. + if test -n "$ncn_cv_CONFIGURED_NM_FOR_TARGET"; then + ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="$ncn_cv_CONFIGURED_NM_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_ncn_cv_NM_FOR_TARGET="nm" + ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="nm" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_ncn_cv_NM_FOR_TARGET" && ac_cv_prog_ncn_cv_NM_FOR_TARGET="nm" + test -z "$ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="nm" fi fi -ncn_cv_NM_FOR_TARGET="$ac_cv_prog_ncn_cv_NM_FOR_TARGET" -if test -n "$ncn_cv_NM_FOR_TARGET"; then - echo "$ac_t""$ncn_cv_NM_FOR_TARGET" 1>&6 +ncn_cv_CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET" +if test -n "$ncn_cv_CONFIGURED_NM_FOR_TARGET"; then + echo "$ac_t""$ncn_cv_CONFIGURED_NM_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi - NM_FOR_TARGET=$ncn_cv_NM_FOR_TARGET + CONFIGURED_NM_FOR_TARGET=$ncn_cv_CONFIGURED_NM_FOR_TARGET else - NM_FOR_TARGET="${ncn_target_tool_prefix}nm" + CONFIGURED_NM_FOR_TARGET="${ncn_target_tool_prefix}nm" fi else - NM_FOR_TARGET="$ac_cv_prog_NM_FOR_TARGET" + CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_CONFIGURED_NM_FOR_TARGET" fi if test -n "$ncn_target_tool_prefix"; then # Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3877: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4263: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$RANLIB_FOR_TARGET"; then - ac_cv_prog_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET" # Let the user override the test. + if test -n "$CONFIGURED_RANLIB_FOR_TARGET"; then + ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET="$CONFIGURED_RANLIB_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}ranlib" + ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}ranlib" break fi done IFS="$ac_save_ifs" fi fi -RANLIB_FOR_TARGET="$ac_cv_prog_RANLIB_FOR_TARGET" -if test -n "$RANLIB_FOR_TARGET"; then - echo "$ac_t""$RANLIB_FOR_TARGET" 1>&6 +CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET" +if test -n "$CONFIGURED_RANLIB_FOR_TARGET"; then + echo "$ac_t""$CONFIGURED_RANLIB_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi fi -if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then +if test -z "$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET" ; then if test $build = $target ; then - ncn_cv_RANLIB_FOR_TARGET=$RANLIB_FOR_TARGET + ncn_cv_CONFIGURED_RANLIB_FOR_TARGET=$CONFIGURED_RANLIB_FOR_TARGET # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3910: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4296: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$ncn_cv_RANLIB_FOR_TARGET"; then - ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET="$ncn_cv_RANLIB_FOR_TARGET" # Let the user override the test. + if test -n "$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"; then + ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET="ranlib" + ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="ranlib" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET" && ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET=":" + test -z "$ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET=":" fi fi -ncn_cv_RANLIB_FOR_TARGET="$ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET" -if test -n "$ncn_cv_RANLIB_FOR_TARGET"; then - echo "$ac_t""$ncn_cv_RANLIB_FOR_TARGET" 1>&6 +ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" +if test -n "$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"; then + echo "$ac_t""$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi - RANLIB_FOR_TARGET=$ncn_cv_RANLIB_FOR_TARGET + CONFIGURED_RANLIB_FOR_TARGET=$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET else - RANLIB_FOR_TARGET=":" + CONFIGURED_RANLIB_FOR_TARGET=":" fi else - RANLIB_FOR_TARGET="$ac_cv_prog_RANLIB_FOR_TARGET" + CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET" fi if test -n "$ncn_target_tool_prefix"; then # Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3949: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4335: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$WINDRES_FOR_TARGET"; then - ac_cv_prog_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET" # Let the user override the test. + if test -n "$CONFIGURED_WINDRES_FOR_TARGET"; then + ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET="$CONFIGURED_WINDRES_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres" + ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres" break fi done IFS="$ac_save_ifs" fi fi -WINDRES_FOR_TARGET="$ac_cv_prog_WINDRES_FOR_TARGET" -if test -n "$WINDRES_FOR_TARGET"; then - echo "$ac_t""$WINDRES_FOR_TARGET" 1>&6 +CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET" +if test -n "$CONFIGURED_WINDRES_FOR_TARGET"; then + echo "$ac_t""$CONFIGURED_WINDRES_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi fi -if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; then +if test -z "$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET" ; then if test $build = $target ; then - ncn_cv_WINDRES_FOR_TARGET=$WINDRES_FOR_TARGET + ncn_cv_CONFIGURED_WINDRES_FOR_TARGET=$CONFIGURED_WINDRES_FOR_TARGET # Extract the first word of "windres", so it can be a program name with args. set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3982: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then +echo "configure:4368: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$ncn_cv_WINDRES_FOR_TARGET"; then - ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET="$ncn_cv_WINDRES_FOR_TARGET" # Let the user override the test. + if test -n "$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"; then + ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET="windres" + ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="windres" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET" && ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET="windres" + test -z "$ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="windres" fi fi -ncn_cv_WINDRES_FOR_TARGET="$ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET" -if test -n "$ncn_cv_WINDRES_FOR_TARGET"; then - echo "$ac_t""$ncn_cv_WINDRES_FOR_TARGET" 1>&6 +ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" +if test -n "$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"; then + echo "$ac_t""$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" 1>&6 else echo "$ac_t""no" 1>&6 fi - WINDRES_FOR_TARGET=$ncn_cv_WINDRES_FOR_TARGET + CONFIGURED_WINDRES_FOR_TARGET=$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET else - WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres" + CONFIGURED_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres" fi else - WINDRES_FOR_TARGET="$ac_cv_prog_WINDRES_FOR_TARGET" + CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET" fi @@ -4038,14 +4424,31 @@ if test "x${build}" = "x${host}" ; then NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)" RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)" WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)" +else + # Just use the ones we found. + AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)" + AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)" + DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)" + LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)" + NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)" + RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)" + WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)" fi + + + + + + + + # Certain tools may need extra flags. AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target} RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target} NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target} echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:4049: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:4452: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -4066,6 +4469,44 @@ else fi MAINT=$MAINTAINER_MODE_TRUE +# --------------------- +# GCC bootstrap support +# --------------------- + +# Stage specific cflags for build. +stage1_cflags="-g" +case $build in + vax-*-*) + case ${GCC} in + yes) stage1_cflags="-g -Wa,-J" ;; + *) stage1_cflags="-g -J" ;; + esac ;; + powerpc-*-darwin*) + # The spiffy cpp-precomp chokes on some legitimate constructs in GCC + # sources; use -no-cpp-precomp to get to GNU cpp. + # Apple's GCC has bugs in designated initializer handling, so disable + # that too. + stage1_cflags="-g -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0" + ;; +esac + + +# Enable -Werror in bootstrap stage2 and later. +# Change the default to "no" on release branches. +# Check whether --enable-werror or --disable-werror was given. +if test "${enable_werror+set}" = set; then + enableval="$enable_werror" + : +else + enable_werror=yes +fi + +case ${enable_werror} in + yes) stage2_werror_flag="--enable-werror-always" ;; + *) stage2_werror_flag="" ;; +esac + + trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure @@ -4233,6 +4674,12 @@ s%@TOPLEVEL_CONFIGURE_ARGUMENTS@%$TOPLEV s%@build_subdir@%$build_subdir%g s%@host_subdir@%$host_subdir%g s%@target_subdir@%$target_subdir%g +s%@CC@%$CC%g +s%@GNATBIND@%$GNATBIND%g +s%@stage1_languages@%$stage1_languages%g +s%@DEFAULT_YACC@%$DEFAULT_YACC%g +s%@DEFAULT_M4@%$DEFAULT_M4%g +s%@DEFAULT_LEX@%$DEFAULT_LEX%g /@maybe_dependencies@/r $maybe_dependencies s%@maybe_dependencies@%%g /@serialization_dependencies@/r $serialization_dependencies @@ -4249,7 +4696,6 @@ s%@SET_LIB_PATH@%$SET_LIB_PATH%g s%@RPATH_ENVVAR@%$RPATH_ENVVAR%g s%@BUILD_PREFIX@%$BUILD_PREFIX%g s%@BUILD_PREFIX_1@%$BUILD_PREFIX_1%g -s%@configlinks@%$configlinks%g s%@gcc_version_trigger@%$gcc_version_trigger%g s%@gcc_version@%$gcc_version%g s%@tooldir@%$tooldir%g @@ -4288,26 +4734,22 @@ s%@OBJCOPY@%$OBJCOPY%g s%@ncn_cv_OBJCOPY@%$ncn_cv_OBJCOPY%g s%@OBJDUMP@%$OBJDUMP%g s%@ncn_cv_OBJDUMP@%$ncn_cv_OBJDUMP%g -s%@CC@%$CC%g s%@CXX@%$CXX%g s%@CFLAGS_FOR_BUILD@%$CFLAGS_FOR_BUILD%g -s%@DEFAULT_YACC@%$DEFAULT_YACC%g -s%@DEFAULT_LEX@%$DEFAULT_LEX%g -s%@DEFAULT_M4@%$DEFAULT_M4%g -s%@AR_FOR_TARGET@%$AR_FOR_TARGET%g -s%@ncn_cv_AR_FOR_TARGET@%$ncn_cv_AR_FOR_TARGET%g -s%@AS_FOR_TARGET@%$AS_FOR_TARGET%g -s%@ncn_cv_AS_FOR_TARGET@%$ncn_cv_AS_FOR_TARGET%g -s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g -s%@ncn_cv_DLLTOOL_FOR_TARGET@%$ncn_cv_DLLTOOL_FOR_TARGET%g -s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g -s%@ncn_cv_LD_FOR_TARGET@%$ncn_cv_LD_FOR_TARGET%g -s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g -s%@ncn_cv_NM_FOR_TARGET@%$ncn_cv_NM_FOR_TARGET%g -s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g -s%@ncn_cv_RANLIB_FOR_TARGET@%$ncn_cv_RANLIB_FOR_TARGET%g -s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g -s%@ncn_cv_WINDRES_FOR_TARGET@%$ncn_cv_WINDRES_FOR_TARGET%g +s%@CONFIGURED_AR_FOR_TARGET@%$CONFIGURED_AR_FOR_TARGET%g +s%@ncn_cv_CONFIGURED_AR_FOR_TARGET@%$ncn_cv_CONFIGURED_AR_FOR_TARGET%g +s%@CONFIGURED_AS_FOR_TARGET@%$CONFIGURED_AS_FOR_TARGET%g +s%@ncn_cv_CONFIGURED_AS_FOR_TARGET@%$ncn_cv_CONFIGURED_AS_FOR_TARGET%g +s%@CONFIGURED_DLLTOOL_FOR_TARGET@%$CONFIGURED_DLLTOOL_FOR_TARGET%g +s%@ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET@%$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET%g +s%@CONFIGURED_LD_FOR_TARGET@%$CONFIGURED_LD_FOR_TARGET%g +s%@ncn_cv_CONFIGURED_LD_FOR_TARGET@%$ncn_cv_CONFIGURED_LD_FOR_TARGET%g +s%@CONFIGURED_NM_FOR_TARGET@%$CONFIGURED_NM_FOR_TARGET%g +s%@ncn_cv_CONFIGURED_NM_FOR_TARGET@%$ncn_cv_CONFIGURED_NM_FOR_TARGET%g +s%@CONFIGURED_RANLIB_FOR_TARGET@%$CONFIGURED_RANLIB_FOR_TARGET%g +s%@ncn_cv_CONFIGURED_RANLIB_FOR_TARGET@%$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET%g +s%@CONFIGURED_WINDRES_FOR_TARGET@%$CONFIGURED_WINDRES_FOR_TARGET%g +s%@ncn_cv_CONFIGURED_WINDRES_FOR_TARGET@%$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET%g s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g s%@FLAGS_FOR_TARGET@%$FLAGS_FOR_TARGET%g s%@CC_FOR_TARGET@%$CC_FOR_TARGET%g @@ -4316,9 +4758,18 @@ s%@CXX_FOR_TARGET@%$CXX_FOR_TARGET%g s%@RAW_CXX_FOR_TARGET@%$RAW_CXX_FOR_TARGET%g s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$CXX_FOR_TARGET_FOR_RECURSIVE_MAKE%g s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE%g +s%@AR_FOR_TARGET@%$AR_FOR_TARGET%g +s%@AS_FOR_TARGET@%$AS_FOR_TARGET%g +s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g +s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g +s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g +s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g +s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g s%@MAINT@%$MAINT%g +s%@stage1_cflags@%$stage1_cflags%g +s%@stage2_werror_flag@%$stage2_werror_flag%g CEOF EOF diff -uprN binutils-2.15.90.0.1.1/configure.in binutils-2.15.90.0.2/configure.in --- binutils-2.15.90.0.1.1/configure.in 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.90.0.2/configure.in 2004-04-12 12:56:33.000000000 -0700 @@ -612,7 +612,7 @@ case "${target}" in ;; powerpc-*-aix*) # copied from rs6000-*-* entry - noconfigdirs="$noconfigdirs gprof target-libada target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" @@ -634,7 +634,7 @@ case "${target}" in noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}" ;; rs6000-*-aix*) - noconfigdirs="$noconfigdirs gprof target-libada target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; rs6000-*-*) noconfigdirs="$noconfigdirs gprof ${libgcj}" @@ -747,273 +747,6 @@ case "${noconfigdirs}" in *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;; esac -# Figure out what language subdirectories are present. -# Look if the user specified --enable-languages="..."; if not, use -# the environment variable $LANGUAGES if defined. $LANGUAGES might -# go away some day. -# NB: embedded tabs in this IF block -- do not untabify -if test x"${enable_languages+set}" != xset; then - if test x"${LANGUAGES+set}" = xset; then - enable_languages="${LANGUAGES}" - echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2 - else - enable_languages=all - fi -else - if test x"${enable_languages}" = x || - test x"${enable_languages}" = xyes; - then - echo configure.in: --enable-languages needs at least one language argument 1>&2 - exit 1 - fi -fi -enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'` - -# First scan to see if an enabled language requires some other language. -# We assume that a given config-lang.in will list all the language -# front ends it requires, even if some are required indirectly. -for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do - case ${lang_frag} in - ..) ;; - # The odd quoting in the next line works around - # an apparent bug in bash 1.12 on linux. - ${srcdir}/gcc/[[*]]/config-lang.in) ;; - *) - # From the config-lang.in, get $language, $lang_requires - language= - lang_requires= - . ${lang_frag} - for other in ${lang_requires} ; do - case ,${enable_languages}, in - *,$other,*) ;; - *,all,*) ;; - *,$language,*) - echo " \`$other' language required by \`$language'; enabling" 1>&2 - enable_languages="${enable_languages},${other}" - ;; - esac - done - ;; - esac -done - -for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do - case ${lang_frag} in - ..) ;; - # The odd quoting in the next line works around - # an apparent bug in bash 1.12 on linux. - ${srcdir}/gcc/[[*]]/config-lang.in) ;; - *) - # From the config-lang.in, get $language, $target_libs, - # $lang_dirs, and $build_by_default - language= - target_libs= - lang_dirs= - build_by_default= - . ${lang_frag} - if test "x$language" = x ; then - echo "${lang_frag} doesn't set \$language." 1>&2 - exit 1 - fi - case ,${enable_languages}, in - *,${language},*) - # Language was explicitly selected; include it. - add_this_lang=yes - ;; - *,all,*) - # 'all' was selected; include 'default' languages. - case ${build_by_default} in - no) add_this_lang=no ;; - *) add_this_lang=yes ;; - esac - ;; - *) add_this_lang=no ;; - esac - case ${add_this_lang} in - no) - # Remove language-dependent dirs. - eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" - ;; - esac - ;; - esac -done - -# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and -# $target_configdirs. -# If we have the source for $noconfigdirs entries, add them to $notsupp. - -notsupp="" -for dir in . $skipdirs $noconfigdirs ; do - dirname=`echo $dir | sed -e s/target-//g` - if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"` - if test -r $srcdir/$dirname/configure ; then - if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then - true - else - notsupp="$notsupp $dir" - fi - fi - fi - if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"` - if test -r $srcdir/$dirname/configure ; then - if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then - true - else - notsupp="$notsupp $dir" - fi - fi - fi -done - -# Sometimes the tools are distributed with libiberty but with no other -# libraries. In that case, we don't want to build target-libiberty. -if test -n "${target_configdirs}" ; then - others= - for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do - if test "$i" != "libiberty" ; then - if test -r $srcdir/$i/configure ; then - others=yes; - break; - fi - fi - done - if test -z "${others}" ; then - target_configdirs= - fi -fi - -# Quietly strip out all directories which aren't configurable in this tree. -# This relies on all configurable subdirectories being autoconfiscated, which -# is now the case. -configdirs_all="$configdirs" -configdirs= -for i in ${configdirs_all} ; do - if test -f ${srcdir}/$i/configure ; then - configdirs="${configdirs} $i" - fi -done -target_configdirs_all="$target_configdirs" -target_configdirs= -for i in ${target_configdirs_all} ; do - j=`echo $i | sed -e s/target-//g` - if test -f ${srcdir}/$j/configure ; then - target_configdirs="${target_configdirs} $i" - fi -done - -# Produce a warning message for the subdirs we can't configure. -# This isn't especially interesting in the Cygnus tree, but in the individual -# FSF releases, it's important to let people know when their machine isn't -# supported by the one or two programs in a package. - -if test -n "${notsupp}" && test -z "${norecursion}" ; then - # If $appdirs is non-empty, at least one of those directories must still - # be configured, or we error out. (E.g., if the gas release supports a - # specified target in some subdirs but not the gas subdir, we shouldn't - # pretend that all is well.) - if test -n "$appdirs" ; then - for dir in $appdirs ; do - if test -r $dir/Makefile.in ; then - if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - appdirs="" - break - fi - if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - appdirs="" - break - fi - fi - done - if test -n "$appdirs" ; then - echo "*** This configuration is not supported by this package." 1>&2 - exit 1 - fi - fi - # Okay, some application will build, or we don't care to check. Still - # notify of subdirs not getting built. - echo "*** This configuration is not supported in the following subdirectories:" 1>&2 - echo " ${notsupp}" 1>&2 - echo " (Any other directories should still work fine.)" 1>&2 -fi - -case "$host" in - *msdosdjgpp*) - enable_gdbtk=no ;; -esac - -copy_dirs= - -# Handle --with-headers=XXX. If the value is not "yes", the contents of -# the named directory are copied to $(tooldir)/sys-include. -if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then - if test x${is_cross_compiler} = xno ; then - echo 1>&2 '***' --with-headers is only supported when cross compiling - exit 1 - fi - if test x"${with_headers}" != xyes ; then - case "${exec_prefixoption}" in - "") x=${prefix} ;; - *) x=${exec_prefix} ;; - esac - copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include" - fi -fi - -# Handle --with-libs=XXX. If the value is not "yes", the contents of -# the name directories are copied to $(tooldir)/lib. Multiple directories -# are permitted. -if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then - if test x${is_cross_compiler} = xno ; then - echo 1>&2 '***' --with-libs is only supported when cross compiling - exit 1 - fi - if test x"${with_libs}" != xyes ; then - # Copy the libraries in reverse order, so that files in the first named - # library override files in subsequent libraries. - case "${exec_prefixoption}" in - "") x=${prefix} ;; - *) x=${exec_prefix} ;; - esac - for l in ${with_libs}; do - copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}" - done - fi -fi - -# Handle ${copy_dirs} -set fnord ${copy_dirs} -shift -while test $# != 0 ; do - if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then - : - else - echo Copying $1 to $2 - - # Use the install script to create the directory and all required - # parent directories. - if test -d $2 ; then - : - else - echo >config.temp - ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED - fi - - # Copy the directory, assuming we have tar. - # FIXME: Should we use B in the second tar? Not all systems support it. - (cd $1; tar -cf - .) | (cd $2; tar -xpf -) - - # It is the responsibility of the user to correctly adjust all - # symlinks. If somebody can figure out how to handle them correctly - # here, feel free to add the code. - - echo $1 > $2/COPIED - fi - shift; shift -done - # Work in distributions that contain no compiler tools, like Autoconf. tentative_cc="" host_makefile_frag=/dev/null @@ -1165,6 +898,486 @@ case "${host}" in esac fi +# If we aren't going to be using gcc, see if we can extract a definition +# of CC from the fragment. +# Actually, use the 'pre-extracted' version above. +if test -z "${CC}" && test "${build}" = "${host}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + found= + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/gcc; then + found=yes + break + fi + done + IFS="$save_ifs" + if test -z "${found}" && test -n "${tentative_cc}" ; then + CC=$tentative_cc + fi +fi + +if test "${build}" != "${host}" ; then + # If we are doing a Canadian Cross, in which the host and build systems + # are not the same, we set reasonable default values for the tools. + + BISON=${BISON-bison} + CC=${CC-${host_alias}-gcc} + CFLAGS=${CFLAGS-"-g -O2"} + CXX=${CXX-${host_alias}-c++} + CXXFLAGS=${CXXFLAGS-"-g -O2"} + CC_FOR_BUILD=${CC_FOR_BUILD-gcc} + CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc} + CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++} + GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj} + GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}} + BUILD_PREFIX=${build_alias}- + BUILD_PREFIX_1=${build_alias}- + MAKEINFO=${MAKEINFO-makeinfo} + + if test -z "${YACC}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/bison; then + YACC="bison -y" + break + fi + if test -f $dir/byacc; then + YACC=byacc + break + fi + if test -f $dir/yacc; then + YACC=yacc + break + fi + done + IFS="$save_ifs" + if test -z "${YACC}" ; then + YACC="bison -y" + fi + fi + + if test -z "${LEX}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/flex; then + LEX=flex + break + fi + if test -f $dir/lex; then + LEX=lex + break + fi + done + IFS="$save_ifs" + LEX=${LEX-flex} + fi + +else + # Set reasonable default values for some tools even if not Canadian. + # Of course, these are different reasonable default values, originally + # specified directly in the Makefile. + # We don't export, so that autoconf can do its job. + # Note that all these settings are above the fragment inclusion point + # in Makefile.in, so can still be overridden by fragments. + # This is all going to change when we autoconfiscate... + + BISON="\$(USUAL_BISON)" + CC_FOR_BUILD="\$(CC)" + GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)" + BUILD_PREFIX= + BUILD_PREFIX_1=loser- + MAKEINFO="\$(USUAL_MAKEINFO)" + LEX="\$(USUAL_LEX)" + YACC="\$(USUAL_YACC)" + + # If CC is still not set, try to get gcc. + cc_prog_is_gcc= + if test -z "${CC}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/gcc; then + CC="gcc" + cc_prog_is_gcc=yes + echo 'void f(){}' > conftest.c + if test -z "`${CC} -g -c conftest.c 2>&1`"; then + CFLAGS=${CFLAGS-"-g -O2"} + CXXFLAGS=${CXXFLAGS-"-g -O2"} + else + CFLAGS=${CFLAGS-"-O2"} + CXXFLAGS=${CXXFLAGS-"-O2"} + fi + rm -f conftest* + break + fi + done + IFS="$save_ifs" + CC=${CC-cc} + else + # Determine if we are using gcc. + cat > conftest.c </dev/null 2>&1; then + cc_prog_is_gcc=yes + fi + rm -f conftest.c + if test -z "${CFLAGS}"; then + # Here CC is set but CFLAGS is not. Use a quick hack to use -O2 if CC + # is set to a version of gcc. + if test "$cc_prog_is_gcc" = yes; then + echo 'void f(){}' > conftest.c + if test -z "`${CC} -g -c conftest.c 2>&1`"; then + CFLAGS=${CFLAGS-"-g -O2"} + CXXFLAGS=${CXXFLAGS-"-g -O2"} + else + CFLAGS=${CFLAGS-"-O2"} + CXXFLAGS=${CXXFLAGS-"-O2"} + fi + rm -f conftest* + fi + fi + fi + + # We must set the default linker to the linker used by gcc for the correct + # operation of libtool. If LD is not defined and we are using gcc, try to + # set the LD default to the ld used by gcc. + if test -z "$LD"; then + if test "$cc_prog_is_gcc" = yes; then + case $build in + *-*-mingw*) + gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;; + *) + gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;; + esac + case $gcc_prog_ld in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + LD="$gcc_prog_ld" ;; + esac + fi + fi + + CXX=${CXX-"c++"} + CFLAGS=${CFLAGS-"-g"} + CXXFLAGS=${CXXFLAGS-"-g -O2"} +fi + +ACX_PROG_GNAT + +# By default, C is the only stage 1 language. +stage1_languages=c +AC_SUBST(stage1_languages) + +# Figure out what language subdirectories are present. +# Look if the user specified --enable-languages="..."; if not, use +# the environment variable $LANGUAGES if defined. $LANGUAGES might +# go away some day. +# NB: embedded tabs in this IF block -- do not untabify +if test -d ${srcdir}/gcc; then + if test x"${enable_languages+set}" != xset; then + if test x"${LANGUAGES+set}" = xset; then + enable_languages="${LANGUAGES}" + echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2 + else + enable_languages=all + fi + else + if test x"${enable_languages}" = x || + test x"${enable_languages}" = xyes; + then + echo configure.in: --enable-languages needs at least one language argument 1>&2 + exit 1 + fi + fi + enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'` + + # First scan to see if an enabled language requires some other language. + # We assume that a given config-lang.in will list all the language + # front ends it requires, even if some are required indirectly. + for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do + case ${lang_frag} in + ..) ;; + # The odd quoting in the next line works around + # an apparent bug in bash 1.12 on linux. + ${srcdir}/gcc/[[*]]/config-lang.in) ;; + *) + # From the config-lang.in, get $language, $lang_requires + language= + lang_requires= + . ${lang_frag} + for other in ${lang_requires} ; do + case ,${enable_languages}, in + *,$other,*) ;; + *,all,*) ;; + *,$language,*) + echo " \`$other' language required by \`$language'; enabling" 1>&2 + enable_languages="${enable_languages},${other}" + ;; + esac + done + ;; + esac + done + + new_enable_languages=c + missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` + + for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do + case ${lang_frag} in + ..) ;; + # The odd quoting in the next line works around + # an apparent bug in bash 1.12 on linux. + ${srcdir}/gcc/[[*]]/config-lang.in) ;; + *) + # From the config-lang.in, get $language, $target_libs, + # $lang_dirs, $boot_language, and $build_by_default + language= + target_libs= + lang_dirs= + boot_language= + build_by_default= + . ${lang_frag} + # This is quite sensitive to the ordering of the case statement arms. + case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in + *::*:*) + echo "${lang_frag} doesn't set \$language." 1>&2 + exit 1 + ;; + *:ada:no:*) + # Ada was requested with no preexisting GNAT. Disable unconditionally. + add_this_lang=no + ;; + *,${language},*:*:*:*) + # Language was explicitly selected; include it. + add_this_lang=yes + ;; + *,all,*:*:*:no) + # 'all' was selected, but this is not a default language + # so do not include it. + add_this_lang=no + ;; + *,all,*:*:*:*) + # 'all' was selected and this is a default language; include it. + add_this_lang=yes + ;; + *) + add_this_lang=no + ;; + esac + case $add_this_lang in + no) + # Remove language-dependent dirs. + eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" + ;; + *) + new_enable_languages="$new_enable_languages,$language" + missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"` + case ${boot_language} in + yes) + # Add to (comma-separated) list of stage 1 languages. + stage1_languages="${stage1_languages},${language}" + ;; + esac + ;; + esac + ;; + esac + done + + missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"` + if test "x$missing_languages" != x; then + AC_MSG_ERROR([ +The following requested languages were not found: ${missing_languages}]) + fi + + if test "x$new_enable_languages" != "x$enable_languages"; then + echo The following languages will be built: ${new_enable_languages} + fi + enable_languages="$new_enable_languages" + ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ ` +fi + +# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and +# $target_configdirs. +# If we have the source for $noconfigdirs entries, add them to $notsupp. + +notsupp="" +for dir in . $skipdirs $noconfigdirs ; do + dirname=`echo $dir | sed -e s/target-//g` + if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"` + if test -r $srcdir/$dirname/configure ; then + if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then + true + else + notsupp="$notsupp $dir" + fi + fi + fi + if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"` + if test -r $srcdir/$dirname/configure ; then + if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then + true + else + notsupp="$notsupp $dir" + fi + fi + fi +done + +# Sometimes the tools are distributed with libiberty but with no other +# libraries. In that case, we don't want to build target-libiberty. +if test -n "${target_configdirs}" ; then + others= + for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do + if test "$i" != "libiberty" ; then + if test -r $srcdir/$i/configure ; then + others=yes; + break; + fi + fi + done + if test -z "${others}" ; then + target_configdirs= + fi +fi + +# Quietly strip out all directories which aren't configurable in this tree. +# This relies on all configurable subdirectories being autoconfiscated, which +# is now the case. +configdirs_all="$configdirs" +configdirs= +for i in ${configdirs_all} ; do + if test -f ${srcdir}/$i/configure ; then + configdirs="${configdirs} $i" + fi +done +target_configdirs_all="$target_configdirs" +target_configdirs= +for i in ${target_configdirs_all} ; do + j=`echo $i | sed -e s/target-//g` + if test -f ${srcdir}/$j/configure ; then + target_configdirs="${target_configdirs} $i" + fi +done + +# Produce a warning message for the subdirs we can't configure. +# This isn't especially interesting in the Cygnus tree, but in the individual +# FSF releases, it's important to let people know when their machine isn't +# supported by the one or two programs in a package. + +if test -n "${notsupp}" && test -z "${norecursion}" ; then + # If $appdirs is non-empty, at least one of those directories must still + # be configured, or we error out. (E.g., if the gas release supports a + # specified target in some subdirs but not the gas subdir, we shouldn't + # pretend that all is well.) + if test -n "$appdirs" ; then + for dir in $appdirs ; do + if test -r $dir/Makefile.in ; then + if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + appdirs="" + break + fi + if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + appdirs="" + break + fi + fi + done + if test -n "$appdirs" ; then + echo "*** This configuration is not supported by this package." 1>&2 + exit 1 + fi + fi + # Okay, some application will build, or we don't care to check. Still + # notify of subdirs not getting built. + echo "*** This configuration is not supported in the following subdirectories:" 1>&2 + echo " ${notsupp}" 1>&2 + echo " (Any other directories should still work fine.)" 1>&2 +fi + +case "$host" in + *msdosdjgpp*) + enable_gdbtk=no ;; +esac + +copy_dirs= + +# Handle --with-headers=XXX. If the value is not "yes", the contents of +# the named directory are copied to $(tooldir)/sys-include. +if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then + if test x${is_cross_compiler} = xno ; then + echo 1>&2 '***' --with-headers is only supported when cross compiling + exit 1 + fi + if test x"${with_headers}" != xyes ; then + case "${exec_prefixoption}" in + "") x=${prefix} ;; + *) x=${exec_prefix} ;; + esac + copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include" + fi +fi + +# Handle --with-libs=XXX. If the value is not "yes", the contents of +# the name directories are copied to $(tooldir)/lib. Multiple directories +# are permitted. +if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then + if test x${is_cross_compiler} = xno ; then + echo 1>&2 '***' --with-libs is only supported when cross compiling + exit 1 + fi + if test x"${with_libs}" != xyes ; then + # Copy the libraries in reverse order, so that files in the first named + # library override files in subsequent libraries. + case "${exec_prefixoption}" in + "") x=${prefix} ;; + *) x=${exec_prefix} ;; + esac + for l in ${with_libs}; do + copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}" + done + fi +fi + +# Handle ${copy_dirs} +set fnord ${copy_dirs} +shift +while test $# != 0 ; do + if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then + : + else + echo Copying $1 to $2 + + # Use the install script to create the directory and all required + # parent directories. + if test -d $2 ; then + : + else + echo >config.temp + ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED + fi + + # Copy the directory, assuming we have tar. + # FIXME: Should we use B in the second tar? Not all systems support it. + (cd $1; tar -cf - .) | (cd $2; tar -xpf -) + + # It is the responsibility of the user to correctly adjust all + # symlinks. If somebody can figure out how to handle them correctly + # here, feel free to add the code. + + echo $1 > $2/COPIED + fi + shift; shift +done + extra_arflags_for_target= extra_nmflags_for_target= extra_ranlibflags_for_target= @@ -1279,281 +1492,17 @@ case "${host}" in ;; esac -# If we aren't going to be using gcc, see if we can extract a definition -# of CC from the fragment. -# Actually, use the 'pre-extracted' version above. -if test -z "${CC}" && test "${build}" = "${host}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - found= - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/gcc; then - found=yes - break - fi - done - IFS="$save_ifs" - if test -z "${found}" && test -n "${tentative_cc}" ; then - CC=$tentative_cc - fi -fi - # Some systems (e.g., one of the i386-aix systems the gas testers are # using) don't handle "\$" correctly, so don't use it here. tooldir='${exec_prefix}'/${target_alias} build_tooldir=${tooldir} -# Generate a default definition for YACC. This is used if the makefile can't -# locate bison or byacc in objdir. - -for prog in 'bison -y' byacc yacc -do - set dummy $prog; tmp=$2 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/$tmp; then - DEFAULT_YACC="$prog" - break - fi - done - IFS="$save_ifs" - - test -n "$DEFAULT_YACC" && break -done - -# Generate a default definition for M4. This is used if the makefile can't -# locate m4 in objdir. - -for prog in gm4 gnum4 m4 -do - set dummy $prog; tmp=$2 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/$tmp; then - DEFAULT_M4="$prog" - break - fi - done - IFS="$save_ifs" - - test -n "$DEFAULT_M4" && break -done - -# Generate a default definition for LEX. This is used if the makefile can't -# locate flex in objdir. - -for prog in flex lex -do - set dummy $prog; tmp=$2 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/$tmp; then - DEFAULT_LEX="$prog" - break - fi - done - IFS="$save_ifs" - - test -n "$DEFAULT_LEX" && break -done - -if test "${build}" != "${host}" ; then - # If we are doing a Canadian Cross, in which the host and build systems - # are not the same, we set reasonable default values for the tools. - - BISON=${BISON-bison} - CC=${CC-${host_alias}-gcc} - CFLAGS=${CFLAGS-"-g -O2"} - CXX=${CXX-${host_alias}-c++} - CXXFLAGS=${CXXFLAGS-"-g -O2"} - CC_FOR_BUILD=${CC_FOR_BUILD-gcc} - CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc} - CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++} - GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj} - GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}} - BUILD_PREFIX=${build_alias}- - BUILD_PREFIX_1=${build_alias}- - MAKEINFO=${MAKEINFO-makeinfo} - - if test -z "${YACC}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/bison; then - YACC="bison -y" - break - fi - if test -f $dir/byacc; then - YACC=byacc - break - fi - if test -f $dir/yacc; then - YACC=yacc - break - fi - done - IFS="$save_ifs" - if test -z "${YACC}" ; then - YACC="bison -y" - fi - fi - - if test -z "${LEX}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/flex; then - LEX=flex - break - fi - if test -f $dir/lex; then - LEX=lex - break - fi - done - IFS="$save_ifs" - LEX=${LEX-flex} - fi - -else - # Set reasonable default values for some tools even if not Canadian. - # Of course, these are different reasonable default values, originally - # specified directly in the Makefile. - # We don't export, so that autoconf can do its job. - # Note that all these settings are above the fragment inclusion point - # in Makefile.in, so can still be overridden by fragments. - # This is all going to change when we autoconfiscate... - - BISON="\$(USUAL_BISON)" - CC_FOR_BUILD="\$(CC)" - GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)" - BUILD_PREFIX= - BUILD_PREFIX_1=loser- - MAKEINFO="\$(USUAL_MAKEINFO)" - LEX="\$(USUAL_LEX)" - YACC="\$(USUAL_YACC)" - - # If CC is still not set, try to get gcc. - cc_prog_is_gcc= - if test -z "${CC}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/gcc; then - CC="gcc" - cc_prog_is_gcc=yes - echo 'void f(){}' > conftest.c - if test -z "`${CC} -g -c conftest.c 2>&1`"; then - CFLAGS=${CFLAGS-"-g -O2"} - CXXFLAGS=${CXXFLAGS-"-g -O2"} - else - CFLAGS=${CFLAGS-"-O2"} - CXXFLAGS=${CXXFLAGS-"-O2"} - fi - rm -f conftest* - break - fi - done - IFS="$save_ifs" - CC=${CC-cc} - else - # Determine if we are using gcc. - cat > conftest.c </dev/null 2>&1; then - cc_prog_is_gcc=yes - fi - rm -f conftest.c - if test -z "${CFLAGS}"; then - # Here CC is set but CFLAGS is not. Use a quick hack to use -O2 if CC - # is set to a version of gcc. - if test "$cc_prog_is_gcc" = yes; then - echo 'void f(){}' > conftest.c - if test -z "`${CC} -g -c conftest.c 2>&1`"; then - CFLAGS=${CFLAGS-"-g -O2"} - CXXFLAGS=${CXXFLAGS-"-g -O2"} - else - CFLAGS=${CFLAGS-"-O2"} - CXXFLAGS=${CXXFLAGS-"-O2"} - fi - rm -f conftest* - fi - fi - fi - - # We must set the default linker to the linker used by gcc for the correct - # operation of libtool. If LD is not defined and we are using gcc, try to - # set the LD default to the ld used by gcc. - if test -z "$LD"; then - if test "$cc_prog_is_gcc" = yes; then - case $build in - *-*-mingw*) - gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;; - *) - gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;; - esac - case $gcc_prog_ld in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - LD="$gcc_prog_ld" ;; - esac - fi - fi - - CXX=${CXX-"c++"} - CFLAGS=${CFLAGS-"-g"} - CXXFLAGS=${CXXFLAGS-"-g -O2"} -fi - -# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest) -# Set up the list of links to be made. -# ${links} is the list of link names, and ${files} is the list of names to link to. - -# Make the links. -configlinks="${links}" -if test -r ./config.status ; then - mv -f ./config.status ./config.back -fi -while test -n "${files}" ; do - # set file to car of files, files to cdr of files - set ${files}; file=$1; shift; files=$* - set ${links}; link=$1; shift; links=$* - - if test ! -r ${srcdir}/${file} ; then - if test ! -r ${file} ; then - echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2 - echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2 - exit 1 - else - srcfile=${file} - fi - else - srcfile=${srcdir}/${file} - fi - - ${remove} -f ${link} - # Make a symlink if possible, otherwise try a hard link - if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then - true - else - # We need to re-remove the file because Lynx leaves a - # very strange directory there when it fails an NFS symlink. - ${remove} -r -f ${link} - ${hard_link} ${srcfile} ${link} - fi - if test ! -r ${link} ; then - echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2 - exit 1 - fi - - echo "Linked \"${link}\" to \"${srcfile}\"." -done +# Generate default definitions for YACC, M4, LEX. These are used if the +# Makefile can't locate these programs in objdir. +MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing +AC_CHECK_PROGS([DEFAULT_YACC], ['bison -y' byacc yacc], [$MISSING bison]) +AC_CHECK_PROGS([DEFAULT_M4], [gm4 gnum4 m4], [$MISSING m4]) +AC_CHECK_PROGS([DEFAULT_LEX], [flex lex], [$MISSING flex]) # Create a .gdbinit file which runs the one in srcdir # and tells GDB to look there for source files. @@ -1784,21 +1733,21 @@ AC_SUBST_FILE(serialization_dependencies # at the end of the argument list. # These will be expanded by make, so quote '$'. cat <<\EOF_SED > conftestsed -s/ --no[[^ ]]* / / -s/ --c[[a-z-]]*[[= ]][[^ ]]* / / -s/ --sr[[a-z-]]*[[= ]][[^ ]]* / / -s/ --ho[[a-z-]]*[[= ]][[^ ]]* / / -s/ --bu[[a-z-]]*[[= ]][[^ ]]* / / -s/ --t[[a-z-]]*[[= ]][[^ ]]* / / -s/ --program-[[pst]][[a-z-]]*[[= ]][[^ ]]* / / -s/ -cache-file[[= ]][[^ ]]* / / -s/ -srcdir[[= ]][[^ ]]* / / -s/ -host[[= ]][[^ ]]* / / -s/ -build[[= ]][[^ ]]* / / -s/ -target[[= ]][[^ ]]* / / -s/ -program-prefix[[= ]][[^ ]]* / / -s/ -program-suffix[[= ]][[^ ]]* / / -s/ -program-transform-name[[= ]][[^ ]]* / / +s/ --no[[^ ]]*/ /g +s/ --c[[a-z-]]*[[= ]][[^ ]]*//g +s/ --sr[[a-z-]]*[[= ]][[^ ]]*//g +s/ --ho[[a-z-]]*[[= ]][[^ ]]*//g +s/ --bu[[a-z-]]*[[= ]][[^ ]]*//g +s/ --t[[a-z-]]*[[= ]][[^ ]]*//g +s/ --program-[[pst]][[a-z-]]*[[= ]][[^ ]]*//g +s/ -cache-file[[= ]][[^ ]]*//g +s/ -srcdir[[= ]][[^ ]]*//g +s/ -host[[= ]][[^ ]]*//g +s/ -build[[= ]][[^ ]]*//g +s/ -target[[= ]][[^ ]]*//g +s/ -program-prefix[[= ]][[^ ]]*//g +s/ -program-suffix[[= ]][[^ ]]*//g +s/ -program-transform-name[[= ]][[^ ]]*//g s/ [[^' -][^ ]*] / / s/^ *//;s/ *$// s,\$,$$,g @@ -2047,7 +1996,6 @@ AC_SUBST(SET_LIB_PATH) AC_SUBST(RPATH_ENVVAR) AC_SUBST(BUILD_PREFIX) AC_SUBST(BUILD_PREFIX_1) -AC_SUBST(configlinks) AC_SUBST(gcc_version_trigger) AC_SUBST(gcc_version) AC_SUBST(tooldir) @@ -2097,13 +2045,13 @@ AC_SUBST(DEFAULT_LEX) AC_SUBST(DEFAULT_M4) # Target tools. -NCN_STRICT_CHECK_TARGET_TOOL(AR_FOR_TARGET, ar) -NCN_STRICT_CHECK_TARGET_TOOL(AS_FOR_TARGET, as) -NCN_STRICT_CHECK_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool) -NCN_STRICT_CHECK_TARGET_TOOL(LD_FOR_TARGET, ld) -NCN_STRICT_CHECK_TARGET_TOOL(NM_FOR_TARGET, nm) -NCN_STRICT_CHECK_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib, :) -NCN_STRICT_CHECK_TARGET_TOOL(WINDRES_FOR_TARGET, windres) +NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AR_FOR_TARGET, ar) +NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AS_FOR_TARGET, as) +NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_DLLTOOL_FOR_TARGET, dlltool) +NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_LD_FOR_TARGET, ld) +NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_NM_FOR_TARGET, nm) +NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_RANLIB_FOR_TARGET, ranlib, :) +NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_WINDRES_FOR_TARGET, windres) AC_SUBST(GCC_FOR_TARGET) AC_SUBST(FLAGS_FOR_TARGET) @@ -2129,7 +2077,24 @@ if test "x${build}" = "x${host}" ; then NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)" RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)" WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)" -fi +else + # Just use the ones we found. + AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)" + AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)" + DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)" + LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)" + NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)" + RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)" + WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)" +fi +AC_SUBST(AR_FOR_TARGET) +AC_SUBST(AS_FOR_TARGET) +AC_SUBST(DLLTOOL_FOR_TARGET) +AC_SUBST(LD_FOR_TARGET) +AC_SUBST(NM_FOR_TARGET) +AC_SUBST(RANLIB_FOR_TARGET) +AC_SUBST(WINDRES_FOR_TARGET) + # Certain tools may need extra flags. AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target} RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target} @@ -2154,4 +2119,37 @@ fi MAINT=$MAINTAINER_MODE_TRUE AC_SUBST(MAINT)dnl +# --------------------- +# GCC bootstrap support +# --------------------- + +# Stage specific cflags for build. +stage1_cflags="-g" +case $build in + vax-*-*) + case ${GCC} in + yes) stage1_cflags="-g -Wa,-J" ;; + *) stage1_cflags="-g -J" ;; + esac ;; + powerpc-*-darwin*) + # The spiffy cpp-precomp chokes on some legitimate constructs in GCC + # sources; use -no-cpp-precomp to get to GNU cpp. + # Apple's GCC has bugs in designated initializer handling, so disable + # that too. + stage1_cflags="-g -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0" + ;; +esac +AC_SUBST(stage1_cflags) + +# Enable -Werror in bootstrap stage2 and later. +# Change the default to "no" on release branches. +AC_ARG_ENABLE(werror, +[ --enable-werror enable -Werror in bootstrap stage2 and later], [], +[enable_werror=yes]) +case ${enable_werror} in + yes) stage2_werror_flag="--enable-werror-always" ;; + *) stage2_werror_flag="" ;; +esac +AC_SUBST(stage2_werror_flag) + AC_OUTPUT(Makefile) diff -uprN binutils-2.15.90.0.1.1/cpu/ChangeLog binutils-2.15.90.0.2/cpu/ChangeLog --- binutils-2.15.90.0.1.1/cpu/ChangeLog 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/cpu/ChangeLog 2004-04-12 12:56:34.000000000 -0700 @@ -1,3 +1,7 @@ +2004-03-30 Kazuhiro Inaoka + + * m32r.opc (parse_hi16): Fixed shigh(0xffff8000) bug. + 2004-03-01 Richard Sandiford * frv.cpu (define-arch frv): Add fr450 mach. diff -uprN binutils-2.15.90.0.1.1/cpu/m32r.opc binutils-2.15.90.0.2/cpu/m32r.opc --- binutils-2.15.90.0.1.1/cpu/m32r.opc 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/cpu/m32r.opc 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* M32R opcode support. -*- C -*- - Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. Contributed by Red Hat Inc; developed under contract from Mitsubishi Electric Corporation. @@ -23,9 +23,7 @@ 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. - -*/ + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This file is an addendum to m32r.cpu. Heavy use of C code isn't appropriate in .cpu files, so it resides here. This especially applies @@ -40,8 +38,7 @@ -opc.c additions use: "-- opc.c" -asm.c additions use: "-- asm.c" -dis.c additions use: "-- dis.c" - -ibd.h additions use: "-- ibd.h" -*/ + -ibd.h additions use: "-- ibd.h" */ /* -- opc.h */ @@ -153,7 +150,10 @@ parse_hi16 (cd, strp, opindex, valuep) ++*strp; if (errmsg == NULL && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER) - value = (value >> 16) + (value & 0x8000 ? 1 : 0); + { + value = value + (value & 0x8000 ? 0x10000 : 0); + value >>= 16; + } *valuep = value; return errmsg; } diff -uprN binutils-2.15.90.0.1.1/gas/ChangeLog binutils-2.15.90.0.2/gas/ChangeLog --- binutils-2.15.90.0.1.1/gas/ChangeLog 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/gas/ChangeLog 2004-04-12 12:56:34.000000000 -0700 @@ -1,3 +1,184 @@ +2004-04-11 Thiemo Seufer + + * Makefile.am: Remove mips from aout targets. + * Makefile.in: Regenerate. + * configure.in: Remove mips-dec-bsd* target. + * configure: Regenerate. + +2004-04-07 Alan Modra + + PR 96 + * config/tc-ppc.c (ppc_elf_suffix): Add valid32 and valid64 fields + to struct map_bfd. Adjust MAP macro, and define MAP32, MAP64. + Update "mapping". Restrict some @ modifiers to 32 bit. + +2004-04-01 Asgari Jinia + Dhananjay Deshpande + + * config/tc-sh.c (dont_adjust_reloc_32): New variable. + (sh_fix_adjustable): Avoid adjusting BFD_RELOC_32 when + dont_adjust_reloc_32 is set. + (md_longopts): Add option -renesas. + (md_parse_option, md_show_usage): Likewise. + * doc/c-sh.texi: Likewise. + +2004-04-01 Dave Korn + + * config/tc-dlx.c (md_assemble): set fx_no_overflow flag for + hi16 and lo16 fixS structs. + (md_assemble): generate bit_fixS for RELOC_DLX_LO16 in + exactly the same way as for RELOC_DLX_REL16. + (machine_ip): properly respect LO flag in the_insn and + output RELOC_DLX_LO16 rather than RELOC_DLX_16. + (md_apply_fix3): apply RELOC_DLX_LO16. + +2004-03-30 Stan Shebs + + Remove long-obsolete MPW support. + * mpw-config.in, mpw-make.sed, mac-as.r: Remove files. + * configure.in: Remove mention of ppc-*-mpw* config. + * configure.in: Likewise. + +2004-03-30 Nick Clifton + + * config/tc-arm.c (meabi_flags): Make its use conditional upon + OBJ_ELF being defined. + +2004-03-27 Alan Modra + + * config/obj-aout.c (obj_aout_type): Remove #ifdef BFD_ASSEMBLER code. + +2004-03-23 Paul Brook + + * config/tc-arm.c (meabi_flags): New variable. + (arm_parse_eabi): New function. + (md_begin): Set flags for EABI v3. + (arm_eabis): Add. + (arm_long_opts): Add meabi. + * doc/as.texinf : Document -meabi. + * doc/c-arm.texi: Ditto. + +2004-03-22 Bob Wilson + + * config/tc-xtensa.c (xtensa_post_relax_hook): Create literal + tables even when use_literal_section flag is not set. + +2004-03-22 Alan Modra + + * config/tc-sh.c: Remove trailing whitespace. + +2004-03-22 Hans-Peter Nilsson + + * doc/c-cris.texi (CRIS-Opts): Document --no-mul-bug-abort, + --mul-bug-abort and the default behavior. + * config/tc-cris.c (cris_insn_kind): New member CRIS_INSN_MUL. + (err_for_dangerous_mul_placement): New variable. + (STATE_MUL, OPTION_MULBUG_ABORT_ON, OPTION_MULBUG_ABORT_OFF): New + macros. + (md_cris_relax_table): Have placeholder for STATE_MUL. + (md_longopts): New options --mul-bug-abort and --no-mul-bug-abort. + (cris_relax_frag) : New + case doing nothing. + (md_estimate_size_before_relax) : Ditto. + (md_convert_frag) : Check + alignment and position of this frag, emit error message if + suspicious. + (md_assemble): For a multiply insn and when checking it, + transform the current frag into a special frag for that purpose. + (md_parse_option) : Handle new options. + +2004-03-19 Bob Wilson + + * config/tc-xtensa.c (mark_literal_frags): New function. + (xtensa_move_literals): Call mark_literal_frags for all literal + segments, including init and fini literal segments. + (xtensa_post_relax_hook): Swap use of xt_insn_sec and xt_literal_sec. + +2004-03-19 John David Anglin + + * tc-hppa.c (cons_fix_new_hppa): Check for PC relative base type. + (pa_comm): Set BSF_OBJECT in symbol flags. + +2004-03-19 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * doc/Makefile.in: Regenerate. + * config.in: Regenerate. + * po/gas.pot: Regenerate. + +2004-03-18 Nathan Sidwell + + * read.c (read_a_source_file): Use demand_empty_rest_of_line. + (demand_empty_rest_of_line): Issue an error here. + (ignore_rest_of_line): Silently skip to end. + (demand_copy_string): Issue an error, not warning. + (equals): Likewise. + * config/obj-elf.c (obj_elf_section_name): Likewise. + (obj_elf_section): Likewise. + * config/tc-arc.c (arc_extoper): Remove bogus NULL checks. + (arc_extinst): Likewise. + * config/tc-ia64.c (dot_saveb): Use demand_empty_rest_of_line. + (dot_spill): Likewise. + (dot_unwabi): Likewise. + (dot_prologue): Likewise. + + * expr.c (operand): Reject ++ and --. + (operator): Likewise. + +2004-03-17 Kaz Kojima + + * config/tc-sh.c: Include dw2gencfi.h. + (sh_cfi_frame_initial_instructions): New function. + (sh_regname_to_dw2regnum): Likewise. + * config/tc-sh.h (DWARF2_LINE_MIN_INSN_LENGTH): Move to the end of + file. + (TARGET_USE_CFIPOP): Define. + (tc_cfi_frame_initial_instructions): Likewise. + (tc_regname_to_dw2regnum): Likewise. + (DWARF2_DEFAULT_RETURN_COLUMN, DWARF2_CIE_DATA_ALIGNMENT): Likewise. + * Makefile.am: Update dependencies. + * Makefile.in: Regenerate. + +2004-03-17 Ralf Corsepius + + * configure.in: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*. + * configure: Regenerate. + +2004-03-12 Bob Wilson + + * read.c (s_leb128): Call md_flush_pending_output. + +2004-03-12 Michal Ludvig + + * config/tc-i386.c (output_insn): Handle PadLock instructions. + * config/tc-i386.h (CpuPadLock): New define. + (CpuUnknownFlags): Added CpuPadLock. + +2004-03-07 Andreas Schwab + + * doc/c-hppa.texi (HPPA Directives): Fix typo. + +2004-03-07 Richard Henderson + + * dw2gencfi.c (output_cie): Align length to 4 byte boundary. + (cfi_finish): Likewise for fde. + +2004-03-05 H.J. Lu + + * config/tc-ia64.c (md_assemble): Properly handle NULL + align_frag. + (ia64_handle_align): Don't abort if failed to add a stop bit. + +2004-03-04 H.J. Lu + + * Makefile.in: Regenerated. + * aclocal.m4: Likewise. + * configure: Likewise. + * doc/Makefile.in: Likewise. + 2004-03-03 H.J. Lu * config/tc-ia64.c (dot_align): New. @@ -106,7 +287,7 @@ Fix accumulator registers move opcodes. 2004-02-13 Hannes Reinecke - Jakub Jelinek + Jakub Jelinek * dwarf2dbg.c (get_filenum): Do not read beyond allocated memory. diff -uprN binutils-2.15.90.0.1.1/gas/ChangeLog.linux binutils-2.15.90.0.2/gas/ChangeLog.linux --- binutils-2.15.90.0.1.1/gas/ChangeLog.linux 2004-03-05 17:18:21.000000000 -0800 +++ binutils-2.15.90.0.2/gas/ChangeLog.linux 2004-04-12 12:56:34.000000000 -0700 @@ -1,16 +1,3 @@ -2004-03-05 H.J. Lu - - * config/tc-ia64.c (md_assemble): Properly handle NULL - align_frag. - (ia64_handle_align): Don't abort if failed to add a stop bit. - -2004-03-05 H.J. Lu - - * Makefile.in: Regenerated. - * aclocal.m4: Likewise. - * configure: Likewise. - * doc/Makefile.in: Likewise. - 2001-10-21 H.J. Lu * configure: Rebuid for ../libtool.m4 change. diff -uprN binutils-2.15.90.0.1.1/gas/Makefile.am binutils-2.15.90.0.2/gas/Makefile.am --- binutils-2.15.90.0.1.1/gas/Makefile.am 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/Makefile.am 2004-04-12 12:56:34.000000000 -0700 @@ -113,7 +113,7 @@ CPU_OBJ_VALID = \ case $$o in \ aout) \ case $$c in \ - a29k | arm | cris | i386 | m68k | mips | ns32k | pdp11 | sparc | tahoe | tic30 | vax) \ + a29k | arm | cris | i386 | m68k | ns32k | pdp11 | sparc | tahoe | tic30 | vax) \ valid=yes ;; \ esac ;; \ bout) \ @@ -1197,13 +1197,14 @@ DEPTC_m32r_coff = $(INCDIR)/symcat.h $(s $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \ subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/m32r-desc.h \ $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/m32r-opc.h \ - cgen.h + cgen.h $(INCDIR)/elf/m32r.h $(INCDIR)/elf/reloc-macros.h DEPTC_m32r_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ $(srcdir)/../opcodes/m32r-desc.h $(INCDIR)/opcode/cgen.h \ - $(srcdir)/../opcodes/m32r-opc.h cgen.h + $(srcdir)/../opcodes/m32r-opc.h cgen.h $(INCDIR)/elf/m32r.h \ + $(INCDIR)/elf/reloc-macros.h DEPTC_m68hc11_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-m68hc11.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ @@ -1400,20 +1401,23 @@ DEPTC_sh_coff = $(INCDIR)/symcat.h $(src $(srcdir)/config/tc-sh.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \ - $(INCDIR)/safe-ctype.h struc-symbol.h dwarf2dbg.h + $(INCDIR)/safe-ctype.h struc-symbol.h dwarf2dbg.h dw2gencfi.h \ + $(INCDIR)/elf/dwarf2.h DEPTC_sh_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h \ subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \ $(INCDIR)/safe-ctype.h struc-symbol.h $(INCDIR)/elf/sh.h \ - $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h + $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h dw2gencfi.h \ + $(INCDIR)/elf/dwarf2.h DEPTC_sh64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh64.h \ $(srcdir)/config/tc-sh.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \ $(BFDDIR)/elf32-sh64.h $(INCDIR)/safe-ctype.h $(srcdir)/../opcodes/sh64-opc.h \ $(srcdir)/config/tc-sh.c subsegs.h $(INCDIR)/obstack.h \ - $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h + $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h \ + dw2gencfi.h $(INCDIR)/elf/dwarf2.h DEPTC_sparc_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ $(srcdir)/config/tc-sparc.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ diff -uprN binutils-2.15.90.0.1.1/gas/Makefile.in binutils-2.15.90.0.2/gas/Makefile.in --- binutils-2.15.90.0.1.1/gas/Makefile.in 2004-03-05 17:18:21.000000000 -0800 +++ binutils-2.15.90.0.2/gas/Makefile.in 2004-04-12 12:56:34.000000000 -0700 @@ -342,7 +342,7 @@ CPU_OBJ_VALID = \ case $$o in \ aout) \ case $$c in \ - a29k | arm | cris | i386 | m68k | mips | ns32k | pdp11 | sparc | tahoe | tic30 | vax) \ + a29k | arm | cris | i386 | m68k | ns32k | pdp11 | sparc | tahoe | tic30 | vax) \ valid=yes ;; \ esac ;; \ bout) \ @@ -1020,14 +1020,15 @@ DEPTC_m32r_coff = $(INCDIR)/symcat.h $(s $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \ subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/m32r-desc.h \ $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/m32r-opc.h \ - cgen.h + cgen.h $(INCDIR)/elf/m32r.h $(INCDIR)/elf/reloc-macros.h DEPTC_m32r_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ $(srcdir)/../opcodes/m32r-desc.h $(INCDIR)/opcode/cgen.h \ - $(srcdir)/../opcodes/m32r-opc.h cgen.h + $(srcdir)/../opcodes/m32r-opc.h cgen.h $(INCDIR)/elf/m32r.h \ + $(INCDIR)/elf/reloc-macros.h DEPTC_m68hc11_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-m68hc11.h $(INCDIR)/coff/internal.h \ @@ -1262,14 +1263,16 @@ DEPTC_sh_coff = $(INCDIR)/symcat.h $(src $(srcdir)/config/tc-sh.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \ - $(INCDIR)/safe-ctype.h struc-symbol.h dwarf2dbg.h + $(INCDIR)/safe-ctype.h struc-symbol.h dwarf2dbg.h dw2gencfi.h \ + $(INCDIR)/elf/dwarf2.h DEPTC_sh_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h \ subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \ $(INCDIR)/safe-ctype.h struc-symbol.h $(INCDIR)/elf/sh.h \ - $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h + $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h dw2gencfi.h \ + $(INCDIR)/elf/dwarf2.h DEPTC_sh64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ @@ -1277,7 +1280,8 @@ DEPTC_sh64_elf = $(INCDIR)/symcat.h $(sr $(srcdir)/config/tc-sh.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \ $(BFDDIR)/elf32-sh64.h $(INCDIR)/safe-ctype.h $(srcdir)/../opcodes/sh64-opc.h \ $(srcdir)/config/tc-sh.c subsegs.h $(INCDIR)/obstack.h \ - $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h + $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h \ + dw2gencfi.h $(INCDIR)/elf/dwarf2.h DEPTC_sparc_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ $(srcdir)/config/tc-sparc.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ @@ -2551,15 +2555,15 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus '; \ - cd $(srcdir) && $(AUTOMAKE) --cygnus \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --cygnus Makefile + $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -uprN binutils-2.15.90.0.1.1/gas/config/obj-aout.c binutils-2.15.90.0.2/gas/config/obj-aout.c --- binutils-2.15.90.0.1.1/gas/config/obj-aout.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/obj-aout.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* a.out object file format Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, - 2001, 2002 Free Software Foundation, Inc. + 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -419,17 +419,9 @@ obj_aout_type (ignore) { ++input_line_pointer; if (strncmp (input_line_pointer, "object", 6) == 0) -#ifdef BFD_ASSEMBLER - aout_symbol (symbol_get_bfdsym (sym))->other = 1; -#else - S_SET_OTHER (sym, 1); -#endif + S_SET_OTHER (sym, 1); else if (strncmp (input_line_pointer, "function", 8) == 0) -#ifdef BFD_ASSEMBLER - aout_symbol (symbol_get_bfdsym (sym))->other = 2; -#else - S_SET_OTHER (sym, 2); -#endif + S_SET_OTHER (sym, 2); } } diff -uprN binutils-2.15.90.0.1.1/gas/config/obj-elf.c binutils-2.15.90.0.2/gas/config/obj-elf.c --- binutils-2.15.90.0.1.1/gas/config/obj-elf.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/obj-elf.c 2004-04-12 12:56:34.000000000 -0700 @@ -787,7 +787,7 @@ obj_elf_section_name (void) end++; if (end == input_line_pointer) { - as_warn (_("missing name")); + as_bad (_("missing name")); ignore_rest_of_line (); return NULL; } @@ -938,7 +938,7 @@ obj_elf_section (int push) SKIP_WHITESPACE (); if (*input_line_pointer != '#') { - as_warn (_("character following name is not '#'")); + as_bad (_("character following name is not '#'")); ignore_rest_of_line (); return; } diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-arc.c binutils-2.15.90.0.2/gas/config/tc-arc.c --- binutils-2.15.90.0.1.1/gas/config/tc-arc.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-arc.c 2004-04-12 12:56:34.000000000 -0700 @@ -905,11 +905,6 @@ arc_extoper (opertype) name = input_line_pointer; c = get_symbol_end (); name = xstrdup (name); - if (NULL == name) - { - ignore_rest_of_line (); - return; - } p = name; while (*p) @@ -1153,11 +1148,6 @@ arc_extinst (ignore) name = input_line_pointer; c = get_symbol_end (); name = xstrdup (name); - if (NULL == name) - { - ignore_rest_of_line (); - return; - } strcpy (syntax, name); name_len = strlen (name); @@ -1305,18 +1295,7 @@ arc_extinst (ignore) strcat (syntax, "%S%L"); ext_op = (struct arc_opcode *) xmalloc (sizeof (struct arc_opcode)); - if (NULL == ext_op) - { - ignore_rest_of_line (); - return; - } - ext_op->syntax = xstrdup (syntax); - if (NULL == ext_op->syntax) - { - ignore_rest_of_line (); - return; - } ext_op->mask = I (-1) | ((0x3 == opcode) ? C (-1) : 0); ext_op->value = I (opcode) | ((0x3 == opcode) ? C (subopcode) : 0); diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-arm.c binutils-2.15.90.0.2/gas/config/tc-arm.c --- binutils-2.15.90.0.1.1/gas/config/tc-arm.c 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-arm.c 2004-04-12 12:56:34.000000000 -0700 @@ -191,6 +191,9 @@ static int march_cpu_opt = -1; static int march_fpu_opt = -1; static int mfpu_opt = -1; static int mfloat_abi_opt = -1; +#ifdef OBJ_ELF +static int meabi_flags = EF_ARM_EABI_UNKNOWN; +#endif /* This array holds the chars that always start a comment. If the pre-processor is disabled, these aren't very useful. */ @@ -2551,6 +2554,9 @@ static int arm_parse_cpu PARAMS ((char * static int arm_parse_arch PARAMS ((char *)); static int arm_parse_fpu PARAMS ((char *)); static int arm_parse_float_abi PARAMS ((char *)); +#ifdef OBJ_ELF +static int arm_parse_eabi PARAMS ((char *)); +#endif #if 0 /* Suppressed - for now. */ #if defined OBJ_COFF || defined OBJ_ELF static void arm_add_note PARAMS ((const char *, const char *, unsigned int)); @@ -11685,40 +11691,57 @@ md_begin () cpu_variant = mcpu_cpu_opt | mfpu_opt; -#if defined OBJ_COFF || defined OBJ_ELF { unsigned int flags = 0; - /* Set the flags in the private structure. */ - if (uses_apcs_26) flags |= F_APCS26; - if (support_interwork) flags |= F_INTERWORK; - if (uses_apcs_float) flags |= F_APCS_FLOAT; - if (pic_code) flags |= F_PIC; - if ((cpu_variant & FPU_ANY) == FPU_NONE - || (cpu_variant & FPU_ANY) == FPU_ARCH_VFP) /* VFP layout only. */ - { - flags |= F_SOFT_FLOAT; - } - switch (mfloat_abi_opt) +#if defined OBJ_ELF + flags = meabi_flags; + + switch (meabi_flags) { - case ARM_FLOAT_ABI_SOFT: - case ARM_FLOAT_ABI_SOFTFP: - flags |= F_SOFT_FLOAT; + case EF_ARM_EABI_UNKNOWN: +#endif +#if defined OBJ_COFF || defined OBJ_ELF + /* Set the flags in the private structure. */ + if (uses_apcs_26) flags |= F_APCS26; + if (support_interwork) flags |= F_INTERWORK; + if (uses_apcs_float) flags |= F_APCS_FLOAT; + if (pic_code) flags |= F_PIC; + if ((cpu_variant & FPU_ANY) == FPU_NONE + || (cpu_variant & FPU_ANY) == FPU_ARCH_VFP) /* VFP layout only. */ + flags |= F_SOFT_FLOAT; + + switch (mfloat_abi_opt) + { + case ARM_FLOAT_ABI_SOFT: + case ARM_FLOAT_ABI_SOFTFP: + flags |= F_SOFT_FLOAT; + break; + + case ARM_FLOAT_ABI_HARD: + if (flags & F_SOFT_FLOAT) + as_bad (_("hard-float conflicts with specified fpu")); + break; + } + + /* Using VFP conventions (even if soft-float). */ + if (cpu_variant & FPU_VFP_EXT_NONE) + flags |= F_VFP_FLOAT; +#endif +#if defined OBJ_ELF + if (cpu_variant & FPU_ARCH_MAVERICK) + flags |= EF_ARM_MAVERICK_FLOAT; break; - case ARM_FLOAT_ABI_HARD: - if (flags & F_SOFT_FLOAT) - as_bad (_("hard-float conflicts with specified fpu")); + case EF_ARM_EABI_VER3: + /* No additional flags to set. */ break; - } - /* Using VFP conventions (even if soft-float). */ - if (cpu_variant & FPU_VFP_EXT_NONE) flags |= F_VFP_FLOAT; -#if defined OBJ_ELF - if (cpu_variant & FPU_ARCH_MAVERICK) - flags |= EF_ARM_MAVERICK_FLOAT; + default: + abort (); + } #endif - +#if defined OBJ_COFF || defined OBJ_ELF bfd_set_private_flags (stdoutput, flags); /* We have run out flags in the COFF header to encode the @@ -11738,8 +11761,8 @@ md_begin () bfd_set_section_contents (stdoutput, sec, NULL, 0, 0); } } - } #endif + } /* Record the CPU type as well. */ switch (cpu_variant & ARM_CPU_MASK) @@ -13450,6 +13473,22 @@ static struct arm_float_abi_option_table {NULL, 0} }; +struct arm_eabi_option_table +{ + char *name; + unsigned int value; +}; + +#ifdef OBJ_ELF +/* We only know hot to output GNU and ver 3 (AAELF) formats. */ +static struct arm_eabi_option_table arm_eabis[] = +{ + {"gnu", EF_ARM_EABI_UNKNOWN}, + {"3", EF_ARM_EABI_VER3}, + {NULL, 0} +}; +#endif + struct arm_long_option_table { char *option; /* Substring to match. */ @@ -13613,6 +13652,24 @@ arm_parse_float_abi (str) return 0; } +#ifdef OBJ_ELF +static int +arm_parse_eabi (str) + char * str; +{ + struct arm_eabi_option_table *opt; + + for (opt = arm_eabis; opt->name != NULL; opt++) + if (strcmp (opt->name, str) == 0) + { + meabi_flags = opt->value; + return 1; + } + as_bad (_("unknown EABI `%s'\n"), str); + return 0; +} +#endif + struct arm_long_option_table arm_long_opts[] = { {"mcpu=", N_("\t assemble for CPU "), @@ -13623,6 +13680,10 @@ struct arm_long_option_table arm_long_op arm_parse_fpu, NULL}, {"mfloat-abi=", N_("\t assemble for floating point ABI "), arm_parse_float_abi, NULL}, +#ifdef OBJ_ELF + {"meabi=", N_("\t assemble for eabi version "), + arm_parse_eabi, NULL}, +#endif {NULL, NULL, 0, NULL} }; diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-cris.c binutils-2.15.90.0.2/gas/config/tc-cris.c --- binutils-2.15.90.0.1.1/gas/config/tc-cris.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-cris.c 2004-04-12 12:56:34.000000000 -0700 @@ -58,7 +58,7 @@ Note that some prefix-insns might be assembled as CRIS_INSN_NORMAL. */ enum cris_insn_kind { - CRIS_INSN_NORMAL, CRIS_INSN_NONE, CRIS_INSN_BRANCH + CRIS_INSN_NORMAL, CRIS_INSN_NONE, CRIS_INSN_BRANCH, CRIS_INSN_MUL }; /* An instruction will have one of these prefixes. @@ -187,6 +187,10 @@ const pseudo_typeS md_pseudo_table[] = static int warn_for_branch_expansion = 0; +/* Whether to emit error when a MULS/MULU could be located last on a + cache-line. */ +static int err_for_dangerous_mul_placement = 1; + const char cris_comment_chars[] = ";"; /* This array holds the chars that only start a comment at the beginning of @@ -219,10 +223,16 @@ const char FLT_CHARS[] = ""; length: byte, word, 10-byte expansion 2. BDAP - length: byte, word, dword */ + length: byte, word, dword + + 3. MULS/MULU + Not really a relaxation (no infrastructure to get delay-slots + right), just an alignment and placement checker for the v10 + multiply/cache-bug. */ #define STATE_CONDITIONAL_BRANCH (1) #define STATE_BASE_PLUS_DISP_PREFIX (2) +#define STATE_MUL (3) #define STATE_LENGTH_MASK (3) #define STATE_BYTE (0) @@ -282,7 +292,13 @@ const relax_typeS md_cris_relax_table[] {BDAP_WF, BDAP_WB, 2, ENCODE_RELAX (2, 2)}, /* BDAP.d [PC+] (2, 2). */ - {0, 0, 4, 0} + {0, 0, 4, 0}, + + /* Unused (2, 3). */ + {0, 0, 0, 0}, + + /* MULS/MULU (3, 0). Positions (3, 1..3) are unused. */ + {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }; #undef BRANCH_BF @@ -304,6 +320,10 @@ struct option md_longopts[] = {"underscore", no_argument, NULL, OPTION_US}, #define OPTION_PIC (OPTION_MD_BASE + 2) {"pic", no_argument, NULL, OPTION_PIC}, +#define OPTION_MULBUG_ABORT_ON (OPTION_MD_BASE + 3) + {"mul-bug-abort", no_argument, NULL, OPTION_MULBUG_ABORT_ON}, +#define OPTION_MULBUG_ABORT_OFF (OPTION_MD_BASE + 4) + {"no-mul-bug-abort", no_argument, NULL, OPTION_MULBUG_ABORT_OFF}, {NULL, no_argument, NULL, 0} }; @@ -392,6 +412,10 @@ cris_relax_frag (seg, fragP, stretch) aim = S_GET_VALUE (symbolP); break; + case ENCODE_RELAX (STATE_MUL, STATE_BYTE): + /* Nothing to do here. */ + return 0; + default: as_fatal (_("internal inconsistency problem in %s: fr_subtype %d"), __FUNCTION__, fragP->fr_subtype); @@ -558,6 +582,10 @@ md_estimate_size_before_relax (fragP, se fragP->fr_var = md_cris_relax_table[fragP->fr_subtype].rlx_length; break; + case ENCODE_RELAX (STATE_MUL, STATE_BYTE): + /* Nothing to do here. */ + break; + default: BAD_CASE (fragP->fr_subtype); } @@ -679,6 +707,24 @@ md_convert_frag (abfd, sec, fragP) var_part_size = 4; break; + case ENCODE_RELAX (STATE_MUL, STATE_BYTE): + /* This is the only time we check position and aligmnent of the + placement-tracking frag. */ + if (sec->alignment_power < 2) + as_bad_where (fragP->fr_file, fragP->fr_line, + _("section alignment must be >= 4 bytes to check MULS/MULU safeness")); + else + { + /* If the address after the MULS/MULU has alignment which is + that of the section and may be that of a cache-size of the + buggy versions, then the MULS/MULU can be placed badly. */ + if ((address_of_var_part + & ((1 << sec->alignment_power) - 1) & 31) == 0) + as_bad_where (fragP->fr_file, fragP->fr_line, + _("dangerous MULS/MULU location; give it higher alignment")); + } + break; + default: BAD_CASE (fragP->fr_subtype); break; @@ -967,6 +1013,13 @@ md_assemble (str) output_instruction.expr.X_add_number); } } + else if (output_instruction.insn_type == CRIS_INSN_MUL + && err_for_dangerous_mul_placement) + /* Create a frag which which we track the location of the mul insn + (in the last two bytes before the mul-frag). */ + frag_variant (rs_machine_dependent, 0, 0, + ENCODE_RELAX (STATE_MUL, STATE_BYTE), + NULL, 0, opcodep); else { if (output_instruction.imm_oprnd_size > 0) @@ -1572,6 +1625,9 @@ cris_process_instruction (insn_text, out != (unsigned int) out_insnp->imm_oprnd_size)) as_bad (_("PIC relocation size does not match operand size")); } + else if (instruction->op == cris_muls_op + || instruction->op == cris_mulu_op) + out_insnp->insn_type = CRIS_INSN_MUL; } break; } @@ -2947,6 +3003,14 @@ md_parse_option (arg, argp) pic = TRUE; return 1; + case OPTION_MULBUG_ABORT_OFF: + err_for_dangerous_mul_placement = 0; + return 1; + + case OPTION_MULBUG_ABORT_ON: + err_for_dangerous_mul_placement = 1; + return 1; + default: return 0; } diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-dlx.c binutils-2.15.90.0.2/gas/config/tc-dlx.c --- binutils-2.15.90.0.1.1/gas/config/tc-dlx.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-dlx.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,5 +1,5 @@ /* tc-ldx.c -- Assemble for the DLX - Copyright 2002, 2003 Free Software Foundation, Inc. + Copyright 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -397,6 +397,18 @@ md_assemble (str) the_insn.size, & the_insn.exp, the_insn.pcrel, the_insn.reloc); + /* Turn off complaints that the addend is + too large for things like foo+100000@ha. */ + switch (the_insn.reloc) + { + case RELOC_DLX_HI16: + case RELOC_DLX_LO16: + fixP->fx_no_overflow = 1; + break; + default: + break; + } + switch (fixP->fx_r_type) { case RELOC_DLX_REL26: @@ -410,6 +422,7 @@ md_assemble (str) bitP->fx_bit_add = 0x03FFFFFF; fixP->fx_bit_fixP = bitP; break; + case RELOC_DLX_LO16: case RELOC_DLX_REL16: bitP = malloc (sizeof (bit_fixS)); bitP->fx_bit_size = 16; @@ -955,7 +968,8 @@ machine_ip (str) continue; } - the_insn.reloc = (the_insn.HI) ? RELOC_DLX_HI16 : RELOC_DLX_16; + the_insn.reloc = (the_insn.HI) ? RELOC_DLX_HI16 + : (the_insn.LO ? RELOC_DLX_LO16 : RELOC_DLX_16); the_insn.reloc_offset = 2; the_insn.size = 2; the_insn.pcrel = 0; @@ -1164,6 +1178,7 @@ md_apply_fix3 (fixP, valP, seg) switch (fixP->fx_r_type) { + case RELOC_DLX_LO16: case RELOC_DLX_REL16: if (fixP->fx_bit_fixP != (bit_fixS *) NULL) { diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-hppa.c binutils-2.15.90.0.2/gas/config/tc-hppa.c --- binutils-2.15.90.0.1.1/gas/config/tc-hppa.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-hppa.c 2004-04-12 12:56:34.000000000 -0700 @@ -1399,6 +1399,8 @@ cons_fix_new_hppa (frag, where, size, ex /* Get a base relocation type. */ if (is_DP_relative (*exp)) rel_type = R_HPPA_GOTOFF; + else if (is_PC_relative (*exp)) + rel_type = R_HPPA_PCREL_CALL; else if (is_complex (*exp)) rel_type = R_HPPA_COMPLEX; else @@ -6386,6 +6388,7 @@ pa_comm (unused) if (symbol) { + symbol_get_bfdsym (symbol)->flags |= BSF_OBJECT; S_SET_VALUE (symbol, size); S_SET_SEGMENT (symbol, bfd_und_section_ptr); S_SET_EXTERNAL (symbol); diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-i386.c binutils-2.15.90.0.2/gas/config/tc-i386.c --- binutils-2.15.90.0.1.1/gas/config/tc-i386.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-i386.c 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* i386.c -- Assemble code for the Intel 80386 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003 + 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -23,6 +23,7 @@ /* Intel 80386 machine specific gas. Written by Eliot Dresselhaus (eliot@mgm.mit.edu). x86_64 support by Jan Hubicka (jh@suse.cz) + VIA PadLock support by Michal Ludvig (mludvig@suse.cz) Bugs & suggestions are completely welcome. This is free software. Please help us make it better. */ @@ -3123,7 +3124,6 @@ output_interseg_jump () md_number_to_chars (p + size, (valueT) i.op[0].imms->X_add_number, 2); } - static void output_insn () { @@ -3151,10 +3151,23 @@ output_insn () char *p; unsigned char *q; - /* All opcodes on i386 have either 1 or 2 bytes. We may use third - byte for the SSE instructions to specify a prefix they require. */ - if (i.tm.base_opcode & 0xff0000) - add_prefix ((i.tm.base_opcode >> 16) & 0xff); + /* All opcodes on i386 have either 1 or 2 bytes, PadLock instructions + have 3 bytes. We may use one more higher byte to specify a prefix + the instruction requires. */ + if ((i.tm.cpu_flags & CpuPadLock) != 0 + && (i.tm.base_opcode & 0xff000000) != 0) + { + unsigned int prefix; + prefix = (i.tm.base_opcode >> 24) & 0xff; + + if (prefix != REPE_PREFIX_OPCODE + || i.prefix[LOCKREP_PREFIX] != REPE_PREFIX_OPCODE) + add_prefix (prefix); + } + else + if ((i.tm.cpu_flags & CpuPadLock) == 0 + && (i.tm.base_opcode & 0xff0000) != 0) + add_prefix ((i.tm.base_opcode >> 16) & 0xff); /* The prefix bytes. */ for (q = i.prefix; @@ -3175,7 +3188,14 @@ output_insn () } else { - p = frag_more (2); + if ((i.tm.cpu_flags & CpuPadLock) != 0) + { + p = frag_more (3); + *p++ = (i.tm.base_opcode >> 16) & 0xff; + } + else + p = frag_more (2); + /* Put out high byte first: can't use md_number_to_chars! */ *p++ = (i.tm.base_opcode >> 8) & 0xff; *p = i.tm.base_opcode & 0xff; diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-i386.h binutils-2.15.90.0.2/gas/config/tc-i386.h --- binutils-2.15.90.0.1.1/gas/config/tc-i386.h 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-i386.h 2004-04-12 12:56:34.000000000 -0700 @@ -1,6 +1,6 @@ /* tc-i386.h -- Header file for tc-i386.c Copyright 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003 + 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -194,13 +194,14 @@ typedef struct #define CpuSSE2 0x2000 /* Streaming SIMD extensions 2 required */ #define Cpu3dnow 0x4000 /* 3dnow! support required */ #define CpuPNI 0x8000 /* Prescott New Instructions required */ +#define CpuPadLock 0x10000 /* VIA PadLock required */ /* These flags are set by gas depending on the flag_code. */ #define Cpu64 0x4000000 /* 64bit support required */ #define CpuNo64 0x8000000 /* Not supported in the 64bit mode */ /* The default value for unknown CPUs - enable all features to avoid problems. */ -#define CpuUnknownFlags (Cpu086|Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686|CpuP4|CpuSledgehammer|CpuMMX|CpuSSE|CpuSSE2|CpuPNI|Cpu3dnow|CpuK6|CpuAthlon) +#define CpuUnknownFlags (Cpu086|Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686|CpuP4|CpuSledgehammer|CpuMMX|CpuSSE|CpuSSE2|CpuPNI|Cpu3dnow|CpuK6|CpuAthlon|CpuPadLock) /* the bits in opcode_modifier are used to generate the final opcode from the base_opcode. These bits also are used to detect alternate forms of diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-ia64.c binutils-2.15.90.0.2/gas/config/tc-ia64.c --- binutils-2.15.90.0.1.1/gas/config/tc-ia64.c 2004-03-05 17:18:21.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-ia64.c 2004-04-12 12:56:34.000000000 -0700 @@ -3617,7 +3617,7 @@ dot_saveb (dummy) add_unwind_entry (output_br_mem (brmask)); if (!is_end_of_line[sep] && !is_it_end_of_statement ()) - ignore_rest_of_line (); + demand_empty_rest_of_line (); } static void @@ -3649,7 +3649,7 @@ dot_spill (dummy) sep = parse_operand (&e); if (!is_end_of_line[sep] && !is_it_end_of_statement ()) - ignore_rest_of_line (); + demand_empty_rest_of_line (); if (e.X_op != O_constant) as_bad ("Operand to .spill must be a constant"); @@ -3925,7 +3925,7 @@ dot_unwabi (dummy) } sep = parse_operand (&e2); if (!is_end_of_line[sep] && !is_it_end_of_statement ()) - ignore_rest_of_line (); + demand_empty_rest_of_line (); if (e1.X_op != O_constant) { @@ -4020,7 +4020,7 @@ dot_prologue (dummy) as_bad ("No second operand to .prologue"); sep = parse_operand (&e2); if (!is_end_of_line[sep] && !is_it_end_of_statement ()) - ignore_rest_of_line (); + demand_empty_rest_of_line (); if (e1.X_op == O_constant) { diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-ppc.c binutils-2.15.90.0.2/gas/config/tc-ppc.c --- binutils-2.15.90.0.1.1/gas/config/tc-ppc.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-ppc.c 2004-04-12 12:56:35.000000000 -0700 @@ -1,6 +1,6 @@ /* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000) - Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. + Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support. This file is part of GAS, the GNU Assembler. @@ -183,7 +183,7 @@ const char EXP_CHARS[] = "eE"; as in 0d1.0. */ const char FLT_CHARS[] = "dD"; -/* '+' and '-' can be used as postfix predicate predictors for conditional +/* '+' and '-' can be used as postfix predicate predictors for conditional branches. So they need to be accepted as symbol characters. */ const char ppc_symbol_chars[] = "+-"; @@ -1493,8 +1493,10 @@ ppc_elf_suffix (str_p, exp_p) { struct map_bfd { char *string; - int length; - int reloc; + unsigned int length : 8; + unsigned int valid32 : 1; + unsigned int valid64 : 1; + unsigned int reloc; }; char ident[20]; @@ -1504,97 +1506,97 @@ ppc_elf_suffix (str_p, exp_p) int len; const struct map_bfd *ptr; -#define MAP(str,reloc) { str, sizeof (str)-1, reloc } +#define MAP(str, reloc) { str, sizeof (str) - 1, 1, 1, reloc } +#define MAP32(str, reloc) { str, sizeof (str) - 1, 1, 0, reloc } +#define MAP64(str, reloc) { str, sizeof (str) - 1, 0, 1, reloc } static const struct map_bfd mapping[] = { - MAP ("l", (int) BFD_RELOC_LO16), - MAP ("h", (int) BFD_RELOC_HI16), - MAP ("ha", (int) BFD_RELOC_HI16_S), - MAP ("brtaken", (int) BFD_RELOC_PPC_B16_BRTAKEN), - MAP ("brntaken", (int) BFD_RELOC_PPC_B16_BRNTAKEN), - MAP ("got", (int) BFD_RELOC_16_GOTOFF), - MAP ("got@l", (int) BFD_RELOC_LO16_GOTOFF), - MAP ("got@h", (int) BFD_RELOC_HI16_GOTOFF), - MAP ("got@ha", (int) BFD_RELOC_HI16_S_GOTOFF), - MAP ("fixup", (int) BFD_RELOC_CTOR), - MAP ("plt", (int) BFD_RELOC_24_PLT_PCREL), - MAP ("pltrel24", (int) BFD_RELOC_24_PLT_PCREL), - MAP ("copy", (int) BFD_RELOC_PPC_COPY), - MAP ("globdat", (int) BFD_RELOC_PPC_GLOB_DAT), - MAP ("local24pc", (int) BFD_RELOC_PPC_LOCAL24PC), - MAP ("local", (int) BFD_RELOC_PPC_LOCAL24PC), - MAP ("pltrel", (int) BFD_RELOC_32_PLT_PCREL), - MAP ("plt@l", (int) BFD_RELOC_LO16_PLTOFF), - MAP ("plt@h", (int) BFD_RELOC_HI16_PLTOFF), - MAP ("plt@ha", (int) BFD_RELOC_HI16_S_PLTOFF), - MAP ("sdarel", (int) BFD_RELOC_GPREL16), - MAP ("sectoff", (int) BFD_RELOC_16_BASEREL), - MAP ("sectoff@l", (int) BFD_RELOC_LO16_BASEREL), - MAP ("sectoff@h", (int) BFD_RELOC_HI16_BASEREL), - MAP ("sectoff@ha", (int) BFD_RELOC_HI16_S_BASEREL), - MAP ("naddr", (int) BFD_RELOC_PPC_EMB_NADDR32), - MAP ("naddr16", (int) BFD_RELOC_PPC_EMB_NADDR16), - MAP ("naddr@l", (int) BFD_RELOC_PPC_EMB_NADDR16_LO), - MAP ("naddr@h", (int) BFD_RELOC_PPC_EMB_NADDR16_HI), - MAP ("naddr@ha", (int) BFD_RELOC_PPC_EMB_NADDR16_HA), - MAP ("sdai16", (int) BFD_RELOC_PPC_EMB_SDAI16), - MAP ("sda2rel", (int) BFD_RELOC_PPC_EMB_SDA2REL), - MAP ("sda2i16", (int) BFD_RELOC_PPC_EMB_SDA2I16), - MAP ("sda21", (int) BFD_RELOC_PPC_EMB_SDA21), - MAP ("mrkref", (int) BFD_RELOC_PPC_EMB_MRKREF), - MAP ("relsect", (int) BFD_RELOC_PPC_EMB_RELSEC16), - MAP ("relsect@l", (int) BFD_RELOC_PPC_EMB_RELST_LO), - MAP ("relsect@h", (int) BFD_RELOC_PPC_EMB_RELST_HI), - MAP ("relsect@ha", (int) BFD_RELOC_PPC_EMB_RELST_HA), - MAP ("bitfld", (int) BFD_RELOC_PPC_EMB_BIT_FLD), - MAP ("relsda", (int) BFD_RELOC_PPC_EMB_RELSDA), - MAP ("xgot", (int) BFD_RELOC_PPC_TOC16), - MAP ("tls", (int) BFD_RELOC_PPC_TLS), - MAP ("dtpmod", (int) BFD_RELOC_PPC_DTPMOD), - MAP ("dtprel", (int) BFD_RELOC_PPC_DTPREL), - MAP ("dtprel@l", (int) BFD_RELOC_PPC_DTPREL16_LO), - MAP ("dtprel@h", (int) BFD_RELOC_PPC_DTPREL16_HI), - MAP ("dtprel@ha", (int) BFD_RELOC_PPC_DTPREL16_HA), - MAP ("tprel", (int) BFD_RELOC_PPC_TPREL), - MAP ("tprel@l", (int) BFD_RELOC_PPC_TPREL16_LO), - MAP ("tprel@h", (int) BFD_RELOC_PPC_TPREL16_HI), - MAP ("tprel@ha", (int) BFD_RELOC_PPC_TPREL16_HA), - MAP ("got@tlsgd", (int) BFD_RELOC_PPC_GOT_TLSGD16), - MAP ("got@tlsgd@l", (int) BFD_RELOC_PPC_GOT_TLSGD16_LO), - MAP ("got@tlsgd@h", (int) BFD_RELOC_PPC_GOT_TLSGD16_HI), - MAP ("got@tlsgd@ha", (int) BFD_RELOC_PPC_GOT_TLSGD16_HA), - MAP ("got@tlsld", (int) BFD_RELOC_PPC_GOT_TLSLD16), - MAP ("got@tlsld@l", (int) BFD_RELOC_PPC_GOT_TLSLD16_LO), - MAP ("got@tlsld@h", (int) BFD_RELOC_PPC_GOT_TLSLD16_HI), - MAP ("got@tlsld@ha", (int) BFD_RELOC_PPC_GOT_TLSLD16_HA), - MAP ("got@dtprel", (int) BFD_RELOC_PPC_GOT_DTPREL16), - MAP ("got@dtprel@l", (int) BFD_RELOC_PPC_GOT_DTPREL16_LO), - MAP ("got@dtprel@h", (int) BFD_RELOC_PPC_GOT_DTPREL16_HI), - MAP ("got@dtprel@ha", (int) BFD_RELOC_PPC_GOT_DTPREL16_HA), - MAP ("got@tprel", (int) BFD_RELOC_PPC_GOT_TPREL16), - MAP ("got@tprel@l", (int) BFD_RELOC_PPC_GOT_TPREL16_LO), - MAP ("got@tprel@h", (int) BFD_RELOC_PPC_GOT_TPREL16_HI), - MAP ("got@tprel@ha", (int) BFD_RELOC_PPC_GOT_TPREL16_HA), - /* The following are only valid for ppc64. Negative values are - used instead of a flag. */ - MAP ("higher", - (int) BFD_RELOC_PPC64_HIGHER), - MAP ("highera", - (int) BFD_RELOC_PPC64_HIGHER_S), - MAP ("highest", - (int) BFD_RELOC_PPC64_HIGHEST), - MAP ("highesta", - (int) BFD_RELOC_PPC64_HIGHEST_S), - MAP ("tocbase", - (int) BFD_RELOC_PPC64_TOC), - MAP ("toc", - (int) BFD_RELOC_PPC_TOC16), - MAP ("toc@l", - (int) BFD_RELOC_PPC64_TOC16_LO), - MAP ("toc@h", - (int) BFD_RELOC_PPC64_TOC16_HI), - MAP ("toc@ha", - (int) BFD_RELOC_PPC64_TOC16_HA), - MAP ("dtprel@higher", - (int) BFD_RELOC_PPC64_DTPREL16_HIGHER), - MAP ("dtprel@highera", - (int) BFD_RELOC_PPC64_DTPREL16_HIGHERA), - MAP ("dtprel@highest", - (int) BFD_RELOC_PPC64_DTPREL16_HIGHEST), - MAP ("dtprel@highesta", - (int) BFD_RELOC_PPC64_DTPREL16_HIGHESTA), - MAP ("tprel@higher", - (int) BFD_RELOC_PPC64_TPREL16_HIGHER), - MAP ("tprel@highera", - (int) BFD_RELOC_PPC64_TPREL16_HIGHERA), - MAP ("tprel@highest", - (int) BFD_RELOC_PPC64_TPREL16_HIGHEST), - MAP ("tprel@highesta", - (int) BFD_RELOC_PPC64_TPREL16_HIGHESTA), - { (char *) 0, 0, (int) BFD_RELOC_UNUSED } + MAP ("l", BFD_RELOC_LO16), + MAP ("h", BFD_RELOC_HI16), + MAP ("ha", BFD_RELOC_HI16_S), + MAP ("brtaken", BFD_RELOC_PPC_B16_BRTAKEN), + MAP ("brntaken", BFD_RELOC_PPC_B16_BRNTAKEN), + MAP ("got", BFD_RELOC_16_GOTOFF), + MAP ("got@l", BFD_RELOC_LO16_GOTOFF), + MAP ("got@h", BFD_RELOC_HI16_GOTOFF), + MAP ("got@ha", BFD_RELOC_HI16_S_GOTOFF), + MAP ("plt@l", BFD_RELOC_LO16_PLTOFF), + MAP ("plt@h", BFD_RELOC_HI16_PLTOFF), + MAP ("plt@ha", BFD_RELOC_HI16_S_PLTOFF), + MAP ("copy", BFD_RELOC_PPC_COPY), + MAP ("globdat", BFD_RELOC_PPC_GLOB_DAT), + MAP ("sectoff", BFD_RELOC_16_BASEREL), + MAP ("sectoff@l", BFD_RELOC_LO16_BASEREL), + MAP ("sectoff@h", BFD_RELOC_HI16_BASEREL), + MAP ("sectoff@ha", BFD_RELOC_HI16_S_BASEREL), + MAP ("tls", BFD_RELOC_PPC_TLS), + MAP ("dtpmod", BFD_RELOC_PPC_DTPMOD), + MAP ("dtprel", BFD_RELOC_PPC_DTPREL), + MAP ("dtprel@l", BFD_RELOC_PPC_DTPREL16_LO), + MAP ("dtprel@h", BFD_RELOC_PPC_DTPREL16_HI), + MAP ("dtprel@ha", BFD_RELOC_PPC_DTPREL16_HA), + MAP ("tprel", BFD_RELOC_PPC_TPREL), + MAP ("tprel@l", BFD_RELOC_PPC_TPREL16_LO), + MAP ("tprel@h", BFD_RELOC_PPC_TPREL16_HI), + MAP ("tprel@ha", BFD_RELOC_PPC_TPREL16_HA), + MAP ("got@tlsgd", BFD_RELOC_PPC_GOT_TLSGD16), + MAP ("got@tlsgd@l", BFD_RELOC_PPC_GOT_TLSGD16_LO), + MAP ("got@tlsgd@h", BFD_RELOC_PPC_GOT_TLSGD16_HI), + MAP ("got@tlsgd@ha", BFD_RELOC_PPC_GOT_TLSGD16_HA), + MAP ("got@tlsld", BFD_RELOC_PPC_GOT_TLSLD16), + MAP ("got@tlsld@l", BFD_RELOC_PPC_GOT_TLSLD16_LO), + MAP ("got@tlsld@h", BFD_RELOC_PPC_GOT_TLSLD16_HI), + MAP ("got@tlsld@ha", BFD_RELOC_PPC_GOT_TLSLD16_HA), + MAP ("got@dtprel", BFD_RELOC_PPC_GOT_DTPREL16), + MAP ("got@dtprel@l", BFD_RELOC_PPC_GOT_DTPREL16_LO), + MAP ("got@dtprel@h", BFD_RELOC_PPC_GOT_DTPREL16_HI), + MAP ("got@dtprel@ha", BFD_RELOC_PPC_GOT_DTPREL16_HA), + MAP ("got@tprel", BFD_RELOC_PPC_GOT_TPREL16), + MAP ("got@tprel@l", BFD_RELOC_PPC_GOT_TPREL16_LO), + MAP ("got@tprel@h", BFD_RELOC_PPC_GOT_TPREL16_HI), + MAP ("got@tprel@ha", BFD_RELOC_PPC_GOT_TPREL16_HA), + MAP32 ("fixup", BFD_RELOC_CTOR), + MAP32 ("plt", BFD_RELOC_24_PLT_PCREL), + MAP32 ("pltrel24", BFD_RELOC_24_PLT_PCREL), + MAP32 ("local24pc", BFD_RELOC_PPC_LOCAL24PC), + MAP32 ("local", BFD_RELOC_PPC_LOCAL24PC), + MAP32 ("pltrel", BFD_RELOC_32_PLT_PCREL), + MAP32 ("sdarel", BFD_RELOC_GPREL16), + MAP32 ("naddr", BFD_RELOC_PPC_EMB_NADDR32), + MAP32 ("naddr16", BFD_RELOC_PPC_EMB_NADDR16), + MAP32 ("naddr@l", BFD_RELOC_PPC_EMB_NADDR16_LO), + MAP32 ("naddr@h", BFD_RELOC_PPC_EMB_NADDR16_HI), + MAP32 ("naddr@ha", BFD_RELOC_PPC_EMB_NADDR16_HA), + MAP32 ("sdai16", BFD_RELOC_PPC_EMB_SDAI16), + MAP32 ("sda2rel", BFD_RELOC_PPC_EMB_SDA2REL), + MAP32 ("sda2i16", BFD_RELOC_PPC_EMB_SDA2I16), + MAP32 ("sda21", BFD_RELOC_PPC_EMB_SDA21), + MAP32 ("mrkref", BFD_RELOC_PPC_EMB_MRKREF), + MAP32 ("relsect", BFD_RELOC_PPC_EMB_RELSEC16), + MAP32 ("relsect@l", BFD_RELOC_PPC_EMB_RELST_LO), + MAP32 ("relsect@h", BFD_RELOC_PPC_EMB_RELST_HI), + MAP32 ("relsect@ha", BFD_RELOC_PPC_EMB_RELST_HA), + MAP32 ("bitfld", BFD_RELOC_PPC_EMB_BIT_FLD), + MAP32 ("relsda", BFD_RELOC_PPC_EMB_RELSDA), + MAP32 ("xgot", BFD_RELOC_PPC_TOC16), + MAP64 ("higher", BFD_RELOC_PPC64_HIGHER), + MAP64 ("highera", BFD_RELOC_PPC64_HIGHER_S), + MAP64 ("highest", BFD_RELOC_PPC64_HIGHEST), + MAP64 ("highesta", BFD_RELOC_PPC64_HIGHEST_S), + MAP64 ("tocbase", BFD_RELOC_PPC64_TOC), + MAP64 ("toc", BFD_RELOC_PPC_TOC16), + MAP64 ("toc@l", BFD_RELOC_PPC64_TOC16_LO), + MAP64 ("toc@h", BFD_RELOC_PPC64_TOC16_HI), + MAP64 ("toc@ha", BFD_RELOC_PPC64_TOC16_HA), + MAP64 ("dtprel@higher", BFD_RELOC_PPC64_DTPREL16_HIGHER), + MAP64 ("dtprel@highera", BFD_RELOC_PPC64_DTPREL16_HIGHERA), + MAP64 ("dtprel@highest", BFD_RELOC_PPC64_DTPREL16_HIGHEST), + MAP64 ("dtprel@highesta", BFD_RELOC_PPC64_DTPREL16_HIGHESTA), + MAP64 ("tprel@higher", BFD_RELOC_PPC64_TPREL16_HIGHER), + MAP64 ("tprel@highera", BFD_RELOC_PPC64_TPREL16_HIGHERA), + MAP64 ("tprel@highest", BFD_RELOC_PPC64_TPREL16_HIGHEST), + MAP64 ("tprel@highesta", BFD_RELOC_PPC64_TPREL16_HIGHESTA), + { (char *) 0, 0, 0, 0, BFD_RELOC_UNUSED } }; if (*str++ != '@') @@ -1615,17 +1617,11 @@ ppc_elf_suffix (str_p, exp_p) for (ptr = &mapping[0]; ptr->length > 0; ptr++) if (ch == ptr->string[0] && len == ptr->length - && memcmp (ident, ptr->string, ptr->length) == 0) + && memcmp (ident, ptr->string, ptr->length) == 0 + && (ppc_obj64 ? ptr->valid64 : ptr->valid32)) { int reloc = ptr->reloc; - if (reloc < 0) - { - if (!ppc_obj64) - return BFD_RELOC_UNUSED; - reloc = -reloc; - } - if (!ppc_obj64) if (exp_p->X_add_number != 0 && (reloc == (int) BFD_RELOC_16_GOTOFF @@ -5901,7 +5897,7 @@ md_apply_fix3 (fixP, valP, seg) if (fixP->fx_pcrel) { /* This can occur if there is a bug in the input assembler, eg: - ".byte - ." */ + ".byte - ." */ if (fixP->fx_addsy) as_bad (_("Unable to handle reference to symbol %s"), S_GET_NAME (fixP->fx_addsy)); @@ -6052,15 +6048,15 @@ tc_ppc_regname_to_dw2regnum (const char if (p == q || *q || regnum >= 32) return -1; if (regname[0] == 'f') - regnum += 32; + regnum += 32; else if (regname[0] == 'v') - regnum += 77; + regnum += 77; } else if (regname[0] == 'c' && regname[1] == 'r') { p = regname + 2 + (regname[2] == '.'); if (p[0] < '0' || p[0] > '7' || p[1]) - return -1; + return -1; regnum = p[0] - '0' + 68; } return regnum; diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-sh.c binutils-2.15.90.0.2/gas/config/tc-sh.c --- binutils-2.15.90.0.1.1/gas/config/tc-sh.c 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-sh.c 2004-04-12 12:56:35.000000000 -0700 @@ -35,6 +35,7 @@ #endif #include "dwarf2dbg.h" +#include "dw2gencfi.h" typedef struct { @@ -131,6 +132,10 @@ int sh_relax; /* set if -relax seen */ int sh_small; +/* Flag to generate relocations against symbol values for local symbols. */ + +static int dont_adjust_reloc_32; + /* preset architecture set, if given; zero otherwise. */ static int preset_target_arch; @@ -1631,7 +1636,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AS_INC_N: if (user->type != A_INC_N) goto fail; @@ -1639,7 +1644,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AS_IND_N: if (user->type != A_IND_N) goto fail; @@ -1647,7 +1652,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AS_PMOD_N: if (user->type != AX_PMOD_N) goto fail; @@ -1655,7 +1660,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AX_INC_N: if (user->type != A_INC_N) goto fail; @@ -1663,7 +1668,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AX_IND_N: if (user->type != A_IND_N) goto fail; @@ -1671,7 +1676,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AX_PMOD_N: if (user->type != AX_PMOD_N) goto fail; @@ -1679,7 +1684,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AXY_INC_N: if (user->type != A_INC_N) goto fail; @@ -1688,7 +1693,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AXY_IND_N: if (user->type != A_IND_N) goto fail; @@ -1697,7 +1702,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AXY_PMOD_N: if (user->type != AX_PMOD_N) goto fail; @@ -1706,7 +1711,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AY_INC_N: if (user->type != A_INC_N) goto fail; @@ -1714,7 +1719,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AY_IND_N: if (user->type != A_IND_N) goto fail; @@ -1722,7 +1727,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AY_PMOD_N: if (user->type != AY_PMOD_N) goto fail; @@ -1739,7 +1744,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AYX_IND_N: if (user->type != A_IND_N) goto fail; @@ -1748,7 +1753,7 @@ get_specific (sh_opcode_info *opcode, sh goto fail; reg_n = user->reg; break; - + case AYX_PMOD_N: if (user->type != AY_PMOD_N) goto fail; @@ -2882,6 +2887,7 @@ struct option md_longopts[] = #define OPTION_SMALL (OPTION_LITTLE + 1) #define OPTION_DSP (OPTION_SMALL + 1) #define OPTION_ISA (OPTION_DSP + 1) +#define OPTION_RENESAS (OPTION_ISA + 1) {"relax", no_argument, NULL, OPTION_RELAX}, {"big", no_argument, NULL, OPTION_BIG}, @@ -2889,8 +2895,10 @@ struct option md_longopts[] = {"small", no_argument, NULL, OPTION_SMALL}, {"dsp", no_argument, NULL, OPTION_DSP}, {"isa", required_argument, NULL, OPTION_ISA}, + {"renesas", no_argument, NULL, OPTION_RENESAS}, + #ifdef HAVE_SH64 -#define OPTION_ABI (OPTION_ISA + 1) +#define OPTION_ABI (OPTION_RENESAS + 1) #define OPTION_NO_MIX (OPTION_ABI + 1) #define OPTION_SHCOMPACT_CONST_CRANGE (OPTION_NO_MIX + 1) #define OPTION_NO_EXPAND (OPTION_SHCOMPACT_CONST_CRANGE + 1) @@ -2931,6 +2939,10 @@ md_parse_option (int c, char *arg ATTRIB preset_target_arch = arch_sh1_up & ~arch_sh2e_up; break; + case OPTION_RENESAS: + dont_adjust_reloc_32 = 1; + break; + case OPTION_ISA: if (strcasecmp (arg, "sh4") == 0) preset_target_arch = arch_sh4; @@ -3018,12 +3030,14 @@ SH options:\n\ -little generate little endian code\n\ -big generate big endian code\n\ -relax alter jump instructions for long displacements\n\ +-renesas disable optimization with section symbol for\n\ + compatibility with Renesas assembler.\n\ -small align sections to 4 byte boundaries, not 16\n\ -dsp enable sh-dsp insns, and disable floating-point ISAs.\n\ -isa=[sh4\n\ | sh4-nofpu sh4 with fpu disabled\n\ | sh4-nommu-nofpu sh4 with no MMU or FPU\n\ - | sh4a\n\ + | sh4a\n\ | dsp same as '-dsp'\n\ | fp\n\ | any] use most appropriate isa\n")); @@ -3563,6 +3577,7 @@ sh_fix_adjustable (fixS *fixP) if (fixP->fx_r_type == BFD_RELOC_32_PLT_PCREL || fixP->fx_r_type == BFD_RELOC_32_GOT_PCREL || fixP->fx_r_type == BFD_RELOC_SH_GOTPC + || ((fixP->fx_r_type == BFD_RELOC_32) && dont_adjust_reloc_32) || fixP->fx_r_type == BFD_RELOC_RVA) return 0; @@ -4341,4 +4356,53 @@ sh_parse_name (char const *name, express return 1; } #endif + +void +sh_cfi_frame_initial_instructions (void) +{ + cfi_add_CFA_def_cfa (15, 0); +} + +int +sh_regname_to_dw2regnum (const char *regname) +{ + unsigned int regnum = -1; + unsigned int i; + const char *p; + char *q; + static struct { char *name; int dw2regnum; } regnames[] = + { + { "pr", 17 }, { "t", 18 }, { "gbr", 19 }, { "mach", 20 }, + { "macl", 21 }, { "fpul", 23 } + }; + + for (i = 0; i < ARRAY_SIZE (regnames); ++i) + if (strcmp (regnames[i].name, regname) == 0) + return regnames[i].dw2regnum; + + if (regname[0] == 'r') + { + p = regname + 1; + regnum = strtoul (p, &q, 10); + if (p == q || *q || regnum >= 16) + return -1; + } + else if (regname[0] == 'f' && regname[1] == 'r') + { + p = regname + 2; + regnum = strtoul (p, &q, 10); + if (p == q || *q || regnum >= 16) + return -1; + regnum += 25; + } + else if (regname[0] == 'x' && regname[1] == 'd') + { + p = regname + 2; + regnum = strtoul (p, &q, 10); + if (p == q || *q || regnum >= 8) + return -1; + regnum += 87; + } + return regnum; +} #endif /* BFD_ASSEMBLER */ diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-sh.h binutils-2.15.90.0.2/gas/config/tc-sh.h --- binutils-2.15.90.0.1.1/gas/config/tc-sh.h 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-sh.h 2004-04-12 12:56:35.000000000 -0700 @@ -42,9 +42,6 @@ extern int sh_small; /* Don't try to break words. */ #define WORKING_DOT_WORD -/* All SH instructions are multiples of 16 bits. */ -#define DWARF2_LINE_MIN_INSN_LENGTH 2 - /* We require .long, et. al., to be aligned correctly. */ #define md_cons_align(nbytes) sh_cons_align (nbytes) extern void sh_cons_align (int); @@ -261,4 +258,17 @@ void sh_cons_fix_new (fragS *, int, int, symbols. The relocation type is stored in X_md. */ #define O_PIC_reloc O_md1 +#define TARGET_USE_CFIPOP 1 + +#define tc_cfi_frame_initial_instructions sh_cfi_frame_initial_instructions +extern void sh_cfi_frame_initial_instructions (void); + +#define tc_regname_to_dw2regnum sh_regname_to_dw2regnum +extern int sh_regname_to_dw2regnum (const char *regname); + +/* All SH instructions are multiples of 16 bits. */ +#define DWARF2_LINE_MIN_INSN_LENGTH 2 +#define DWARF2_DEFAULT_RETURN_COLUMN 17 +#define DWARF2_CIE_DATA_ALIGNMENT -4 + #endif /* OBJ_ELF */ diff -uprN binutils-2.15.90.0.1.1/gas/config/tc-xtensa.c binutils-2.15.90.0.2/gas/config/tc-xtensa.c --- binutils-2.15.90.0.1.1/gas/config/tc-xtensa.c 2004-01-14 13:07:46.000000000 -0800 +++ binutils-2.15.90.0.2/gas/config/tc-xtensa.c 2004-04-12 12:56:35.000000000 -0700 @@ -638,6 +638,8 @@ static void xtensa_move_seg_list_to_begi PARAMS ((seg_list *)); static void xtensa_move_literals PARAMS ((void)); +static void mark_literal_frags + PARAMS ((seg_list *)); static void xtensa_reorder_seg_list PARAMS ((seg_list *, segT)); static void xtensa_reorder_segments @@ -7485,21 +7487,9 @@ xtensa_move_literals () fixS *fix, *next_fix, **fix_splice; sym_list *lit; - /* As clunky as this is, we can't rely on frag_var - and frag_variant to get called in all situations. */ - - segment = literal_head->next; - while (segment) - { - frchain_from = seg_info (segment->seg)->frchainP; - search_frag = frchain_from->frch_root; - while (search_frag) - { - search_frag->tc_frag_data.is_literal = TRUE; - search_frag = search_frag->fr_next; - } - segment = segment->next; - } + mark_literal_frags (literal_head->next); + mark_literal_frags (init_literal_head->next); + mark_literal_frags (fini_literal_head->next); if (use_literal_section) return; @@ -7603,6 +7593,31 @@ xtensa_move_literals () } +/* Walk over all the frags for segments in a list and mark them as + containing literals. As clunky as this is, we can't rely on frag_var + and frag_variant to get called in all situations. */ + +static void +mark_literal_frags (segment) + seg_list *segment; +{ + frchainS *frchain_from; + fragS *search_frag; + + while (segment) + { + frchain_from = seg_info (segment->seg)->frchainP; + search_frag = frchain_from->frch_root; + while (search_frag) + { + search_frag->tc_frag_data.is_literal = TRUE; + search_frag = search_frag->fr_next; + } + segment = segment->next; + } +} + + static void xtensa_reorder_seg_list (head, after) seg_list *head; @@ -7872,11 +7887,10 @@ xtensa_post_relax_hook () xtensa_create_property_segments (get_frag_is_insn, XTENSA_INSN_SEC_NAME, + xt_insn_sec); + xtensa_create_property_segments (get_frag_is_literal, + XTENSA_LIT_SEC_NAME, xt_literal_sec); - if (use_literal_section) - xtensa_create_property_segments (get_frag_is_literal, - XTENSA_LIT_SEC_NAME, - xt_insn_sec); } diff -uprN binutils-2.15.90.0.1.1/gas/config.in binutils-2.15.90.0.2/gas/config.in --- binutils-2.15.90.0.1.1/gas/config.in 2003-05-23 07:18:53.000000000 -0700 +++ binutils-2.15.90.0.2/gas/config.in 2004-04-12 12:56:34.000000000 -0700 @@ -1,188 +1,196 @@ -/* config.in. Generated automatically from configure.in by autoheader. */ +/* config.in. Generated from configure.in by autoheader. */ -/* Define if using alloca.c. */ -#undef C_ALLOCA +/* Define if using AIX 5.2 value for C_WEAKEXT. */ +#undef AIX_WEAK_SUPPORT -/* Define to empty if the keyword does not work. */ -#undef const +/* Use BFD interface? */ +#undef BFD_ASSEMBLER + +/* assert broken? */ +#undef BROKEN_ASSERT -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ #undef CRAY_STACKSEG_END -/* Define if you have alloca, as a function or macro. */ +/* Compiling cross-assembler? */ +#undef CROSS_COMPILE + +/* Define to 1 if using `alloca.c'. */ +#undef C_ALLOCA + +/* Default architecture. */ +#undef DEFAULT_ARCH + +/* Default emulation. */ +#undef DEFAULT_EMULATION + +/* Supported emulations. */ +#undef EMULATIONS + +/* Define to 1 if NLS is requested */ +#undef ENABLE_NLS + +/* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA -/* Define if you have and it should be used (not on Ultrix). */ +/* Define to 1 if you have and it should be used (not on Ultrix). + */ #undef HAVE_ALLOCA_H -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP +/* Define to 1 if you have the header file. */ +#undef HAVE_ARGZ_H -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline +/* Define to 1 if you have the `dcgettext' function. */ +#undef HAVE_DCGETTEXT -/* Define to `long' if doesn't define. */ -#undef off_t +/* Define to 1 if you have the header file. */ +#undef HAVE_ERRNO_H -/* Define to `unsigned' if doesn't define. */ -#undef size_t +/* Define to 1 if you have the `getcwd' function. */ +#undef HAVE_GETCWD -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION +/* Define to 1 if you have the `getpagesize' function. */ +#undef HAVE_GETPAGESIZE -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +#undef HAVE_GETTEXT -/* Define if lex declares yytext as a char * by default, not a char[]. */ -#undef YYTEXT_POINTER +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT +/* Define if your locale.h file contains LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY +/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H -/* Define if you have the dcgettext function. */ -#undef HAVE_DCGETTEXT +/* Define to 1 if you have the header file. */ +#undef HAVE_MALLOC_H -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H -/* Define if you have the getpagesize function. */ -#undef HAVE_GETPAGESIZE +/* Define to 1 if you have a working `mmap' system call. */ +#undef HAVE_MMAP -/* Define if you have the munmap function. */ +/* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP -/* Define if you have the putenv function. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_NL_TYPES_H + +/* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV -/* Define if you have the remove function. */ +/* Define to 1 if you have the `remove' function. */ #undef HAVE_REMOVE -/* Define if you have the sbrk function. */ +/* Define to 1 if you have the `sbrk' function. */ #undef HAVE_SBRK -/* Define if you have the setenv function. */ +/* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV -/* Define if you have the setlocale function. */ +/* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE -/* Define if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR - -/* Define if you have the unlink function. */ -#undef HAVE_UNLINK - -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define if you have the header file. */ -#undef HAVE_ERRNO_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDARG_H -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H -/* Define if you have the header file. */ -#undef HAVE_MEMORY_H +/* Define if you have the stpcpy function */ +#undef HAVE_STPCPY -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP -/* Define if you have the header file. */ -#undef HAVE_STDARG_H +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR -/* Define if you have the header file. */ -#undef HAVE_STDLIB_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H -/* Define if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define if you have the header file. */ +/* Define to 1 if you have the `unlink' function. */ +#undef HAVE_UNLINK + +/* Define to 1 if you have the header file. */ #undef HAVE_VALUES_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_VARARGS_H -/* Name of package */ -#undef PACKAGE +/* Define to 1 if you have the `__argz_count' function. */ +#undef HAVE___ARGZ_COUNT -/* Version number of package */ -#undef VERSION +/* Define to 1 if you have the `__argz_next' function. */ +#undef HAVE___ARGZ_NEXT -/* Define if defaulting to ELF on SCO 5. */ -#undef SCO_ELF +/* Define to 1 if you have the `__argz_stringify' function. */ +#undef HAVE___ARGZ_STRINGIFY -/* Using strict COFF? */ -#undef STRICTCOFF +/* Using i386 COFF? */ +#undef I386COFF -/* Define if default target is PowerPC Solaris. */ -#undef TARGET_SOLARIS_COMMENT +/* Using m68k COFF? */ +#undef M68KCOFF -/* Define as 1 if big endian. */ -#undef TARGET_BYTES_BIG_ENDIAN +/* Using m88k COFF? */ +#undef M88KCOFF -/* Default CPU for MIPS targets. */ -#undef MIPS_CPU_STRING_DEFAULT +/* old COFF support? */ +#undef MANY_SEGMENTS -/* Allow use of E_MIPS_ABI_O32 on MIPS targets. */ -#undef USE_E_MIPS_ABI_O32 +/* Default CPU for MIPS targets. */ +#undef MIPS_CPU_STRING_DEFAULT -/* Generate 64-bit code by default on MIPS targets. */ +/* Generate 64-bit code by default on MIPS targets. */ #undef MIPS_DEFAULT_64BIT -/* Choose a default ABI for MIPS targets. */ +/* Choose a default ABI for MIPS targets. */ #undef MIPS_DEFAULT_ABI -/* Default architecture. */ -#undef DEFAULT_ARCH +/* Define if environ is not declared in system header files. */ +#undef NEED_DECLARATION_ENVIRON -/* Using cgen code? */ -#undef USING_CGEN +/* Define if errno is not declared in system header files. */ +#undef NEED_DECLARATION_ERRNO -/* Using i386 COFF? */ -#undef I386COFF +/* Define if free is not declared in system header files. */ +#undef NEED_DECLARATION_FREE -/* Using m68k COFF? */ -#undef M68KCOFF +/* Define if malloc is not declared in system header files. */ +#undef NEED_DECLARATION_MALLOC -/* Using m88k COFF? */ -#undef M88KCOFF +/* Define if sbrk is not declared in system header files. */ +#undef NEED_DECLARATION_SBRK + +/* Define if strstr is not declared in system header files. */ +#undef NEED_DECLARATION_STRSTR /* a.out support? */ #undef OBJ_MAYBE_AOUT @@ -214,69 +222,89 @@ /* VMS support? */ #undef OBJ_MAYBE_VMS -/* Use emulation support? */ -#undef USE_EMULATIONS +/* Name of package */ +#undef PACKAGE -/* Supported emulations. */ -#undef EMULATIONS +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT -/* Default emulation. */ -#undef DEFAULT_EMULATION +/* Define to the full name of this package. */ +#undef PACKAGE_NAME -/* old COFF support? */ -#undef MANY_SEGMENTS +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING -/* Use BFD interface? */ -#undef BFD_ASSEMBLER +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define if defaulting to ELF on SCO 5. */ +#undef SCO_ELF + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#undef STACK_DIRECTION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Using strict COFF? */ +#undef STRICTCOFF /* Target alias. */ #undef TARGET_ALIAS +/* Define as 1 if big endian. */ +#undef TARGET_BYTES_BIG_ENDIAN + /* Canonical target. */ #undef TARGET_CANONICAL /* Target CPU. */ #undef TARGET_CPU -/* Target vendor. */ -#undef TARGET_VENDOR - /* Target OS. */ #undef TARGET_OS -/* Define if you have the stpcpy function */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define to 1 if NLS is requested */ -#undef ENABLE_NLS +/* Define if default target is PowerPC Solaris. */ +#undef TARGET_SOLARIS_COMMENT -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT +/* Target vendor. */ +#undef TARGET_VENDOR -/* Compiling cross-assembler? */ -#undef CROSS_COMPILE +/* Use emulation support? */ +#undef USE_EMULATIONS -/* assert broken? */ -#undef BROKEN_ASSERT +/* Allow use of E_MIPS_ABI_O32 on MIPS targets. */ +#undef USE_E_MIPS_ABI_O32 -/* Define if strstr is not declared in system header files. */ -#undef NEED_DECLARATION_STRSTR +/* Using cgen code? */ +#undef USING_CGEN -/* Define if malloc is not declared in system header files. */ -#undef NEED_DECLARATION_MALLOC +/* Version number of package */ +#undef VERSION -/* Define if free is not declared in system header files. */ -#undef NEED_DECLARATION_FREE +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#undef YYTEXT_POINTER -/* Define if sbrk is not declared in system header files. */ -#undef NEED_DECLARATION_SBRK +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const -/* Define if environ is not declared in system header files. */ -#undef NEED_DECLARATION_ENVIRON +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif -/* Define if errno is not declared in system header files. */ -#undef NEED_DECLARATION_ERRNO +/* Define to `long' if does not define. */ +#undef off_t +/* Define to `unsigned' if does not define. */ +#undef size_t diff -uprN binutils-2.15.90.0.1.1/gas/configure binutils-2.15.90.0.2/gas/configure --- binutils-2.15.90.0.1.1/gas/configure 2004-03-05 17:18:21.000000000 -0800 +++ binutils-2.15.90.0.2/gas/configure 2004-04-12 12:56:34.000000000 -0700 @@ -4415,7 +4415,6 @@ echo "$as_me: WARNING: GAS support for $ # don't change em like *-*-bsd does mips-dec-openbsd*) fmt=elf endian=little ;; - mips-dec-bsd*) fmt=aout endian=little ;; mips-sony-bsd*) fmt=ecoff ;; mips-*-bsd*) { { echo "$as_me:$LINENO: error: Unknown vendor for mips-bsd configuration." >&5 @@ -4482,7 +4481,7 @@ echo "$as_me: error: Solaris must be con { (exit 1); exit 1; }; } fi ;; ppc-*-rtems*) fmt=elf ;; - ppc-*-macos* | ppc-*-mpw*) fmt=coff em=macos ;; + ppc-*-macos*) fmt=coff em=macos ;; ppc-*-netware*) fmt=elf em=ppcnw ;; ppc-**-nto*) fmt=elf ;; ppc-*-kaos*) fmt=elf ;; @@ -4502,8 +4501,8 @@ echo "$as_me: error: Solaris must be con sh-*-coff*) fmt=coff ;; sh-*-nto*) fmt=elf ;; sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;; - sh-*-rtemself*) fmt=elf ;; - sh-*-rtems*) fmt=coff ;; + sh-*-rtemscoff*) fmt=coff ;; + sh-*-rtems*) fmt=elf ;; sh-*-kaos*) fmt=elf ;; shle*-*-kaos*) fmt=elf ;; sh64-*-elf*) fmt=elf ;; diff -uprN binutils-2.15.90.0.1.1/gas/configure.in binutils-2.15.90.0.2/gas/configure.in --- binutils-2.15.90.0.1.1/gas/configure.in 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/configure.in 2004-04-12 12:56:34.000000000 -0700 @@ -376,7 +376,6 @@ changequote([,])dnl # don't change em like *-*-bsd does mips-dec-openbsd*) fmt=elf endian=little ;; - mips-dec-bsd*) fmt=aout endian=little ;; mips-sony-bsd*) fmt=ecoff ;; mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;; @@ -433,7 +432,7 @@ changequote([,])dnl AC_MSG_ERROR(Solaris must be configured little endian) fi ;; ppc-*-rtems*) fmt=elf ;; - ppc-*-macos* | ppc-*-mpw*) fmt=coff em=macos ;; + ppc-*-macos*) fmt=coff em=macos ;; ppc-*-netware*) fmt=elf em=ppcnw ;; ppc-**-nto*) fmt=elf ;; ppc-*-kaos*) fmt=elf ;; @@ -453,8 +452,8 @@ changequote([,])dnl sh-*-coff*) fmt=coff ;; sh-*-nto*) fmt=elf ;; sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;; - sh-*-rtemself*) fmt=elf ;; - sh-*-rtems*) fmt=coff ;; + sh-*-rtemscoff*) fmt=coff ;; + sh-*-rtems*) fmt=elf ;; sh-*-kaos*) fmt=elf ;; shle*-*-kaos*) fmt=elf ;; sh64-*-elf*) fmt=elf ;; diff -uprN binutils-2.15.90.0.1.1/gas/doc/Makefile.in binutils-2.15.90.0.2/gas/doc/Makefile.in --- binutils-2.15.90.0.1.1/gas/doc/Makefile.in 2004-03-05 17:18:21.000000000 -0800 +++ binutils-2.15.90.0.2/gas/doc/Makefile.in 2004-04-12 12:56:35.000000000 -0700 @@ -268,9 +268,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --cygnus doc/Makefile + $(AUTOMAKE) --foreign doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -uprN binutils-2.15.90.0.1.1/gas/doc/as.texinfo binutils-2.15.90.0.2/gas/doc/as.texinfo --- binutils-2.15.90.0.1.1/gas/doc/as.texinfo 2004-01-14 13:07:46.000000000 -0800 +++ binutils-2.15.90.0.2/gas/doc/as.texinfo 2004-04-12 12:56:35.000000000 -0700 @@ -263,6 +263,7 @@ gcc(1), ld(1), and the Info entries for [@b{-march}=@var{architecture}[+@var{extension}@dots{}]] [@b{-mfpu}=@var{floating-point-format}] [@b{-mfloat-abi}=@var{abi}] + [@b{-meabi}=@var{ver}] [@b{-mthumb}] [@b{-EB}|@b{-EL}] [@b{-mapcs-32}|@b{-mapcs-26}|@b{-mapcs-float}| diff -uprN binutils-2.15.90.0.1.1/gas/doc/c-arm.texi binutils-2.15.90.0.2/gas/doc/c-arm.texi --- binutils-2.15.90.0.1.1/gas/doc/c-arm.texi 2004-01-14 13:07:46.000000000 -0800 +++ binutils-2.15.90.0.2/gas/doc/c-arm.texi 2004-04-12 12:56:35.000000000 -0700 @@ -228,6 +228,15 @@ The following values are recognized: and @code{hard}. +@cindex @code{-eabi=} command line option, ARM +@item -meabi=@var{ver} +This option specifies which EABI version the produced object files should +conform to. +The following values are recognised: +@code{gnu} +and +@code{3}. + @cindex @code{-EB} command line option, ARM @item -EB This option specifies that the output generated by the assembler should diff -uprN binutils-2.15.90.0.1.1/gas/doc/c-cris.texi binutils-2.15.90.0.2/gas/doc/c-cris.texi --- binutils-2.15.90.0.1.1/gas/doc/c-cris.texi 2002-03-07 11:52:37.000000000 -0800 +++ binutils-2.15.90.0.2/gas/doc/c-cris.texi 2004-04-12 12:56:35.000000000 -0700 @@ -74,6 +74,25 @@ When @option{-N} is specified, @code{@va warning when a 16-bit branch instruction is expanded into a 32-bit multiple-instruction construct (@pxref{CRIS-Expand}). +@cindex @option{--no-mul-bug-abort} command line option, CRIS +@cindex @option{--mul-bug-abort} command line option, CRIS +@cindex CRIS @option{--no-mul-bug-abort} command line option +@cindex CRIS @option{--mul-bug-abort} command line option + +Some versions of the CRIS v10, for example in the Etrax 100 LX, +contain a bug that causes destabilizing memory accesses when a +multiply instruction is executed with certain values in the +first operand just before a cache-miss. When the +@option{--mul-bug-abort} command line option is active (the +default value), @code{@value{AS}} will refuse to assemble a file +containing a multiply instruction at a dangerous offset, one +that could be the last on a cache-line, or is in a section with +insufficient alignment. This placement checking does not catch +any case where the multiply instruction is dangerously placed +because it is located in a delay-slot. The +@option{--mul-bug-abort} command line option turns off the +checking. + @node CRIS-Expand @section Instruction expansion diff -uprN binutils-2.15.90.0.1.1/gas/doc/c-hppa.texi binutils-2.15.90.0.2/gas/doc/c-hppa.texi --- binutils-2.15.90.0.1.1/gas/doc/c-hppa.texi 2001-03-09 11:17:14.000000000 -0800 +++ binutils-2.15.90.0.2/gas/doc/c-hppa.texi 2004-04-12 12:56:35.000000000 -0700 @@ -1,4 +1,4 @@ -@c Copyright 1991, 1992, 1993, 1994, 1995, 1998 +@c Copyright 1991, 1992, 1993, 1994, 1995, 1998, 2004 @c Free Software Foundation, Inc. @c This is part of the GAS manual. @c For copying conditions, see the file as.texinfo. @@ -181,7 +181,7 @@ Define @var{name} as a label for the cur Not yet supported; the assembler rejects programs containing this directive. @item .origin @var{lc} -Advance location counter to @var{lc}. Synonym for the @code{@value{as}} +Advance location counter to @var{lc}. Synonym for the @code{@value{AS}} portable directive @code{.org}. @item .param @var{name} [ ,@var{typ} ] [ ,@var{param}=@var{r} ] diff -uprN binutils-2.15.90.0.1.1/gas/doc/c-sh.texi binutils-2.15.90.0.2/gas/doc/c-sh.texi --- binutils-2.15.90.0.1.1/gas/doc/c-sh.texi 2004-01-14 13:07:46.000000000 -0800 +++ binutils-2.15.90.0.2/gas/doc/c-sh.texi 2004-04-12 12:56:35.000000000 -0700 @@ -29,6 +29,7 @@ @kindex -relax @kindex -small @kindex -dsp +@kindex -renesas @item -little Generate little endian code. @@ -45,6 +46,10 @@ Align sections to 4 byte boundaries, not @item -dsp Enable sh-dsp insns, and disable sh3e / sh4 insns. +@item -renesas +Disable optimization with section symbol for compatibility with +Renesas assembler. + @item -isa=sh4 | sh4a Specify the sh4 or sh4a instruction set. @item -isa=dsp diff -uprN binutils-2.15.90.0.1.1/gas/dw2gencfi.c binutils-2.15.90.0.2/gas/dw2gencfi.c --- binutils-2.15.90.0.1.1/gas/dw2gencfi.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/dw2gencfi.c 2004-04-12 12:56:34.000000000 -0700 @@ -857,6 +857,7 @@ output_cie (struct cie_entry *cie) for (i = cie->first; i != cie->last; i = i->next) output_cfi_insn (i); + frag_align (2, 0, 0); symbol_set_value_now (end_address); } @@ -906,8 +907,7 @@ output_fde (struct fde_entry *fde, struc for (; first; first = first->next) output_cfi_insn (first); - if (align) - frag_align (align, 0, 0); + frag_align (align, 0, 0); symbol_set_value_now (end_address); } @@ -1035,7 +1035,7 @@ cfi_finish (void) struct cie_entry *cie; cie = select_cie_for_fde (fde, &first); - output_fde (fde, cie, first, fde->next == NULL ? EH_FRAME_ALIGNMENT : 0); + output_fde (fde, cie, first, fde->next == NULL ? EH_FRAME_ALIGNMENT : 2); } flag_traditional_format = save_flag_traditional_format; diff -uprN binutils-2.15.90.0.1.1/gas/expr.c binutils-2.15.90.0.2/gas/expr.c --- binutils-2.15.90.0.1.1/gas/expr.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.90.0.2/gas/expr.c 2004-04-12 12:56:34.000000000 -0700 @@ -1021,6 +1021,9 @@ operand (expressionS *expressionP) break; case '+': + /* Do not accept ++e as +(+e) */ + if (input_line_pointer[1] == '+') + goto target_op; (void) operand (expressionP); break; @@ -1038,6 +1041,10 @@ operand (expressionS *expressionP) case '!': case '-': { + /* Do not accept --e as -(-e) */ + if (c == '-' && input_line_pointer[1] == '-') + goto target_op; + operand (expressionP); if (expressionP->X_op == O_constant) { @@ -1289,6 +1296,7 @@ operand (expressionS *expressionP) } else { + target_op: /* Let the target try to parse it. Success is indicated by changing the X_op field to something other than O_absent and pointing input_line_pointer past the expression. If it can't parse the @@ -1541,6 +1549,13 @@ operator (int *num_chars) default: return op_encoding[c]; + case '+': + case '-': + /* Do not allow a++b and a--b to be a + (+b) and a - (-b) */ + if (input_line_pointer[1] != c) + return op_encoding[c]; + return O_illegal; + case '<': switch (input_line_pointer[1]) { diff -uprN binutils-2.15.90.0.1.1/gas/mac-as.r binutils-2.15.90.0.2/gas/mac-as.r --- binutils-2.15.90.0.1.1/gas/mac-as.r 1999-06-03 11:01:59.000000000 -0700 +++ binutils-2.15.90.0.2/gas/mac-as.r 1969-12-31 16:00:00.000000000 -0800 @@ -1,42 +0,0 @@ -/* Resources for GNU AS. */ - -#include "SysTypes.r" - -/* Version resources. */ - -resource 'vers' (1) { - 0, - 0, - 0, - 0, - verUs, - VERSION_STRING, - VERSION_STRING " (C) 1986-95 FSF, Inc." -}; - -resource 'vers' (2, purgeable) { - 0, - 0, - 0, - 0, - verUs, - VERSION_STRING, - "GAS " VERSION_STRING " for MPW" -}; - -#ifdef WANT_CFRG - -#include "CodeFragmentTypes.r" - -resource 'cfrg' (0) { - { - kPowerPC, - kFullLib, - kNoVersionNum, kNoVersionNum, - 0,0, - kIsApp, kOnDiskFlat, kZeroOffset, kWholeFork, - PROG_NAME - } -}; - -#endif /* WANT_CFRG */ diff -uprN binutils-2.15.90.0.1.1/gas/mpw-config.in binutils-2.15.90.0.2/gas/mpw-config.in --- binutils-2.15.90.0.1.1/gas/mpw-config.in 1999-06-03 11:01:59.000000000 -0700 +++ binutils-2.15.90.0.2/gas/mpw-config.in 1969-12-31 16:00:00.000000000 -0800 @@ -1,115 +0,0 @@ -# Configuration fragment for GAS. - -Set target_arch `echo {target_canonical} | sed -e 's/-.*-.*//'` - -If "{target_arch}" =~ /powerpc/ - Set short_arch_name "ppc" - Set target_cpu "powerpc" -Else - Set short_arch_name "{target_arch}" -End If - -# The following works for many configurations, though not all. - -Set obj_format `echo {target_canonical} | sed -e 's/.*-.*-//'` -Set target_os `echo {target_canonical} | sed -e 's/.*-.*-//'` - -Set bfd_gas no - -Set TDEFINES "" - -Set EXTRA_OBJECTS "" - -# Default emulation. - -Set em generic - -If "{target_canonical}" =~ /m68k-apple-macos/ - Set obj_format "coff" - Set TDEFINES '-d M68KCOFF' - Set EXTRA_OBJECTS '"{o}"m68k-parse.c.o' - -Else If "{target_canonical}" =~ /powerpc-apple-macos/ - Set obj_format "coff" - Set bfd_gas yes - Set em macos - -Else If "{target_canonical}" =~ /i386-\Option-x-go32/ - Set obj_format "coff" - Set TDEFINES '-d I386COFF' - -Else If "{target_canonical}" =~ /m68k-\Option-x-coff/ - Set TDEFINES '-d M68KCOFF' - -Else If "{target_canonical}" =~ /mips-idt-ecoff/ - Set bfd_gas yes - Set TDEFINES '-d TARGET_BYTES_BIG_ENDIAN=1' - -Else If "{target_canonical}" =~ /mips-\Option-x-\Option-x/ - # Assume other OSes etc use ELF - Set obj_format "elf" - Set bfd_gas yes - Set TDEFINES '-d TARGET_BYTES_BIG_ENDIAN=1' - forward-include "{srcroot}"bfd:elf-bfd.h 'bfd/elf-bfd.h' - -Else If "{target_canonical}" =~ /sh-\Option-x-hms/ - Set obj_format "coff" - forward-include "{srcroot}"opcodes:sh-opc.h 'opcodes/sh-opc.h' -End If - -forward-include "{srcdir}"config:tc-{short_arch_name}.c targ-cpu.c -forward-include "{srcdir}"config:tc-{short_arch_name}.h targ-cpu.h - -forward-include "{srcdir}"config:obj-{obj_format}.c obj-format.c -forward-include "{srcdir}"config:obj-{obj_format}.h obj-format.h - -forward-include "{srcdir}"config:te-{em}.h targ-env.h - -# Special cases for float handling. - -If "{target_arch}" =~ /ns32k/ - forward-include "{srcdir}"config:atof-ns32k.c atof-targ.c -Else If "{target_arch}" =~ /tahoe/ - forward-include "{srcdir}"config:atof-tahoe.c atof-targ.c -Else If "{target_arch}" =~ /vax/ - forward-include "{srcdir}"config:atof-vax.c atof-targ.c -Else - # Use IEEE by default. - forward-include "{srcdir}"config:atof-ieee.c atof-targ.c -End If - -Echo '# From mpw-config.in' > "{o}"mk.tmp -Echo "TDEFINES = " {TDEFINES} >> "{o}"mk.tmp -Echo "EXTRA_OBJECTS = " {EXTRA_OBJECTS} >> "{o}"mk.tmp -# (We use the -n option here so as not to get extra spaces inserted) -Echo -n 'TARG_CPU_DEP = {TARG_CPU_DEP_' >> "{o}"mk.tmp -Echo -n {short_arch_name} >> "{o}"mk.tmp -Echo -n '}' >> "{o}"mk.tmp -Echo '# End from mpw-config.in' >> "{o}"mk.tmp - -Echo '/* conf. Generated by mpw-configure. */' > "{o}"conf.new -Echo -n '#define TARGET_CPU "' >> "{o}"conf.new -Echo -n "{target_cpu}" >> "{o}"conf.new -Echo '"' >> "{o}"conf.new -Echo -n '#define TARGET_OS "' >> "{o}"conf.new -Echo -n "{target_os}" >> "{o}"conf.new -Echo '"' >> "{o}"conf.new -Echo -n '#define TARGET_ALIAS "' >> "{o}"conf.new -Echo -n "{target_alias}" >> "{o}"conf.new -Echo '"' >> "{o}"conf.new -Echo -n '#define TARGET_CANONICAL "' >> "{o}"conf.new -Echo -n "{target_canonical}" >> "{o}"conf.new -Echo '"' >> "{o}"conf.new -Echo '#include "mpw.h"' >> "{o}"conf.new -If "{bfd_gas}" =~ /yes/ - Echo "#define BFD_ASSEMBLER" >> "{o}"conf.new -Else - Echo "#define MANY_SEGMENTS" >> "{o}"conf.new -End If -Echo '#define CR_EOL' >> "{o}"conf.new -Echo '#define OBJ_COFF_OMIT_TIMESTAMP' >> "{o}"conf.new -Echo '#define LOSING_COMPILER' >> "{o}"conf.new - -MoveIfChange "{o}"conf.new "{o}"conf - -sed -e "s/@srcdir@/{srcdir}/" "{srcdir}"gdbinit.in > "{o}"_gdbinit diff -uprN binutils-2.15.90.0.1.1/gas/mpw-make.sed binutils-2.15.90.0.2/gas/mpw-make.sed --- binutils-2.15.90.0.1.1/gas/mpw-make.sed 2002-12-16 12:22:52.000000000 -0800 +++ binutils-2.15.90.0.2/gas/mpw-make.sed 1969-12-31 16:00:00.000000000 -0800 @@ -1,96 +0,0 @@ -# Sed commands that finish translating the GAS Unix Makefile to MPW syntax. - -/^# @target_frag@/a\ -\ -HDEFINES = \ -LOCAL_LOADLIBES = \ - -/^srcroot = /s/^/#/ -/^target_alias = /s/^/#/ - -/INCLUDES/s/-i "{srcdir}":\([a-z]*\)/-i "{topsrcdir}"\1/ -/INCLUDES/s/-i "{srcdir}"\.\./-i "{topsrcdir}"/ - -/^INCLUDES = .*$/s/$/ -i "{topsrcdir}"include:mpw: -i ::extra-include:/ - -/$(TARG_CPU_DEP_@target_cpu_type@)/s/$(TARG_CPU_DEP_@target_cpu_type@)/{TARG_CPU_DEP}/ - -/@OPCODES_LIB@/s/@OPCODES_LIB@/::opcodes:libopcodes.o/ -/@BFDLIB@/s/@BFDLIB@/::bfd:libbfd.o/ - -# Point at the libraries directly. -/@OPCODES_DEP@/s/@OPCODES_DEP@/::opcodes:libopcodes.o/ -/@BFDDEP@/s/@BFDDEP@/::bfd:libbfd.o/ - -# Don't need this. -/@HLDFLAGS@/s/@HLDFLAGS@// - -/extra_objects@/s/extra_objects@/{EXTRA_OBJECTS}/ - -/LOADLIBES/s/{LOADLIBES}/{EXTRALIBS}/ - -/@ALL_OBJ_DEPS@/s/@ALL_OBJ_DEPS@/::bfd:bfd.h/ - -# This causes problems - not sure why. -/^tags TAGS/,/etags /d - -/^make-gas.com/s/^/#/ - -/true/s/ ; @true$// - -# Remove references to conf.in, we don't need them. -/conf\.in/s/conf\.in//g - -# Use _gdbinit everywhere instead of .gdbinit. -/gdbinit/s/\.gdbinit/_gdbinit/g - -/atof-targ/s/"{s}"atof-targ\.c/"{o}"atof-targ.c/g -/config/s/"{s}"config\.h/"{o}"config.h/g -/config/s/^config\.h/"{o}"config.h/ -/obj-format/s/"{s}"obj-format\.c/"{o}"obj-format.c/g -/obj-format/s/"{s}"obj-format\.h/"{o}"obj-format.h/g -/targ-cpu/s/"{s}"targ-cpu\.c/"{o}"targ-cpu.c/g -/targ-cpu/s/"{s}"targ-cpu\.h/"{o}"targ-cpu.h/g -/targ-env/s/"{s}"targ-env\.h/"{o}"targ-env.h/g - -/m68k-parse.c/s/"{s}"m68k-parse\.c/"{o}"m68k-parse.c/g -/m68k-parse.c/s/^m68k-parse\.c/"{o}"m68k-parse.c/ - -# Whack out the config.h dependency, it only causes excess rebuilds. -/{OBJS}/s/{OBJS} \\Option-f "{o}"config.h/{OBJS} \\Option-f/ - -# ALL_CFLAGS includes TDEFINES, which is not desirable at link time. -/CC_LD/s/ALL_CFLAGS/CFLAGS/g - -# The resource file is called mac-as.r. -/as.new.r/s/as\.new\.r/mac-as.r/ - -# ...and the PROG_NAME doesn't have a .new in it. -/PROG_NAME/s/PROG_NAME='"'as.new'"'/PROG_NAME='"'as'"'/ - -# Whack out recursive makes, they won't work. -/^[ ][ ]*srcroot=/,/^[ ][ ]*(cd /d - -# Work around quoting problems by using multiple echo commands. -/'#define GAS_VERSION "{VERSION}"'/c\ - Echo -n '#define GAS_VERSION "' >> "{o}"config.new\ - Echo -n "{VERSION}" >> "{o}"config.new\ - Echo -n '"' >> "{o}"config.new - -# Add a "stamps" target. -$a\ -stamps \\Option-f config-stamp\ - -/^install \\Option-f/,/^$/c\ -install \\Option-f all install-only\ -\ -install-only \\Option-f\ - NewFolderRecursive "{bindir}"\ - Duplicate -y :as.new "{bindir}"as\ - - -# Whack out config-rebuilding targets, they won't work. -/^Makefile \\Option-f/,/^$/d -/^config.status \\Option-f/,/^$/d - -/^"{o}"config.h \\Option-f/s/^/#/ diff -uprN binutils-2.15.90.0.1.1/gas/po/gas.pot binutils-2.15.90.0.2/gas/po/gas.pot --- binutils-2.15.90.0.1.1/gas/po/gas.pot 2004-01-14 13:07:46.000000000 -0800 +++ binutils-2.15.90.0.2/gas/po/gas.pot 2004-04-12 12:56:35.000000000 -0700 @@ -1,12 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2003-07-17 14:56+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-03-19 15:01+1030\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -14,72 +16,73 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: app.c:474 app.c:488 +#: app.c:468 app.c:482 msgid "end of file in comment" msgstr "" -#: app.c:567 +#: app.c:561 msgid "end of file in string; inserted '\"'" msgstr "" -#: app.c:612 +#: app.c:606 msgid "end of file in string; '\"' inserted" msgstr "" -#: app.c:638 +#: app.c:632 #, c-format msgid "unknown escape '\\%c' in string; ignored" msgstr "" -#: app.c:790 +#: app.c:788 msgid "end of file not at end of a line; newline inserted" msgstr "" -#: app.c:949 +#: app.c:947 msgid "end of file in multiline comment" msgstr "" -#: app.c:1013 +#: app.c:1011 msgid "end of file after a one-character quote; \\0 inserted" msgstr "" -#: app.c:1021 +#: app.c:1019 msgid "end of file in escape character" msgstr "" -#: app.c:1033 +#: app.c:1031 msgid "missing close quote; (assumed)" msgstr "" -#: app.c:1101 app.c:1155 app.c:1166 app.c:1231 +#: app.c:1099 app.c:1153 app.c:1164 app.c:1229 msgid "end of file in comment; newline inserted" msgstr "" -#: as.c:160 +#: as.c:158 msgid "missing emulation mode name" msgstr "" -#: as.c:175 +#: as.c:173 #, c-format msgid "unrecognized emulation name `%s'" msgstr "" -#: as.c:222 +#: as.c:221 #, c-format msgid "GNU assembler version %s (%s) using BFD version %s" msgstr "" -#: as.c:225 +#: as.c:224 #, c-format msgid "GNU assembler version %s (%s)" msgstr "" -#: as.c:234 +#: as.c:232 #, c-format msgid "Usage: %s [option...] [asmfile...]\n" msgstr "" -#: as.c:236 +#: as.c:234 +#, c-format msgid "" "Options:\n" " -a[sub-option...]\t turn on listings\n" @@ -94,122 +97,154 @@ msgid "" " \t =FILE list to FILE (must be last sub-option)\n" msgstr "" -#: as.c:249 +#: as.c:247 +#, c-format msgid " -D produce assembler debugging messages\n" msgstr "" -#: as.c:251 +#: as.c:249 +#, c-format msgid " --defsym SYM=VAL define symbol SYM to given value\n" msgstr "" -#: as.c:267 +#: as.c:265 #, c-format msgid " emulate output (default %s)\n" msgstr "" -#: as.c:272 +#: as.c:270 +#, c-format msgid " --execstack require executable stack for this object\n" msgstr "" -#: as.c:274 +#: as.c:272 +#, c-format msgid "" " --noexecstack don't require executable stack for this object\n" msgstr "" -#: as.c:277 +#: as.c:275 +#, c-format msgid " -f skip whitespace and comment preprocessing\n" msgstr "" -#: as.c:279 +#: as.c:277 +#, c-format msgid " --gstabs generate stabs debugging information\n" msgstr "" +#: as.c:279 +#, c-format +msgid "" +" --gstabs+ generate stabs debug info with GNU extensions\n" +msgstr "" + #: as.c:281 +#, c-format msgid " --gdwarf2 generate DWARF2 debugging information\n" msgstr "" #: as.c:283 +#, c-format msgid " --help show this message and exit\n" msgstr "" #: as.c:285 +#, c-format msgid " --target-help show target specific options\n" msgstr "" #: as.c:287 +#, c-format msgid "" " -I DIR add DIR to search list for .include directives\n" msgstr "" #: as.c:289 +#, c-format msgid " -J don't warn about signed overflow\n" msgstr "" #: as.c:291 +#, c-format msgid "" " -K warn when differences altered for long " "displacements\n" msgstr "" #: as.c:293 +#, c-format msgid " -L,--keep-locals keep local symbols (e.g. starting with `L')\n" msgstr "" #: as.c:295 +#, c-format msgid " -M,--mri assemble in MRI compatibility mode\n" msgstr "" #: as.c:297 +#, c-format msgid "" " --MD FILE write dependency information in FILE (default " "none)\n" msgstr "" #: as.c:299 +#, c-format msgid " -nocpp ignored\n" msgstr "" #: as.c:301 +#, c-format msgid "" " -o OBJFILE name the object-file output OBJFILE (default a." "out)\n" msgstr "" #: as.c:303 +#, c-format msgid " -R fold data section into text section\n" msgstr "" #: as.c:305 +#, c-format msgid "" " --statistics print various measured statistics from execution\n" msgstr "" #: as.c:307 +#, c-format msgid " --strip-local-absolute strip local absolute symbols\n" msgstr "" #: as.c:309 +#, c-format msgid "" " --traditional-format Use same format as native assembler when possible\n" msgstr "" #: as.c:311 +#, c-format msgid " --version print assembler version number and exit\n" msgstr "" #: as.c:313 +#, c-format msgid " -W --no-warn suppress warnings\n" msgstr "" #: as.c:315 +#, c-format msgid " --warn don't suppress warnings\n" msgstr "" #: as.c:317 +#, c-format msgid " --fatal-warnings treat warnings as errors\n" msgstr "" #: as.c:319 +#, c-format msgid "" " --itbl INSTTBL extend instruction set to include instructions\n" " matching the specifications defined in file " @@ -217,18 +252,22 @@ msgid "" msgstr "" #: as.c:322 +#, c-format msgid " -w ignored\n" msgstr "" #: as.c:324 +#, c-format msgid " -X ignored\n" msgstr "" #: as.c:326 +#, c-format msgid " -Z generate object file even after errors\n" msgstr "" #: as.c:328 +#, c-format msgid "" " --listing-lhs-width set the width in words of the output data column " "of\n" @@ -236,6 +275,7 @@ msgid "" msgstr "" #: as.c:331 +#, c-format msgid "" " --listing-lhs-width2 set the width in words of the continuation lines\n" " of the output data column; ignored if smaller " @@ -244,12 +284,14 @@ msgid "" msgstr "" #: as.c:335 +#, c-format msgid "" " --listing-rhs-width set the max width in characters of the lines from\n" " the source file\n" msgstr "" #: as.c:338 +#, c-format msgid "" " --listing-cont-lines set the maximum number of continuation lines used\n" " for the output data column of the listing\n" @@ -260,90 +302,92 @@ msgstr "" msgid "Report bugs to %s\n" msgstr "" -#: as.c:557 as.c:559 +#: as.c:561 as.c:563 #, c-format msgid "GNU assembler %s\n" msgstr "" -#: as.c:561 +#: as.c:565 +#, c-format msgid "Copyright 2002 Free Software Foundation, Inc.\n" msgstr "" -#: as.c:562 +#: as.c:566 +#, c-format msgid "" "This program is free software; you may redistribute it under the terms of\n" "the GNU General Public License. This program has absolutely no warranty.\n" msgstr "" -#: as.c:565 +#: as.c:569 #, c-format msgid "This assembler was configured for a target of `%s'.\n" msgstr "" -#: as.c:572 +#: as.c:576 msgid "multiple emulation names specified" msgstr "" -#: as.c:574 +#: as.c:578 msgid "emulations not handled in this configuration" msgstr "" -#: as.c:579 +#: as.c:583 #, c-format msgid "alias = %s\n" msgstr "" -#: as.c:580 +#: as.c:584 #, c-format msgid "canonical = %s\n" msgstr "" -#: as.c:581 +#: as.c:585 #, c-format msgid "cpu-type = %s\n" msgstr "" -#: as.c:583 +#: as.c:587 #, c-format msgid "format = %s\n" msgstr "" -#: as.c:586 +#: as.c:590 #, c-format msgid "bfd-target = %s\n" msgstr "" -#: as.c:599 +#: as.c:603 msgid "bad defsym; format is --defsym name=value" msgstr "" -#: as.c:623 +#: as.c:627 msgid "no file name following -t option" msgstr "" -#: as.c:638 +#: as.c:642 #, c-format msgid "failed to read instruction table %s\n" msgstr "" -#: as.c:765 +#: as.c:770 #, c-format msgid "invalid listing option `%c'" msgstr "" -#: as.c:984 +#: as.c:829 #, c-format -msgid "%d warnings, treating warnings as errors" +msgid "%s: total time in assembly: %ld.%06ld\n" msgstr "" -#: as.c:1015 +#: as.c:832 #, c-format -msgid "%s: total time in assembly: %ld.%06ld\n" +msgid "%s: data size %ld\n" msgstr "" -#: as.c:1018 +#: as.c:1143 #, c-format -msgid "%s: data size %ld\n" +msgid "%d warnings, treating warnings as errors" msgstr "" #: as.h:216 @@ -355,71 +399,71 @@ msgstr "" #. * We have a GROSS internal error. #. * This should never happen. #. -#: atof-generic.c:437 config/tc-m68k.c:2869 +#: atof-generic.c:433 config/tc-m68k.c:3002 msgid "failed sanity check" msgstr "" -#: cond.c:83 +#: cond.c:82 msgid "invalid identifier for \".ifdef\"" msgstr "" -#: cond.c:151 +#: cond.c:149 msgid "non-constant expression in \".if\" statement" msgstr "" -#: cond.c:247 +#: cond.c:242 msgid "bad format for ifc or ifnc" msgstr "" -#: cond.c:278 +#: cond.c:272 msgid "\".elseif\" without matching \".if\"" msgstr "" -#: cond.c:282 +#: cond.c:276 msgid "\".elseif\" after \".else\"" msgstr "" -#: cond.c:285 cond.c:393 +#: cond.c:279 cond.c:385 msgid "here is the previous \"else\"" msgstr "" -#: cond.c:288 cond.c:396 +#: cond.c:282 cond.c:388 msgid "here is the previous \"if\"" msgstr "" -#: cond.c:317 +#: cond.c:311 msgid "non-constant expression in \".elseif\" statement" msgstr "" -#: cond.c:356 +#: cond.c:349 msgid "\".endif\" without \".if\"" msgstr "" -#: cond.c:386 +#: cond.c:378 msgid "\".else\" without matching \".if\"" msgstr "" -#: cond.c:390 +#: cond.c:382 msgid "duplicate \"else\"" msgstr "" -#: cond.c:442 +#: cond.c:433 msgid ".ifeqs syntax error" msgstr "" -#: cond.c:525 +#: cond.c:514 msgid "end of macro inside conditional" msgstr "" -#: cond.c:527 +#: cond.c:516 msgid "end of file inside conditional" msgstr "" -#: cond.c:530 +#: cond.c:519 msgid "here is the start of the unterminated conditional" msgstr "" -#: cond.c:534 +#: cond.c:523 msgid "here is the \"else\" of the unterminated conditional" msgstr "" @@ -452,17 +496,17 @@ msgstr "" msgid "%s: bad type for weak symbol" msgstr "" -#: config/obj-aout.c:458 config/obj-coff.c:2945 write.c:1931 +#: config/obj-aout.c:458 config/obj-coff.c:2945 write.c:1896 #, c-format msgid "%s: global symbols not supported in common sections" msgstr "" -#: config/obj-aout.c:524 +#: config/obj-aout.c:528 #, c-format msgid "Local symbol %s never defined." msgstr "" -#: config/obj-bout.c:319 config/obj-vms.c:629 +#: config/obj-bout.c:319 config/obj-vms.c:459 #, c-format msgid "Local symbol %s never defined" msgstr "" @@ -482,7 +526,7 @@ msgstr "" msgid ".ln pseudo-op inside .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:546 ecoff.c:3278 +#: config/obj-coff.c:546 ecoff.c:3243 msgid ".loc outside of .text" msgstr "" @@ -557,13 +601,13 @@ msgstr "" msgid "unsupported section attribute '%c'" msgstr "" -#: config/obj-coff.c:1487 config/obj-coff.c:3759 config/tc-ppc.c:4508 +#: config/obj-coff.c:1487 config/obj-coff.c:3759 config/tc-ppc.c:4594 #, c-format msgid "unknown section attribute '%c'" msgstr "" -#: config/obj-coff.c:1517 config/tc-ppc.c:4526 config/tc-tic54x.c:4339 -#: read.c:2562 +#: config/obj-coff.c:1517 config/tc-ppc.c:4612 config/tc-tic54x.c:4339 +#: read.c:2444 #, c-format msgid "error setting flags for \"%s\": %s" msgstr "" @@ -579,6 +623,7 @@ msgid "0x%lx: \"%s\" type = %ld, class = msgstr "" #: config/obj-coff.c:1849 config/obj-ieee.c:69 +#, c-format msgid "Out of step\n" msgstr "" @@ -587,10 +632,11 @@ msgid "bfd_coff_swap_scnhdr_out failed" msgstr "" #: config/obj-coff.c:2507 +#, c-format msgid "`.bf' symbol without preceding function\n" msgstr "" -#: config/obj-coff.c:3457 config/obj-ieee.c:521 +#: config/obj-coff.c:3457 config/obj-ieee.c:517 #, c-format msgid "FATAL: Can't create %s" msgstr "" @@ -605,7 +651,7 @@ msgstr "" msgid "Too many new sections; can't add \"%s\"" msgstr "" -#: config/obj-coff.c:4057 config/tc-sparc.c:3635 +#: config/obj-coff.c:4057 config/tc-sparc.c:3646 msgid "Expected comma after name" msgstr "" @@ -664,181 +710,158 @@ msgstr "" msgid "Can't set register masks" msgstr "" -#: config/obj-elf.c:316 -msgid "expected comma after symbol-name" -msgstr "" - -#: config/obj-elf.c:326 -#, c-format -msgid ".COMMon length (%ld) out of range, ignored." -msgstr "" - -#: config/obj-elf.c:335 ecoff.c:3397 read.c:1406 read.c:1507 read.c:2145 -#: read.c:2234 read.c:2863 read.c:4968 symbols.c:367 symbols.c:466 -#, c-format -msgid "symbol `%s' is already defined" -msgstr "" - -#: config/obj-elf.c:343 -#, c-format -msgid "length of .comm \"%s\" is already %ld; not changed to %ld" -msgstr "" - -#: config/obj-elf.c:367 -msgid "common alignment negative; 0 assumed" -msgstr "" - -#: config/obj-elf.c:386 -msgid "common alignment not a power of 2" -msgstr "" - -#: config/obj-elf.c:449 config/tc-sparc.c:3931 config/tc-v850.c:461 +#: config/obj-elf.c:301 config/tc-sparc.c:3942 config/tc-v850.c:461 #, c-format msgid "bad .common segment %s" msgstr "" -#: config/obj-elf.c:717 +#: config/obj-elf.c:548 #, c-format msgid "setting incorrect section type for %s" msgstr "" -#: config/obj-elf.c:721 +#: config/obj-elf.c:553 #, c-format msgid "ignoring incorrect section type for %s" msgstr "" -#: config/obj-elf.c:734 +#: config/obj-elf.c:585 #, c-format msgid "setting incorrect section attributes for %s" msgstr "" -#: config/obj-elf.c:786 +#: config/obj-elf.c:644 #, c-format msgid "ignoring changed section attributes for %s" msgstr "" -#: config/obj-elf.c:788 +#: config/obj-elf.c:646 #, c-format msgid "ignoring changed section entity size for %s" msgstr "" -#: config/obj-elf.c:791 +#: config/obj-elf.c:649 #, c-format msgid "ignoring new section group for %s" msgstr "" -#: config/obj-elf.c:845 +#: config/obj-elf.c:701 msgid "unrecognized .section attribute: want a,w,x,M,S,G,T" msgstr "" -#: config/obj-elf.c:884 +#: config/obj-elf.c:738 msgid "unrecognized section attribute" msgstr "" -#: config/obj-elf.c:906 read.c:2545 +#: config/obj-elf.c:760 read.c:2427 msgid "unrecognized section type" msgstr "" -#: config/obj-elf.c:936 +#: config/obj-elf.c:790 msgid "missing name" msgstr "" -#: config/obj-elf.c:1048 +#: config/obj-elf.c:901 msgid "invalid merge entity size" msgstr "" -#: config/obj-elf.c:1055 +#: config/obj-elf.c:908 msgid "entity size for SHF_MERGE not specified" msgstr "" -#: config/obj-elf.c:1075 +#: config/obj-elf.c:928 msgid "group name for SHF_GROUP not specified" msgstr "" -#: config/obj-elf.c:1088 +#: config/obj-elf.c:941 msgid "character following name is not '#'" msgstr "" -#: config/obj-elf.c:1189 +#: config/obj-elf.c:1038 msgid ".previous without corresponding .section; ignored" msgstr "" -#: config/obj-elf.c:1216 +#: config/obj-elf.c:1064 msgid ".popsection without corresponding .pushsection; ignored" msgstr "" -#: config/obj-elf.c:1270 +#: config/obj-elf.c:1116 msgid "expected comma after name in .symver" msgstr "" -#: config/obj-elf.c:1294 +#: config/obj-elf.c:1140 #, c-format msgid "missing version name in `%s' for symbol `%s'" msgstr "" -#: config/obj-elf.c:1305 +#: config/obj-elf.c:1151 #, c-format msgid "multiple versions [`%s'|`%s'] for symbol `%s'" msgstr "" -#: config/obj-elf.c:1541 +#: config/obj-elf.c:1381 msgid "expected quoted string" msgstr "" -#: config/obj-elf.c:1562 +#: config/obj-elf.c:1401 #, c-format msgid "expected comma after name `%s' in .size directive" msgstr "" -#: config/obj-elf.c:1571 +#: config/obj-elf.c:1410 msgid "missing expression in .size directive" msgstr "" -#: config/obj-elf.c:1660 +#: config/obj-elf.c:1497 #, c-format msgid "unrecognized symbol type \"%s\"" msgstr "" -#: config/obj-elf.c:1841 +#: config/obj-elf.c:1665 msgid ".size expression too complicated to fix up" msgstr "" -#: config/obj-elf.c:1873 +#: config/obj-elf.c:1697 #, c-format msgid "" "invalid attempt to declare external version name as default in symbol `%s'" msgstr "" -#: config/obj-elf.c:1934 ecoff.c:3642 +#: config/obj-elf.c:1758 ecoff.c:3601 #, c-format msgid "symbol `%s' can not be both weak and common" msgstr "" -#: config/obj-elf.c:2054 +#: config/obj-elf.c:1875 #, c-format msgid "assuming all members of group `%s' are COMDAT" msgstr "" -#: config/obj-elf.c:2076 +#: config/obj-elf.c:1897 #, c-format msgid "can't create group: %s" msgstr "" -#: config/obj-elf.c:2183 +#: config/obj-elf.c:2005 #, c-format msgid "failed to set up debugging information: %s" msgstr "" -#: config/obj-elf.c:2203 +#: config/obj-elf.c:2024 #, c-format msgid "can't start writing .mdebug section: %s" msgstr "" -#: config/obj-elf.c:2211 +#: config/obj-elf.c:2032 #, c-format msgid "could not write .mdebug section: %s" msgstr "" +#: config/obj-elf.h:140 +#, c-format +msgid "can't allocate ELF private section data: %s" +msgstr "" + #: config/obj-ieee.c:455 msgid "too many sections" msgstr "" @@ -865,45 +888,45 @@ msgstr "" msgid "FATAL: Attaching copyright header %s" msgstr "" -#: config/obj-vms.c:530 +#: config/obj-vms.c:367 #, c-format msgid "compiler emitted zero-size common symbol `%s' already defined" msgstr "" -#: config/obj-vms.c:540 +#: config/obj-vms.c:375 #, c-format msgid "compiler redefined zero-size common symbol `%s'" msgstr "" -#: config/obj-vms.c:663 +#: config/obj-vms.c:492 #, c-format msgid "Couldn't create VMS object file \"%s\"" msgstr "" -#: config/obj-vms.c:688 +#: config/obj-vms.c:517 msgid "I/O error writing VMS object file (length prefix)" msgstr "" -#: config/obj-vms.c:702 +#: config/obj-vms.c:531 msgid "I/O error writing VMS object file" msgstr "" -#: config/obj-vms.c:1292 +#: config/obj-vms.c:1076 #, c-format msgid "Couldn't find source file \"%s\", status=%%X%x" msgstr "" -#: config/obj-vms.c:1790 config/obj-vms.c:2967 +#: config/obj-vms.c:1559 config/obj-vms.c:2731 #, c-format msgid "debugger forward reference error, dbx type %d" msgstr "" -#: config/obj-vms.c:1865 +#: config/obj-vms.c:1633 #, c-format msgid "Variable descriptor %d too complicated. Defined as `void *'." msgstr "" -#: config/obj-vms.c:2179 +#: config/obj-vms.c:1948 msgid "" "***Warning - the assembly code generated by the compiler has placed \n" " global constant(s) in the text psect. These will not be available to \n" @@ -914,92 +937,92 @@ msgid "" " I didn't warn you! \n" msgstr "" -#: config/obj-vms.c:2494 +#: config/obj-vms.c:2253 #, c-format msgid "debugginer output: %d is an unknown untyped variable." msgstr "" -#: config/obj-vms.c:2712 +#: config/obj-vms.c:2473 #, c-format msgid "debugger output: structure element `%s' has undefined type" msgstr "" -#: config/obj-vms.c:2823 +#: config/obj-vms.c:2584 #, c-format msgid "debugger output: %d is an unknown type of variable." msgstr "" -#: config/obj-vms.c:2956 +#: config/obj-vms.c:2720 #, c-format msgid "debugger output: Unable to resolve %d circular references." msgstr "" -#: config/obj-vms.c:3158 +#: config/obj-vms.c:2908 #, c-format msgid "Module name truncated: %s\n" msgstr "" -#: config/obj-vms.c:3436 +#: config/obj-vms.c:3159 #, c-format msgid "Symbol %s replaced by %s\n" msgstr "" #. impossible -#: config/obj-vms.c:3719 +#: config/obj-vms.c:3385 #, c-format msgid "Unknown VMS psect type (%ld)" msgstr "" -#: config/obj-vms.c:3760 +#: config/obj-vms.c:3423 #, c-format msgid "Globalsymbol attribute for symbol %s was unexpected." msgstr "" -#: config/obj-vms.c:3909 +#: config/obj-vms.c:3547 msgid "Invalid data type for globalvalue" msgstr "" -#: config/obj-vms.c:3921 +#: config/obj-vms.c:3559 #, c-format msgid "Invalid globalvalue of %s" msgstr "" -#: config/obj-vms.c:4271 +#: config/obj-vms.c:3799 msgid "Couldn't find fixup fragment when checking for indirect reference" msgstr "" -#: config/obj-vms.c:4614 config/obj-vms.c:4757 +#: config/obj-vms.c:4077 config/obj-vms.c:4212 msgid "Fixup data addsy and subsy don't have the same type" msgstr "" -#: config/obj-vms.c:4618 config/obj-vms.c:4761 +#: config/obj-vms.c:4081 config/obj-vms.c:4216 msgid "Fixup data addsy and subsy don't have an appropriate type" msgstr "" -#: config/obj-vms.c:4621 config/obj-vms.c:4764 +#: config/obj-vms.c:4084 config/obj-vms.c:4219 msgid "Fixup data is erroneously \"pcrel\"" msgstr "" -#: config/obj-vms.c:4637 config/obj-vms.c:4783 +#: config/obj-vms.c:4100 config/obj-vms.c:4236 msgid "Fixup datum is not a longword" msgstr "" -#: config/obj-vms.c:4641 config/obj-vms.c:4787 +#: config/obj-vms.c:4104 config/obj-vms.c:4240 msgid "Fixup datum is not \"fixP->fx_addsy\"" msgstr "" -#: config/obj-vms.c:4858 +#: config/obj-vms.c:4306 #, c-format msgid "" "g++ wrote an extern reference to `%s' as a routine.\n" "I will fix it, but I hope that it was note really a routine." msgstr "" -#: config/obj-vms.c:4990 +#: config/obj-vms.c:4436 msgid "Can't handle global xtors symbols yet." msgstr "" -#: config/obj-vms.c:4993 +#: config/obj-vms.c:4439 #, c-format msgid "Unknown %s" msgstr "" @@ -1007,46 +1030,46 @@ msgstr "" #. #. * Error otherwise. #. -#: config/obj-vms.c:5078 +#: config/obj-vms.c:4524 #, c-format msgid "unhandled stab type %d" msgstr "" -#: config/tc-a29k.c:163 config/tc-sparc.c:3983 +#: config/tc-a29k.c:163 config/tc-sparc.c:3994 msgid "Unknown segment type" msgstr "" #. Probably a memory allocation problem? Give up now. -#: config/tc-a29k.c:333 config/tc-dlx.c:369 config/tc-hppa.c:1463 -#: config/tc-mips.c:1108 config/tc-mips.c:1150 config/tc-or32.c:228 -#: config/tc-sparc.c:853 +#: config/tc-a29k.c:333 config/tc-dlx.c:369 config/tc-hppa.c:1476 +#: config/tc-mips.c:1152 config/tc-mips.c:1194 config/tc-or32.c:228 +#: config/tc-sparc.c:858 msgid "Broken assembler. No assembly attempted." msgstr "" #: config/tc-a29k.c:378 config/tc-avr.c:1121 config/tc-d10v.c:545 -#: config/tc-d30v.c:551 config/tc-h8300.c:492 config/tc-h8500.c:283 -#: config/tc-mcore.c:607 config/tc-mmix.c:470 config/tc-mn10200.c:940 -#: config/tc-mn10300.c:1815 config/tc-msp430.c:1544 config/tc-or32.c:334 -#: config/tc-or32.c:390 config/tc-ppc.c:2334 config/tc-s390.c:1236 -#: config/tc-sh.c:1264 config/tc-sh64.c:2254 config/tc-tic80.c:279 -#: config/tc-v850.c:2024 config/tc-w65.c:218 config/tc-z8k.c:376 +#: config/tc-d30v.c:551 config/tc-h8300.c:470 config/tc-h8500.c:283 +#: config/tc-mcore.c:607 config/tc-mmix.c:515 config/tc-mn10200.c:940 +#: config/tc-mn10300.c:1815 config/tc-msp430.c:1549 config/tc-or32.c:334 +#: config/tc-or32.c:390 config/tc-ppc.c:2371 config/tc-s390.c:1236 +#: config/tc-sh64.c:2208 config/tc-sh.c:1230 config/tc-tic80.c:279 +#: config/tc-v850.c:2041 config/tc-w65.c:218 config/tc-z8k.c:331 msgid "missing operand" msgstr "" #: config/tc-a29k.c:417 config/tc-cris.c:1075 config/tc-cris.c:1083 -#: config/tc-dlx.c:834 config/tc-hppa.c:1599 config/tc-i860.c:453 -#: config/tc-i860.c:470 config/tc-i860.c:930 config/tc-sparc.c:1415 -#: config/tc-sparc.c:1421 +#: config/tc-dlx.c:833 config/tc-hppa.c:1612 config/tc-i860.c:492 +#: config/tc-i860.c:509 config/tc-i860.c:989 config/tc-sparc.c:1420 +#: config/tc-sparc.c:1426 #, c-format msgid "Unknown opcode: `%s'" msgstr "" -#: config/tc-a29k.c:422 config/tc-dlx.c:852 +#: config/tc-a29k.c:422 config/tc-dlx.c:851 #, c-format msgid "Unknown opcode `%s'." msgstr "" -#: config/tc-a29k.c:454 config/tc-dlx.c:913 +#: config/tc-a29k.c:454 config/tc-dlx.c:912 #, c-format msgid "Too many operands: %s" msgstr "" @@ -1056,8 +1079,8 @@ msgstr "" msgid "Immediate value of %ld is too large" msgstr "" -#: config/tc-a29k.c:546 config/tc-i860.c:355 config/tc-i860.c:902 -#: config/tc-m68k.c:3171 config/tc-m68k.c:3200 config/tc-sparc.c:2647 +#: config/tc-a29k.c:546 config/tc-i860.c:395 config/tc-i860.c:940 +#: config/tc-m68k.c:3310 config/tc-m68k.c:3339 config/tc-sparc.c:2658 msgid "failed sanity check." msgstr "" @@ -1079,12 +1102,12 @@ msgstr "" msgid "a29k_estimate_size_before_relax\n" msgstr "" -#: config/tc-a29k.c:1095 config/tc-dlx.c:1283 config/tc-or32.c:1373 +#: config/tc-a29k.c:1095 config/tc-dlx.c:1280 config/tc-or32.c:1373 #, c-format msgid "label \"$%d\" redefined" msgstr "" -#: config/tc-a29k.c:1168 config/tc-dlx.c:511 config/tc-or32.c:1466 +#: config/tc-a29k.c:1168 config/tc-dlx.c:510 config/tc-or32.c:1466 #, c-format msgid "Invalid expression after %%%%\n" msgstr "" @@ -1103,15 +1126,15 @@ msgstr "" msgid "internal error: can't hash macro `%s': %s" msgstr "" -#: config/tc-alpha.c:943 config/tc-i960.c:2707 config/tc-xtensa.c:4954 -#: config/tc-xtensa.c:5015 +#: config/tc-alpha.c:943 config/tc-i960.c:2707 config/tc-xtensa.c:4842 +#: config/tc-xtensa.c:4903 msgid "syntax error" msgstr "" -#: config/tc-alpha.c:1017 config/tc-h8300.c:2099 config/tc-h8500.c:1204 -#: config/tc-hppa.c:4018 config/tc-i860.c:1004 config/tc-m68hc11.c:568 -#: config/tc-m68k.c:4196 config/tc-m88k.c:991 config/tc-ns32k.c:1689 -#: config/tc-or32.c:910 config/tc-sparc.c:2934 config/tc-z8k.c:1371 +#: config/tc-alpha.c:1017 config/tc-h8300.c:2100 config/tc-h8500.c:1204 +#: config/tc-hppa.c:4029 config/tc-i860.c:1059 config/tc-m68hc11.c:557 +#: config/tc-m68k.c:4366 config/tc-m88k.c:991 config/tc-ns32k.c:1689 +#: config/tc-or32.c:910 config/tc-sparc.c:2945 config/tc-z8k.c:1331 msgid "Bad call to MD_ATOF()" msgstr "" @@ -1153,7 +1176,7 @@ msgstr "" msgid "type %d reloc done?\n" msgstr "" -#: config/tc-alpha.c:1373 config/tc-alpha.c:1380 config/tc-mips.c:8603 +#: config/tc-alpha.c:1373 config/tc-alpha.c:1380 config/tc-mips.c:8578 msgid "Used $at without \".set noat\"" msgstr "" @@ -1162,12 +1185,12 @@ msgstr "" msgid "!samegp reloc against symbol without .prologue: %s" msgstr "" -#: config/tc-alpha.c:1581 config/tc-xtensa.c:5451 +#: config/tc-alpha.c:1581 config/tc-xtensa.c:5336 #, c-format msgid "cannot represent `%s' relocation in object file" msgstr "" -#: config/tc-alpha.c:1588 config/tc-xtensa.c:5458 +#: config/tc-alpha.c:1588 config/tc-xtensa.c:5343 #, c-format msgid "internal error? cannot generate `%s' relocation" msgstr "" @@ -1243,9 +1266,9 @@ msgstr "" #: config/tc-alpha.c:2490 config/tc-alpha.c:2514 config/tc-d10v.c:634 #: config/tc-d30v.c:639 config/tc-mn10200.c:995 config/tc-mn10300.c:1888 -#: config/tc-ppc.c:2300 config/tc-ppc.c:2517 config/tc-ppc.c:2529 +#: config/tc-ppc.c:2337 config/tc-ppc.c:2554 config/tc-ppc.c:2566 #: config/tc-s390.c:1246 config/tc-s390.c:1346 config/tc-s390.c:1442 -#: config/tc-v850.c:1804 config/tc-v850.c:1827 config/tc-v850.c:2047 +#: config/tc-v850.c:1821 config/tc-v850.c:1844 config/tc-v850.c:2064 msgid "too many fixups" msgstr "" @@ -1313,7 +1336,7 @@ msgid "opcode `%s' not supported for tar msgstr "" #: config/tc-alpha.c:2796 config/tc-alpha.c:2869 config/tc-avr.c:1087 -#: config/tc-msp430.c:446 +#: config/tc-msp430.c:461 #, c-format msgid "unknown opcode `%s'" msgstr "" @@ -1352,21 +1375,22 @@ msgstr "" msgid "overflow in literal (.lit8) table" msgstr "" -#: config/tc-alpha.c:4262 config/tc-ppc.c:1740 config/tc-ppc.c:4271 +#: config/tc-alpha.c:4262 config/tc-ppc.c:1776 config/tc-ppc.c:4357 #, c-format msgid ".COMMon length (%ld.) <0! Ignored." msgstr "" -#: config/tc-alpha.c:4291 config/tc-sparc.c:3799 config/tc-v850.c:256 +#: config/tc-alpha.c:4291 config/tc-sparc.c:3810 config/tc-v850.c:256 msgid "Ignoring attempt to re-define symbol" msgstr "" -#: config/tc-alpha.c:4300 config/tc-alpha.c:4309 config/tc-ppc.c:4308 +#: config/tc-alpha.c:4300 config/tc-alpha.c:4309 config/tc-ppc.c:4394 +#: config/tc-sparc.c:3818 #, c-format msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld." msgstr "" -#: config/tc-alpha.c:4430 ecoff.c:3082 +#: config/tc-alpha.c:4430 ecoff.c:3053 msgid ".ent directive has no name" msgstr "" @@ -1374,7 +1398,7 @@ msgstr "" msgid "nested .ent directives" msgstr "" -#: config/tc-alpha.c:4483 ecoff.c:3032 +#: config/tc-alpha.c:4483 ecoff.c:3004 msgid ".end directive has no name" msgstr "" @@ -1386,27 +1410,27 @@ msgstr "" msgid ".end directive names different symbol than .ent" msgstr "" -#: config/tc-alpha.c:4538 ecoff.c:3171 +#: config/tc-alpha.c:4538 ecoff.c:3139 msgid ".fmask outside of .ent" msgstr "" -#: config/tc-alpha.c:4540 ecoff.c:3241 +#: config/tc-alpha.c:4540 ecoff.c:3207 msgid ".mask outside of .ent" msgstr "" -#: config/tc-alpha.c:4548 ecoff.c:3178 +#: config/tc-alpha.c:4548 ecoff.c:3146 msgid "bad .fmask directive" msgstr "" -#: config/tc-alpha.c:4550 ecoff.c:3248 +#: config/tc-alpha.c:4550 ecoff.c:3214 msgid "bad .mask directive" msgstr "" -#: config/tc-alpha.c:4584 config/tc-mips.c:14143 ecoff.c:3200 +#: config/tc-alpha.c:4584 config/tc-mips.c:14002 ecoff.c:3167 msgid ".frame outside of .ent" msgstr "" -#: config/tc-alpha.c:4595 ecoff.c:3211 +#: config/tc-alpha.c:4595 ecoff.c:3178 msgid "bad .frame directive" msgstr "" @@ -1447,1213 +1471,1333 @@ msgstr "" msgid ".ent directive has no symbol" msgstr "" -#: config/tc-alpha.c:4963 +#: config/tc-alpha.c:4962 msgid "Bad .frame directive 1./2. param" msgstr "" -#: config/tc-alpha.c:4975 +#: config/tc-alpha.c:4974 msgid "Bad .frame directive 3./4. param" msgstr "" -#: config/tc-alpha.c:5000 +#: config/tc-alpha.c:4997 msgid ".pdesc directive not in link (.link) section" msgstr "" -#: config/tc-alpha.c:5008 +#: config/tc-alpha.c:5005 msgid ".pdesc has no matching .ent" msgstr "" -#: config/tc-alpha.c:5019 +#: config/tc-alpha.c:5016 msgid ".pdesc directive has no entry symbol" msgstr "" -#: config/tc-alpha.c:5032 +#: config/tc-alpha.c:5029 msgid "No comma after .pdesc " msgstr "" -#: config/tc-alpha.c:5055 +#: config/tc-alpha.c:5052 msgid "unknown procedure kind" msgstr "" -#: config/tc-alpha.c:5148 +#: config/tc-alpha.c:5143 msgid ".name directive not in link (.link) section" msgstr "" -#: config/tc-alpha.c:5156 +#: config/tc-alpha.c:5151 msgid ".name directive has no symbol" msgstr "" -#: config/tc-alpha.c:5190 +#: config/tc-alpha.c:5183 msgid "No symbol after .linkage" msgstr "" -#: config/tc-alpha.c:5218 +#: config/tc-alpha.c:5209 msgid "No symbol after .code_address" msgstr "" -#: config/tc-alpha.c:5251 +#: config/tc-alpha.c:5239 msgid "Bad .mask directive" msgstr "" -#: config/tc-alpha.c:5272 +#: config/tc-alpha.c:5258 msgid "Bad .fmask directive" msgstr "" -#: config/tc-alpha.c:5440 +#: config/tc-alpha.c:5420 #, c-format msgid "Expected comma after name \"%s\"" msgstr "" #. *symbol_get_obj (symbolP) = (signed char) temp; -#: config/tc-alpha.c:5451 +#: config/tc-alpha.c:5431 #, c-format msgid "unhandled: .proc %s,%d" msgstr "" -#: config/tc-alpha.c:5486 +#: config/tc-alpha.c:5466 #, c-format msgid "Tried to .set unrecognized mode `%s'" msgstr "" #. not fatal, but it might not work in the end -#: config/tc-alpha.c:5503 +#: config/tc-alpha.c:5483 msgid "File overrides no-base-register option." msgstr "" -#: config/tc-alpha.c:5520 +#: config/tc-alpha.c:5500 #, c-format msgid "Bad base register, using $%d." msgstr "" -#: config/tc-alpha.c:5542 +#: config/tc-alpha.c:5522 #, c-format msgid "Alignment too large: %d. assumed" msgstr "" -#: config/tc-alpha.c:5546 config/tc-d30v.c:2200 +#: config/tc-alpha.c:5526 config/tc-d30v.c:2198 msgid "Alignment negative: 0 assumed" msgstr "" -#: config/tc-alpha.c:5860 +#: config/tc-alpha.c:5839 #, c-format msgid "Chose GP value of %lx\n" msgstr "" -#: config/tc-alpha.c:5876 +#: config/tc-alpha.c:5855 msgid "Bad .section directive: want a,s,w,x,M,S,G,T in string" msgstr "" -#: config/tc-arc.c:1615 config/tc-arm.c:11416 config/tc-ip2k.c:219 +#: config/tc-arc.c:1592 config/tc-arm.c:12902 config/tc-ip2k.c:219 msgid "md_estimate_size_before_relax\n" msgstr "" -#: config/tc-arc.c:1627 +#: config/tc-arc.c:1604 msgid "md_convert_frag\n" msgstr "" #. We can't actually support subtracting a symbol. -#: config/tc-arc.c:1898 config/tc-arm.c:6617 config/tc-arm.c:9705 -#: config/tc-arm.c:9805 config/tc-avr.c:854 config/tc-cris.c:3123 -#: config/tc-d10v.c:1710 config/tc-d30v.c:1851 config/tc-mips.c:3630 -#: config/tc-mips.c:4695 config/tc-mips.c:5828 config/tc-mips.c:6517 -#: config/tc-msp430.c:1403 config/tc-ppc.c:5460 config/tc-v850.c:2356 +#: config/tc-arc.c:1875 config/tc-arm.c:8079 config/tc-arm.c:11156 +#: config/tc-arm.c:11256 config/tc-avr.c:854 config/tc-cris.c:3123 +#: config/tc-d10v.c:1710 config/tc-d30v.c:1851 config/tc-mips.c:3800 +#: config/tc-mips.c:4938 config/tc-mips.c:5946 config/tc-mips.c:6575 +#: config/tc-msp430.c:1409 config/tc-ppc.c:5546 config/tc-v850.c:2373 #: config/tc-xstormy16.c:483 msgid "expression too complex" msgstr "" -#: config/tc-arm.c:763 +#: config/tc-arm.c:788 msgid "ARM register expected" msgstr "" -#: config/tc-arm.c:764 config/tc-arm.c:3174 +#: config/tc-arm.c:789 config/tc-arm.c:3601 msgid "bad or missing co-processor number" msgstr "" #. In the few cases where we might be able to accept something else #. this error can be overridden. -#: config/tc-arm.c:765 config/tc-arm.c:3229 +#: config/tc-arm.c:790 config/tc-arm.c:3656 msgid "co-processor register expected" msgstr "" -#: config/tc-arm.c:766 +#: config/tc-arm.c:791 msgid "FPA register expected" msgstr "" -#: config/tc-arm.c:767 +#: config/tc-arm.c:792 msgid "VFP single precision register expected" msgstr "" -#: config/tc-arm.c:768 +#: config/tc-arm.c:793 msgid "VFP double precision register expected" msgstr "" -#: config/tc-arm.c:769 +#: config/tc-arm.c:794 msgid "Maverick MVF register expected" msgstr "" -#: config/tc-arm.c:770 +#: config/tc-arm.c:795 msgid "Maverick MVD register expected" msgstr "" -#: config/tc-arm.c:771 config/tc-arm.c:772 +#: config/tc-arm.c:796 msgid "Maverick MVFX register expected" msgstr "" -#: config/tc-arm.c:773 +#: config/tc-arm.c:797 +msgid "Maverick MVDX register expected" +msgstr "" + +#: config/tc-arm.c:798 msgid "Maverick MVAX register expected" msgstr "" -#: config/tc-arm.c:774 +#: config/tc-arm.c:799 msgid "Maverick DSPSC register expected" msgstr "" -#: config/tc-arm.c:775 +#: config/tc-arm.c:800 msgid "Intel Wireless MMX technology register expected" msgstr "" -#: config/tc-arm.c:2309 +#: config/tc-arm.c:2485 msgid "bad arguments to instruction" msgstr "" -#: config/tc-arm.c:2310 +#: config/tc-arm.c:2486 msgid "r15 not allowed here" msgstr "" -#: config/tc-arm.c:2311 +#: config/tc-arm.c:2487 msgid "instruction is not conditional" msgstr "" -#: config/tc-arm.c:2312 +#: config/tc-arm.c:2488 msgid "acc0 expected" msgstr "" -#: config/tc-arm.c:2505 +#: config/tc-arm.c:2686 msgid "literal pool overflow" msgstr "" -#: config/tc-arm.c:2647 +#: config/tc-arm.c:3000 msgid "invalid syntax for .req directive" msgstr "" -#: config/tc-arm.c:2727 +#: config/tc-arm.c:3043 +#, c-format +msgid "unreq: missing hash entry for \"%s\"" +msgstr "" + +#: config/tc-arm.c:3062 config/tc-arm.c:3065 +#, c-format +msgid ".unreq: unrecognized symbol \"%s\"" +msgstr "" + +#: config/tc-arm.c:3068 +msgid "invalid syntax for .unreq directive" +msgstr "" + +#: config/tc-arm.c:3152 #, c-format msgid "alignment too large: %d assumed" msgstr "" -#: config/tc-arm.c:2730 +#: config/tc-arm.c:3155 msgid "alignment negative. 0 assumed." msgstr "" -#: config/tc-arm.c:2814 +#: config/tc-arm.c:3239 #, c-format msgid "expected comma after name \"%s\"" msgstr "" -#: config/tc-arm.c:2864 config/tc-m32r.c:420 +#: config/tc-arm.c:3289 config/tc-m32r.c:586 #, c-format msgid "symbol `%s' already defined" msgstr "" -#: config/tc-arm.c:2889 +#: config/tc-arm.c:3314 msgid "selected processor does not support THUMB opcodes" msgstr "" -#: config/tc-arm.c:2902 +#: config/tc-arm.c:3328 msgid "selected processor does not support ARM opcodes" msgstr "" -#: config/tc-arm.c:2914 +#: config/tc-arm.c:3341 #, c-format msgid "invalid instruction size selected (%d)" msgstr "" -#: config/tc-arm.c:2949 +#: config/tc-arm.c:3376 #, c-format msgid "invalid operand to .code directive (%d) (expecting 16 or 32)" msgstr "" -#: config/tc-arm.c:2960 +#: config/tc-arm.c:3387 msgid "garbage following instruction" msgstr "" #. In the few cases where we might be able to accept something else #. this error can be overridden. -#: config/tc-arm.c:3010 +#: config/tc-arm.c:3437 #, c-format msgid "register expected, not '%.100s'" msgstr "" #. In the few cases where we might be able to accept #. something else this error can be overridden. -#: config/tc-arm.c:3061 +#: config/tc-arm.c:3488 #, c-format msgid "Intel Wireless MMX technology register expected, not '%.100s'" msgstr "" #. In the few cases where we might be able to accept #. something else this error can be overridden. -#: config/tc-arm.c:3133 +#: config/tc-arm.c:3560 msgid "flag for {c}psr instruction expected" msgstr "" -#: config/tc-arm.c:3167 +#: config/tc-arm.c:3594 msgid "illegal co-processor number" msgstr "" -#: config/tc-arm.c:3199 config/tc-arm.c:4778 +#: config/tc-arm.c:3626 config/tc-arm.c:6248 msgid "bad or missing expression" msgstr "" -#: config/tc-arm.c:3205 +#: config/tc-arm.c:3632 msgid "immediate co-processor expression too large" msgstr "" #. In the few cases where we might be able to accept something else #. this error can be overridden. -#: config/tc-arm.c:3252 +#: config/tc-arm.c:3679 msgid "floating point register expected" msgstr "" -#: config/tc-arm.c:3269 config/tc-arm.c:3414 +#: config/tc-arm.c:3696 config/tc-arm.c:3915 config/tc-arm.c:5015 +#: config/tc-arm.c:5103 config/tc-arm.c:5359 config/tc-arm.c:5463 +#: config/tc-arm.c:5748 msgid "immediate expression expected" msgstr "" -#: config/tc-arm.c:3284 +#: config/tc-arm.c:3711 msgid "co-processor address must be word aligned" msgstr "" -#: config/tc-arm.c:3290 config/tc-arm.c:3429 +#: config/tc-arm.c:3717 config/tc-arm.c:3930 msgid "offset too large" msgstr "" -#: config/tc-arm.c:3339 config/tc-arm.c:3477 +#: config/tc-arm.c:3777 +msgid "comma expected after closing square bracket" +msgstr "" + +#: config/tc-arm.c:3792 config/tc-arm.c:3978 msgid "pc may not be used in post-increment" msgstr "" -#: config/tc-arm.c:3355 config/tc-arm.c:3493 config/tc-arm.c:3938 -#: config/tc-arm.c:5197 config/tc-arm.c:6064 config/tc-arm.c:6398 +#: config/tc-arm.c:3820 +msgid "'option' field too large" +msgstr "" + +#: config/tc-arm.c:3828 +msgid "'}' expected at end of 'option' field" +msgstr "" + +#: config/tc-arm.c:3840 +msgid "non-constant expressions for 'option' field not supported" +msgstr "" + +#: config/tc-arm.c:3846 +msgid "# or { expected after comma" +msgstr "" + +#: config/tc-arm.c:3856 config/tc-arm.c:3994 config/tc-arm.c:4435 +#: config/tc-arm.c:6644 config/tc-arm.c:7529 config/tc-arm.c:7861 msgid "pre-indexed expression expected" msgstr "" -#: config/tc-arm.c:3368 config/tc-arm.c:3506 config/tc-arm.c:3951 -#: config/tc-arm.c:5208 config/tc-arm.c:6076 config/tc-arm.c:6410 -#: config/tc-arm.c:6784 config/tc-arm.c:9448 config/tc-arm.c:9463 +#: config/tc-arm.c:3869 config/tc-arm.c:4007 config/tc-arm.c:4448 +#: config/tc-arm.c:6655 config/tc-arm.c:7541 config/tc-arm.c:7873 +#: config/tc-arm.c:8243 config/tc-arm.c:10901 config/tc-arm.c:10916 msgid "missing ]" msgstr "" -#: config/tc-arm.c:3378 config/tc-arm.c:3516 +#: config/tc-arm.c:3879 config/tc-arm.c:4017 msgid "pc may not be used with write-back" msgstr "" -#: config/tc-arm.c:3568 +#: config/tc-arm.c:4068 msgid "comma expected after register name" msgstr "" -#: config/tc-arm.c:3587 +#: config/tc-arm.c:4087 msgid "CPSR or SPSR expected" msgstr "" -#: config/tc-arm.c:3613 +#: config/tc-arm.c:4113 msgid "comma missing after psr flags" msgstr "" -#: config/tc-arm.c:3629 config/tc-arm.c:3639 +#: config/tc-arm.c:4129 config/tc-arm.c:4139 msgid "only a register or immediate value can follow a psr flag" msgstr "" -#: config/tc-arm.c:3650 +#: config/tc-arm.c:4150 msgid "immediate value cannot be used to set this field" msgstr "" -#: config/tc-arm.c:3668 config/tc-arm.c:5424 config/tc-arm.c:5704 -#: config/tc-arm.c:5724 config/tc-i960.c:1935 +#: config/tc-arm.c:4168 config/tc-arm.c:5769 config/tc-arm.c:6871 +#: config/tc-arm.c:7170 config/tc-arm.c:7190 config/tc-i960.c:1935 msgid "invalid constant" msgstr "" -#: config/tc-arm.c:3716 +#: config/tc-arm.c:4216 msgid "rdhi, rdlo and rm must all be different" msgstr "" -#: config/tc-arm.c:3770 +#: config/tc-arm.c:4269 msgid "rd and rm should be different in mul" msgstr "" -#: config/tc-arm.c:3824 +#: config/tc-arm.c:4322 msgid "rd and rm should be different in mla" msgstr "" -#: config/tc-arm.c:3872 +#: config/tc-arm.c:4369 #, c-format msgid "acc0 expected, not '%.100s'" msgstr "" -#: config/tc-arm.c:4050 +#: config/tc-arm.c:4547 msgid "rdhi and rdlo must be different" msgstr "" -#: config/tc-arm.c:4158 +#: config/tc-arm.c:4655 msgid "Warning: instruction unpredictable when using r15" msgstr "" -#: config/tc-arm.c:4373 +#: config/tc-arm.c:4870 msgid "use of r15 in bxj is not really useful" msgstr "" -#: config/tc-arm.c:4400 config/tc-arm.c:4585 config/tc-arm.c:5445 expr.c:1318 -#: read.c:2206 +#: config/tc-arm.c:4931 config/tc-arm.c:4954 +msgid "Rd equal to Rm or Rn yields unpredictable results" +msgstr "" + +#: config/tc-arm.c:5020 config/tc-arm.c:5108 config/tc-arm.c:5365 +#: config/tc-arm.c:5469 config/tc-arm.c:5755 config/tc-arm.c:5841 +#: config/tc-arm.c:6026 config/tc-arm.c:6892 expr.c:1310 read.c:2097 msgid "bad expression" msgstr "" -#: config/tc-arm.c:4409 config/tc-arm.c:4594 config/tc-arm.c:4786 -#: config/tc-arm.c:8389 config/tc-arm.c:8424 config/tc-arm.c:8434 -#: config/tc-z8k.c:1161 config/tc-z8k.c:1173 +#: config/tc-arm.c:5025 config/tc-arm.c:5113 config/tc-arm.c:5371 +#: config/tc-arm.c:5475 config/tc-arm.c:5761 config/tc-arm.c:7161 +#: config/tc-arm.c:7577 config/tc-arm.c:7910 config/tc-arm.c:8534 +#: config/tc-v850.c:1924 config/tc-v850.c:1945 +msgid "constant expression expected" +msgstr "" + +#: config/tc-arm.c:5031 config/tc-arm.c:5119 config/tc-arm.c:5850 +#: config/tc-arm.c:6035 config/tc-arm.c:6256 config/tc-arm.c:9842 +#: config/tc-arm.c:9877 config/tc-arm.c:9887 config/tc-z8k.c:1129 +#: config/tc-z8k.c:1141 msgid "immediate value out of range" msgstr "" -#: config/tc-arm.c:4833 +#: config/tc-arm.c:5285 +msgid "missing endian specifier" +msgstr "" + +#: config/tc-arm.c:5294 +msgid "valid endian specifiers are be or le" +msgstr "" + +#: config/tc-arm.c:5349 config/tc-arm.c:5453 +msgid "missing rotation field after comma" +msgstr "" + +#: config/tc-arm.c:5393 config/tc-arm.c:5498 +msgid "rotation can be 8, 16, 24 or 0 when field is ommited" +msgstr "" + +#: config/tc-arm.c:5810 +msgid "unrecognized flag" +msgstr "" + +#: config/tc-arm.c:5816 +msgid "no 'a', 'i', or 'f' flags for 'cps'" +msgstr "" + +#: config/tc-arm.c:6289 config/tc-arm.c:6448 +msgid "non-word size not supported with control register" +msgstr "" + +#: config/tc-arm.c:6304 msgid "only r15 allowed here" msgstr "" -#: config/tc-arm.c:5160 +#: config/tc-arm.c:6446 +msgid "conditional execution not supported with control register" +msgstr "" + +#: config/tc-arm.c:6607 msgid "'[' expected after PLD mnemonic" msgstr "" -#: config/tc-arm.c:5182 +#: config/tc-arm.c:6629 msgid "post-indexed expression used in preload instruction" msgstr "" -#: config/tc-arm.c:5187 config/tc-arm.c:5217 +#: config/tc-arm.c:6634 config/tc-arm.c:6664 msgid "writeback used in preload instruction" msgstr "" -#: config/tc-arm.c:5259 +#: config/tc-arm.c:6706 msgid "destination register must be even" msgstr "" -#: config/tc-arm.c:5265 +#: config/tc-arm.c:6712 msgid "r14 not allowed here" msgstr "" -#: config/tc-arm.c:5272 +#: config/tc-arm.c:6719 msgid "pre/post-indexing used when modified address register is destination" msgstr "" -#: config/tc-arm.c:5282 +#: config/tc-arm.c:6729 msgid "ldrd destination registers must not overlap index register" msgstr "" -#: config/tc-arm.c:5408 +#: config/tc-arm.c:6855 msgid "bad_segment" msgstr "" -#: config/tc-arm.c:5468 config/tc-arm.c:5479 +#: config/tc-arm.c:6914 config/tc-arm.c:6925 msgid "shift expression expected" msgstr "" -#: config/tc-arm.c:5503 +#: config/tc-arm.c:6935 +msgid "'LSL' or 'ASR' required" +msgstr "" + +#: config/tc-arm.c:6941 +msgid "'LSL' required" +msgstr "" + +#: config/tc-arm.c:6947 +msgid "'ASR' required" +msgstr "" + +#: config/tc-arm.c:6969 msgid "shift requires register or #expression" msgstr "" -#: config/tc-arm.c:5504 +#: config/tc-arm.c:6970 msgid "shift requires #expression" msgstr "" -#: config/tc-arm.c:5534 +#: config/tc-arm.c:7000 msgid "shift of 0 ignored." msgstr "" -#: config/tc-arm.c:5540 +#: config/tc-arm.c:7006 msgid "invalid immediate shift" msgstr "" -#: config/tc-arm.c:5695 config/tc-arm.c:6112 config/tc-arm.c:6447 -#: config/tc-arm.c:7081 config/tc-v850.c:1907 config/tc-v850.c:1928 -msgid "constant expression expected" -msgstr "" - -#: config/tc-arm.c:5737 +#: config/tc-arm.c:7203 msgid "register or shift expression expected" msgstr "" -#: config/tc-arm.c:5790 +#: config/tc-arm.c:7256 msgid "invalid floating point immediate expression" msgstr "" -#: config/tc-arm.c:5794 +#: config/tc-arm.c:7260 msgid "floating point register or immediate expression expected" msgstr "" -#: config/tc-arm.c:5948 config/tc-arm.c:6278 +#: config/tc-arm.c:7413 config/tc-arm.c:7741 msgid "address offset too large" msgstr "" -#: config/tc-arm.c:6006 config/tc-arm.c:6196 config/tc-arm.c:6338 +#: config/tc-arm.c:7471 config/tc-arm.c:7660 config/tc-arm.c:7801 msgid "address expected" msgstr "" -#: config/tc-arm.c:6036 config/tc-arm.c:6048 config/tc-arm.c:6085 -#: config/tc-arm.c:6214 config/tc-arm.c:6368 config/tc-arm.c:6382 -#: config/tc-arm.c:6419 +#: config/tc-arm.c:7501 config/tc-arm.c:7513 config/tc-arm.c:7550 +#: config/tc-arm.c:7678 config/tc-arm.c:7831 config/tc-arm.c:7845 +#: config/tc-arm.c:7882 #, c-format msgid "%s register same as write-back base" msgstr "" -#: config/tc-arm.c:6038 config/tc-arm.c:6050 config/tc-arm.c:6087 -#: config/tc-arm.c:6216 config/tc-arm.c:6370 config/tc-arm.c:6384 -#: config/tc-arm.c:6421 +#: config/tc-arm.c:7503 config/tc-arm.c:7515 config/tc-arm.c:7552 +#: config/tc-arm.c:7680 config/tc-arm.c:7833 config/tc-arm.c:7847 +#: config/tc-arm.c:7884 msgid "destination" msgstr "" -#: config/tc-arm.c:6038 config/tc-arm.c:6050 config/tc-arm.c:6087 -#: config/tc-arm.c:6216 config/tc-arm.c:6370 config/tc-arm.c:6384 -#: config/tc-arm.c:6421 +#: config/tc-arm.c:7503 config/tc-arm.c:7515 config/tc-arm.c:7552 +#: config/tc-arm.c:7680 config/tc-arm.c:7833 config/tc-arm.c:7847 +#: config/tc-arm.c:7884 msgid "source" msgstr "" -#: config/tc-arm.c:6097 config/tc-arm.c:6431 config/tc-arm.c:8695 +#: config/tc-arm.c:7562 config/tc-arm.c:7894 config/tc-arm.c:10148 msgid "invalid pseudo operation" msgstr "" -#: config/tc-arm.c:6149 config/tc-arm.c:6482 +#: config/tc-arm.c:7614 config/tc-arm.c:7945 msgid "literal pool insertion failed" msgstr "" -#: config/tc-arm.c:6244 config/tc-arm.c:6250 +#: config/tc-arm.c:7708 config/tc-arm.c:7714 msgid "post-indexed expression expected" msgstr "" -#: config/tc-arm.c:6548 +#: config/tc-arm.c:8010 msgid "bad range in register list" msgstr "" -#: config/tc-arm.c:6556 config/tc-arm.c:6565 config/tc-arm.c:6607 +#: config/tc-arm.c:8018 config/tc-arm.c:8027 config/tc-arm.c:8069 #, c-format msgid "Warning: duplicated register (r%d) in register list" msgstr "" -#: config/tc-arm.c:6568 +#: config/tc-arm.c:8030 msgid "Warning: register range not in ascending order" msgstr "" -#: config/tc-arm.c:6580 +#: config/tc-arm.c:8042 msgid "missing `}'" msgstr "" -#: config/tc-arm.c:6596 +#: config/tc-arm.c:8058 msgid "invalid register mask" msgstr "" -#: config/tc-arm.c:6655 +#: config/tc-arm.c:8117 msgid "r15 not allowed as base register" msgstr "" -#: config/tc-arm.c:6689 config/tc-arm.c:6698 +#: config/tc-arm.c:8151 config/tc-arm.c:8160 msgid "writeback of base register is UNPREDICTABLE" msgstr "" -#: config/tc-arm.c:6692 +#: config/tc-arm.c:8154 msgid "writeback of base register when in register list is UNPREDICTABLE" msgstr "" -#: config/tc-arm.c:6702 +#: config/tc-arm.c:8164 msgid "if writeback register is in list, it must be the lowest reg in the list" msgstr "" -#: config/tc-arm.c:6744 config/tc-arm.c:6758 +#: config/tc-arm.c:8203 config/tc-arm.c:8217 msgid "r15 not allowed in swap" msgstr "" -#: config/tc-arm.c:6853 +#: config/tc-arm.c:8310 msgid "use of r15 in bx in ARM mode is not really useful" msgstr "" -#: config/tc-arm.c:7087 +#: config/tc-arm.c:8540 msgid "constant value required for number of registers" msgstr "" -#: config/tc-arm.c:7095 +#: config/tc-arm.c:8548 msgid "number of registers must be in the range [1:4]" msgstr "" -#: config/tc-arm.c:7156 +#: config/tc-arm.c:8609 msgid "r15 not allowed as base register with write-back" msgstr "" -#: config/tc-arm.c:7538 +#: config/tc-arm.c:8979 config/tc-arm.c:9015 msgid "only two consecutive VFP SP registers allowed here" msgstr "" -#: config/tc-arm.c:7706 +#: config/tc-arm.c:9167 msgid "VFP system register expected" msgstr "" -#: config/tc-arm.c:7844 config/tc-arm.c:7883 config/tc-arm.c:7896 -#: config/tc-arm.c:7957 config/tc-arm.c:7996 config/tc-arm.c:8009 -#: config/tc-h8300.c:1035 config/tc-mips.c:9723 config/tc-mips.c:9753 +#: config/tc-arm.c:9301 config/tc-arm.c:9340 config/tc-arm.c:9353 +#: config/tc-arm.c:9414 config/tc-arm.c:9453 config/tc-arm.c:9466 +#: config/tc-h8300.c:1009 config/tc-mips.c:9711 config/tc-mips.c:9741 msgid "invalid register list" msgstr "" -#: config/tc-arm.c:7850 config/tc-arm.c:7963 +#: config/tc-arm.c:9307 config/tc-arm.c:9420 msgid "register list not in ascending order" msgstr "" -#: config/tc-arm.c:7875 config/tc-arm.c:7988 +#: config/tc-arm.c:9332 config/tc-arm.c:9445 msgid "register range not in ascending order" msgstr "" -#: config/tc-arm.c:7913 config/tc-arm.c:8026 +#: config/tc-arm.c:9370 config/tc-arm.c:9483 msgid "non-contiguous register range" msgstr "" -#: config/tc-arm.c:8056 config/tc-arm.c:8093 +#: config/tc-arm.c:9513 config/tc-arm.c:9550 msgid "this addressing mode requires base-register writeback" msgstr "" -#: config/tc-arm.c:8253 +#: config/tc-arm.c:9706 msgid "lo register required" msgstr "" -#: config/tc-arm.c:8261 +#: config/tc-arm.c:9714 msgid "hi register required" msgstr "" -#: config/tc-arm.c:8331 config/tc-arm.c:9537 +#: config/tc-arm.c:9784 config/tc-arm.c:10988 msgid "dest and source1 must be the same register" msgstr "" -#: config/tc-arm.c:8338 +#: config/tc-arm.c:9791 msgid "subtract valid only on lo regs" msgstr "" -#: config/tc-arm.c:8362 +#: config/tc-arm.c:9815 msgid "invalid Hi register with immediate" msgstr "" -#: config/tc-arm.c:8402 +#: config/tc-arm.c:9855 msgid "invalid immediate value for stack adjust" msgstr "" -#: config/tc-arm.c:8413 +#: config/tc-arm.c:9866 msgid "invalid immediate for address calculation" msgstr "" -#: config/tc-arm.c:8500 +#: config/tc-arm.c:9953 msgid "source1 and dest must be same register" msgstr "" -#: config/tc-arm.c:8534 +#: config/tc-arm.c:9987 msgid "invalid immediate for shift" msgstr "" -#: config/tc-arm.c:8613 +#: config/tc-arm.c:10066 msgid "only lo regs allowed with immediate" msgstr "" -#: config/tc-arm.c:8632 +#: config/tc-arm.c:10085 msgid "invalid immediate" msgstr "" -#: config/tc-arm.c:8686 +#: config/tc-arm.c:10139 msgid "expected ']'" msgstr "" -#: config/tc-arm.c:8759 +#: config/tc-arm.c:10212 msgid "byte or halfword not valid for base register" msgstr "" -#: config/tc-arm.c:8764 +#: config/tc-arm.c:10217 msgid "r15 based store not allowed" msgstr "" -#: config/tc-arm.c:8769 +#: config/tc-arm.c:10222 msgid "invalid base register for register offset" msgstr "" -#: config/tc-arm.c:8787 config/tc-arm.c:8822 +#: config/tc-arm.c:10240 config/tc-arm.c:10275 msgid "invalid offset" msgstr "" -#: config/tc-arm.c:8798 +#: config/tc-arm.c:10251 msgid "invalid base register in load/store" msgstr "" -#: config/tc-arm.c:9341 +#: config/tc-arm.c:10794 msgid "expecting immediate, 7bit operand" msgstr "" -#: config/tc-arm.c:9356 +#: config/tc-arm.c:10809 msgid "immediate out of range" msgstr "" -#: config/tc-arm.c:9399 +#: config/tc-arm.c:10852 msgid "offset expected" msgstr "" -#: config/tc-arm.c:9408 config/tc-pj.c:537 config/tc-sh.c:3593 +#: config/tc-arm.c:10861 config/tc-pj.c:537 config/tc-sh.c:3892 msgid "offset out of range" msgstr "" -#: config/tc-arm.c:9545 +#: config/tc-arm.c:10996 msgid "Rs and Rd must be different in MUL" msgstr "" -#: config/tc-arm.c:9689 +#: config/tc-arm.c:11140 msgid "" "inserted missing '!': load/store multiple always writes back base register" msgstr "" -#: config/tc-arm.c:9711 +#: config/tc-arm.c:11162 msgid "only lo-regs valid in load/store multiple" msgstr "" -#: config/tc-arm.c:9757 +#: config/tc-arm.c:11208 msgid "syntax: ldrs[b] Rd, [Rb, Ro]" msgstr "" -#: config/tc-arm.c:9821 +#: config/tc-arm.c:11272 msgid "invalid register list to push/pop instruction" msgstr "" -#: config/tc-arm.c:9933 config/tc-arm.c:10159 +#: config/tc-arm.c:11383 config/tc-arm.c:11621 msgid "virtual memory exhausted" msgstr "" -#: config/tc-arm.c:10014 +#: config/tc-arm.c:11408 +#, c-format +msgid "failed to create an alias for %s, reason: %s" +msgstr "" + +#: config/tc-arm.c:11473 #, c-format msgid "register '%s' does not exist\n" msgstr "" -#: config/tc-arm.c:10018 +#: config/tc-arm.c:11477 #, c-format msgid "" "ignoring redefinition of register alias '%s' to non-existant register '%s'" msgstr "" -#: config/tc-arm.c:10027 +#: config/tc-arm.c:11486 #, c-format msgid "ignoring redefinition of register alias '%s'" msgstr "" -#: config/tc-arm.c:10033 +#: config/tc-arm.c:11492 msgid "ignoring incomplete .req pseuso op" msgstr "" -#: config/tc-arm.c:10183 +#: config/tc-arm.c:11645 msgid "use of old and new-style options to set CPU type" msgstr "" -#: config/tc-arm.c:10193 +#: config/tc-arm.c:11655 msgid "use of old and new-style options to set FPU type" msgstr "" -#: config/tc-arm.c:10473 +#: config/tc-arm.c:11711 +msgid "hard-float conflicts with specified fpu" +msgstr "" + +#: config/tc-arm.c:11949 msgid "bad call to MD_ATOF()" msgstr "" -#: config/tc-arm.c:10703 +#: config/tc-arm.c:12179 #, c-format msgid "invalid constant (%lx) after fixup" msgstr "" -#: config/tc-arm.c:10741 +#: config/tc-arm.c:12217 #, c-format msgid "unable to compute ADRL instructions for PC offset of 0x%lx" msgstr "" -#: config/tc-arm.c:10771 +#: config/tc-arm.c:12247 #, c-format msgid "bad immediate value for offset (%ld)" msgstr "" -#: config/tc-arm.c:10793 config/tc-arm.c:10815 +#: config/tc-arm.c:12269 config/tc-arm.c:12291 msgid "invalid literal constant: pool needs to be closer" msgstr "" -#: config/tc-arm.c:10795 +#: config/tc-arm.c:12271 #, c-format msgid "bad immediate value for half-word offset (%ld)" msgstr "" -#: config/tc-arm.c:10832 +#: config/tc-arm.c:12308 msgid "shift expression is too large" msgstr "" -#: config/tc-arm.c:10851 config/tc-arm.c:10860 +#: config/tc-arm.c:12327 config/tc-arm.c:12336 msgid "invalid swi expression" msgstr "" -#: config/tc-arm.c:10870 +#: config/tc-arm.c:12346 msgid "invalid expression in load/store multiple" msgstr "" -#: config/tc-arm.c:10923 +#: config/tc-arm.c:12399 msgid "GAS can't handle same-section branch dest >= 0x04000000" msgstr "" -#: config/tc-arm.c:10932 +#: config/tc-arm.c:12408 msgid "out of range branch" msgstr "" -#: config/tc-arm.c:10965 config/tc-arm.c:10981 +#: config/tc-arm.c:12441 config/tc-arm.c:12457 msgid "branch out of range" msgstr "" -#: config/tc-arm.c:11005 +#: config/tc-arm.c:12481 msgid "branch with link out of range" msgstr "" -#: config/tc-arm.c:11074 +#: config/tc-arm.c:12550 msgid "illegal value for co-processor offset" msgstr "" -#: config/tc-arm.c:11086 +#: config/tc-arm.c:12562 msgid "Illegal value for co-processor offset" msgstr "" -#: config/tc-arm.c:11110 +#: config/tc-arm.c:12586 #, c-format msgid "invalid offset, target not word aligned (0x%08X)" msgstr "" -#: config/tc-arm.c:11116 config/tc-arm.c:11126 config/tc-arm.c:11134 -#: config/tc-arm.c:11142 config/tc-arm.c:11150 +#: config/tc-arm.c:12592 config/tc-arm.c:12602 config/tc-arm.c:12610 +#: config/tc-arm.c:12618 config/tc-arm.c:12626 #, c-format msgid "invalid offset, value too big (0x%08lX)" msgstr "" -#: config/tc-arm.c:11190 +#: config/tc-arm.c:12666 msgid "invalid immediate for stack address calculation" msgstr "" -#: config/tc-arm.c:11199 +#: config/tc-arm.c:12675 #, c-format msgid "invalid immediate for address calculation (value = 0x%08lX)" msgstr "" -#: config/tc-arm.c:11209 +#: config/tc-arm.c:12685 msgid "invalid 8bit immediate" msgstr "" -#: config/tc-arm.c:11217 +#: config/tc-arm.c:12693 msgid "invalid 3bit immediate" msgstr "" -#: config/tc-arm.c:11233 +#: config/tc-arm.c:12709 #, c-format msgid "invalid immediate: %ld is too large" msgstr "" -#: config/tc-arm.c:11248 +#: config/tc-arm.c:12724 #, c-format msgid "illegal Thumb shift value: %ld" msgstr "" -#: config/tc-arm.c:11262 +#: config/tc-arm.c:12738 #, c-format msgid "bad relocation fixup type (%d)" msgstr "" -#: config/tc-arm.c:11333 +#: config/tc-arm.c:12809 msgid "literal referenced across section boundary" msgstr "" -#: config/tc-arm.c:11346 +#: config/tc-arm.c:12822 msgid "internal relocation (type: IMMEDIATE) not fixed up" msgstr "" -#: config/tc-arm.c:11351 +#: config/tc-arm.c:12827 msgid "ADRL used for a symbol not defined in the same file" msgstr "" -#: config/tc-arm.c:11356 +#: config/tc-arm.c:12836 +#, c-format +msgid "undefined local label `%s'" +msgstr "" + +#: config/tc-arm.c:12842 msgid "internal_relocation (type: OFFSET_IMM) not fixed up" msgstr "" -#: config/tc-arm.c:11374 config/tc-cris.c:3063 config/tc-mcore.c:2052 -#: config/tc-mmix.c:2867 config/tc-ns32k.c:2396 +#: config/tc-arm.c:12860 config/tc-cris.c:3063 config/tc-mcore.c:2052 +#: config/tc-mmix.c:2943 config/tc-ns32k.c:2396 msgid "" msgstr "" -#: config/tc-arm.c:11377 config/tc-arm.c:11398 +#: config/tc-arm.c:12863 config/tc-arm.c:12884 #, c-format msgid "cannot represent %s relocation in this object file format" msgstr "" -#: config/tc-arm.c:11494 +#: config/tc-arm.c:12980 #, c-format msgid "no operator -- statement `%s'\n" msgstr "" -#: config/tc-arm.c:11512 config/tc-arm.c:11537 +#: config/tc-arm.c:12998 config/tc-arm.c:13024 #, c-format msgid "selected processor does not support `%s'" msgstr "" -#: config/tc-arm.c:11554 +#: config/tc-arm.c:13042 #, c-format msgid "bad instruction `%s'" msgstr "" -#: config/tc-arm.c:11655 +#: config/tc-arm.c:13143 msgid "generate PIC code" msgstr "" -#: config/tc-arm.c:11656 +#: config/tc-arm.c:13144 msgid "assemble Thumb code" msgstr "" -#: config/tc-arm.c:11657 +#: config/tc-arm.c:13145 msgid "support ARM/Thumb interworking" msgstr "" -#: config/tc-arm.c:11659 +#: config/tc-arm.c:13147 msgid "use old ABI (ELF only)" msgstr "" -#: config/tc-arm.c:11660 +#: config/tc-arm.c:13148 msgid "code uses 32-bit program counter" msgstr "" -#: config/tc-arm.c:11661 +#: config/tc-arm.c:13149 msgid "code uses 26-bit program counter" msgstr "" -#: config/tc-arm.c:11662 +#: config/tc-arm.c:13150 msgid "floating point args are in fp regs" msgstr "" -#: config/tc-arm.c:11664 +#: config/tc-arm.c:13152 msgid "re-entrant code" msgstr "" -#: config/tc-arm.c:11665 +#: config/tc-arm.c:13153 msgid "code is ATPCS conformant" msgstr "" -#: config/tc-arm.c:11666 +#: config/tc-arm.c:13154 msgid "assemble for big-endian" msgstr "" -#: config/tc-arm.c:11667 +#: config/tc-arm.c:13155 msgid "assemble for little-endian" msgstr "" #. These are recognized by the assembler, but have no affect on code. -#: config/tc-arm.c:11671 +#: config/tc-arm.c:13159 msgid "use frame pointer" msgstr "" -#: config/tc-arm.c:11672 +#: config/tc-arm.c:13160 msgid "use stack size checking" msgstr "" #. DON'T add any new processors to this list -- we want the whole list #. to go away... Add them to the processors table instead. -#: config/tc-arm.c:11676 config/tc-arm.c:11677 +#: config/tc-arm.c:13164 config/tc-arm.c:13165 msgid "use -mcpu=arm1" msgstr "" -#: config/tc-arm.c:11678 config/tc-arm.c:11679 +#: config/tc-arm.c:13166 config/tc-arm.c:13167 msgid "use -mcpu=arm2" msgstr "" -#: config/tc-arm.c:11680 config/tc-arm.c:11681 +#: config/tc-arm.c:13168 config/tc-arm.c:13169 msgid "use -mcpu=arm250" msgstr "" -#: config/tc-arm.c:11682 config/tc-arm.c:11683 +#: config/tc-arm.c:13170 config/tc-arm.c:13171 msgid "use -mcpu=arm3" msgstr "" -#: config/tc-arm.c:11684 config/tc-arm.c:11685 +#: config/tc-arm.c:13172 config/tc-arm.c:13173 msgid "use -mcpu=arm6" msgstr "" -#: config/tc-arm.c:11686 config/tc-arm.c:11687 +#: config/tc-arm.c:13174 config/tc-arm.c:13175 msgid "use -mcpu=arm600" msgstr "" -#: config/tc-arm.c:11688 config/tc-arm.c:11689 +#: config/tc-arm.c:13176 config/tc-arm.c:13177 msgid "use -mcpu=arm610" msgstr "" -#: config/tc-arm.c:11690 config/tc-arm.c:11691 +#: config/tc-arm.c:13178 config/tc-arm.c:13179 msgid "use -mcpu=arm620" msgstr "" -#: config/tc-arm.c:11692 config/tc-arm.c:11693 +#: config/tc-arm.c:13180 config/tc-arm.c:13181 msgid "use -mcpu=arm7" msgstr "" -#: config/tc-arm.c:11694 config/tc-arm.c:11695 +#: config/tc-arm.c:13182 config/tc-arm.c:13183 msgid "use -mcpu=arm70" msgstr "" -#: config/tc-arm.c:11696 config/tc-arm.c:11697 +#: config/tc-arm.c:13184 config/tc-arm.c:13185 msgid "use -mcpu=arm700" msgstr "" -#: config/tc-arm.c:11698 config/tc-arm.c:11699 +#: config/tc-arm.c:13186 config/tc-arm.c:13187 msgid "use -mcpu=arm700i" msgstr "" -#: config/tc-arm.c:11700 config/tc-arm.c:11701 +#: config/tc-arm.c:13188 config/tc-arm.c:13189 msgid "use -mcpu=arm710" msgstr "" -#: config/tc-arm.c:11702 config/tc-arm.c:11703 +#: config/tc-arm.c:13190 config/tc-arm.c:13191 msgid "use -mcpu=arm710c" msgstr "" -#: config/tc-arm.c:11704 config/tc-arm.c:11705 +#: config/tc-arm.c:13192 config/tc-arm.c:13193 msgid "use -mcpu=arm720" msgstr "" -#: config/tc-arm.c:11706 config/tc-arm.c:11707 +#: config/tc-arm.c:13194 config/tc-arm.c:13195 msgid "use -mcpu=arm7d" msgstr "" -#: config/tc-arm.c:11708 config/tc-arm.c:11709 +#: config/tc-arm.c:13196 config/tc-arm.c:13197 msgid "use -mcpu=arm7di" msgstr "" -#: config/tc-arm.c:11710 config/tc-arm.c:11711 +#: config/tc-arm.c:13198 config/tc-arm.c:13199 msgid "use -mcpu=arm7m" msgstr "" -#: config/tc-arm.c:11712 config/tc-arm.c:11713 +#: config/tc-arm.c:13200 config/tc-arm.c:13201 msgid "use -mcpu=arm7dm" msgstr "" -#: config/tc-arm.c:11714 config/tc-arm.c:11715 +#: config/tc-arm.c:13202 config/tc-arm.c:13203 msgid "use -mcpu=arm7dmi" msgstr "" -#: config/tc-arm.c:11716 config/tc-arm.c:11717 +#: config/tc-arm.c:13204 config/tc-arm.c:13205 msgid "use -mcpu=arm7100" msgstr "" -#: config/tc-arm.c:11718 config/tc-arm.c:11719 +#: config/tc-arm.c:13206 config/tc-arm.c:13207 msgid "use -mcpu=arm7500" msgstr "" -#: config/tc-arm.c:11720 config/tc-arm.c:11721 +#: config/tc-arm.c:13208 config/tc-arm.c:13209 msgid "use -mcpu=arm7500fe" msgstr "" -#: config/tc-arm.c:11722 config/tc-arm.c:11723 config/tc-arm.c:11724 -#: config/tc-arm.c:11725 +#: config/tc-arm.c:13210 config/tc-arm.c:13211 config/tc-arm.c:13212 +#: config/tc-arm.c:13213 msgid "use -mcpu=arm7tdmi" msgstr "" -#: config/tc-arm.c:11726 config/tc-arm.c:11727 +#: config/tc-arm.c:13214 config/tc-arm.c:13215 msgid "use -mcpu=arm710t" msgstr "" -#: config/tc-arm.c:11728 config/tc-arm.c:11729 +#: config/tc-arm.c:13216 config/tc-arm.c:13217 msgid "use -mcpu=arm720t" msgstr "" -#: config/tc-arm.c:11730 config/tc-arm.c:11731 +#: config/tc-arm.c:13218 config/tc-arm.c:13219 msgid "use -mcpu=arm740t" msgstr "" -#: config/tc-arm.c:11732 config/tc-arm.c:11733 +#: config/tc-arm.c:13220 config/tc-arm.c:13221 msgid "use -mcpu=arm8" msgstr "" -#: config/tc-arm.c:11734 config/tc-arm.c:11735 +#: config/tc-arm.c:13222 config/tc-arm.c:13223 msgid "use -mcpu=arm810" msgstr "" -#: config/tc-arm.c:11736 config/tc-arm.c:11737 +#: config/tc-arm.c:13224 config/tc-arm.c:13225 msgid "use -mcpu=arm9" msgstr "" -#: config/tc-arm.c:11738 config/tc-arm.c:11739 +#: config/tc-arm.c:13226 config/tc-arm.c:13227 msgid "use -mcpu=arm9tdmi" msgstr "" -#: config/tc-arm.c:11740 config/tc-arm.c:11741 +#: config/tc-arm.c:13228 config/tc-arm.c:13229 msgid "use -mcpu=arm920" msgstr "" -#: config/tc-arm.c:11742 config/tc-arm.c:11743 +#: config/tc-arm.c:13230 config/tc-arm.c:13231 msgid "use -mcpu=arm940" msgstr "" -#: config/tc-arm.c:11744 +#: config/tc-arm.c:13232 msgid "use -mcpu=strongarm" msgstr "" -#: config/tc-arm.c:11746 +#: config/tc-arm.c:13234 msgid "use -mcpu=strongarm110" msgstr "" -#: config/tc-arm.c:11748 +#: config/tc-arm.c:13236 msgid "use -mcpu=strongarm1100" msgstr "" -#: config/tc-arm.c:11750 +#: config/tc-arm.c:13238 msgid "use -mcpu=strongarm1110" msgstr "" -#: config/tc-arm.c:11751 +#: config/tc-arm.c:13239 msgid "use -mcpu=xscale" msgstr "" -#: config/tc-arm.c:11752 +#: config/tc-arm.c:13240 msgid "use -mcpu=iwmmxt" msgstr "" -#: config/tc-arm.c:11753 +#: config/tc-arm.c:13241 msgid "use -mcpu=all" msgstr "" #. Architecture variants -- don't add any more to this list either. -#: config/tc-arm.c:11756 config/tc-arm.c:11757 +#: config/tc-arm.c:13244 config/tc-arm.c:13245 msgid "use -march=armv2" msgstr "" -#: config/tc-arm.c:11758 config/tc-arm.c:11759 +#: config/tc-arm.c:13246 config/tc-arm.c:13247 msgid "use -march=armv2a" msgstr "" -#: config/tc-arm.c:11760 config/tc-arm.c:11761 +#: config/tc-arm.c:13248 config/tc-arm.c:13249 msgid "use -march=armv3" msgstr "" -#: config/tc-arm.c:11762 config/tc-arm.c:11763 +#: config/tc-arm.c:13250 config/tc-arm.c:13251 msgid "use -march=armv3m" msgstr "" -#: config/tc-arm.c:11764 config/tc-arm.c:11765 +#: config/tc-arm.c:13252 config/tc-arm.c:13253 msgid "use -march=armv4" msgstr "" -#: config/tc-arm.c:11766 config/tc-arm.c:11767 +#: config/tc-arm.c:13254 config/tc-arm.c:13255 msgid "use -march=armv4t" msgstr "" -#: config/tc-arm.c:11768 config/tc-arm.c:11769 +#: config/tc-arm.c:13256 config/tc-arm.c:13257 msgid "use -march=armv5" msgstr "" -#: config/tc-arm.c:11770 config/tc-arm.c:11771 +#: config/tc-arm.c:13258 config/tc-arm.c:13259 msgid "use -march=armv5t" msgstr "" -#: config/tc-arm.c:11772 config/tc-arm.c:11773 +#: config/tc-arm.c:13260 config/tc-arm.c:13261 msgid "use -march=armv5te" msgstr "" #. Floating point variants -- don't add any more to this list either. -#: config/tc-arm.c:11776 +#: config/tc-arm.c:13264 msgid "use -mfpu=fpe" msgstr "" -#: config/tc-arm.c:11777 +#: config/tc-arm.c:13265 msgid "use -mfpu=fpa10" msgstr "" -#: config/tc-arm.c:11778 +#: config/tc-arm.c:13266 msgid "use -mfpu=fpa11" msgstr "" -#: config/tc-arm.c:11780 +#: config/tc-arm.c:13268 msgid "use either -mfpu=softfpa or -mfpu=softvfp" msgstr "" -#: config/tc-arm.c:11963 +#: config/tc-arm.c:13474 msgid "invalid architectural extension" msgstr "" -#: config/tc-arm.c:11977 +#: config/tc-arm.c:13488 msgid "missing architectural extension" msgstr "" -#: config/tc-arm.c:11990 +#: config/tc-arm.c:13501 #, c-format msgid "unknown architectural extnsion `%s'" msgstr "" -#: config/tc-arm.c:12015 +#: config/tc-arm.c:13526 #, c-format msgid "missing cpu name `%s'" msgstr "" -#: config/tc-arm.c:12031 +#: config/tc-arm.c:13542 #, c-format msgid "unknown cpu `%s'" msgstr "" -#: config/tc-arm.c:12050 +#: config/tc-arm.c:13561 #, c-format msgid "missing architecture name `%s'" msgstr "" -#: config/tc-arm.c:12067 +#: config/tc-arm.c:13578 #, c-format msgid "unknown architecture `%s'\n" msgstr "" -#: config/tc-arm.c:12084 +#: config/tc-arm.c:13595 #, c-format msgid "unknown floating point format `%s'\n" msgstr "" -#: config/tc-arm.c:12090 +#: config/tc-arm.c:13612 +#, c-format +msgid "unknown floating point abi `%s'\n" +msgstr "" + +#: config/tc-arm.c:13618 msgid "\t assemble for CPU " msgstr "" -#: config/tc-arm.c:12092 +#: config/tc-arm.c:13620 msgid "\t assemble for architecture " msgstr "" -#: config/tc-arm.c:12094 +#: config/tc-arm.c:13622 msgid "\t assemble for FPU architecture " msgstr "" -#: config/tc-arm.c:12136 config/tc-arm.c:12158 +#: config/tc-arm.c:13624 +msgid "\t assemble for floating point ABI " +msgstr "" + +#: config/tc-arm.c:13666 config/tc-arm.c:13688 #, c-format msgid "option `-%c%s' is deprecated: %s" msgstr "" -#: config/tc-arm.c:12167 +#: config/tc-arm.c:13697 #, c-format msgid "unrecognized option `-%c%s'" msgstr "" -#: config/tc-arm.c:12181 +#: config/tc-arm.c:13711 +#, c-format msgid " ARM-specific assembler options:\n" msgstr "" -#: config/tc-arm.c:12192 +#: config/tc-arm.c:13722 +#, c-format msgid " -EB assemble code for a big-endian cpu\n" msgstr "" -#: config/tc-arm.c:12197 +#: config/tc-arm.c:13727 +#, c-format msgid " -EL assemble code for a little-endian cpu\n" msgstr "" -#: config/tc-arm.c:12381 +#: config/tc-arm.c:13909 #, c-format msgid "%s: unexpected function type: %d" msgstr "" -#: config/tc-arm.c:12756 +#: config/tc-arm.c:14285 msgid "alignments greater than 32 bytes not supported in .text sections." msgstr "" -#: config/tc-arm.h:98 +#: config/tc-arm.h:101 msgid "arm convert_frag\n" msgstr "" #: config/tc-avr.c:203 +#, c-format msgid "Known MCU names:" msgstr "" #: config/tc-avr.c:272 +#, c-format msgid "" "AVR options:\n" " -mmcu=[avr-name] select microcontroller variant\n" @@ -2667,6 +2811,7 @@ msgid "" msgstr "" #: config/tc-avr.c:282 +#, c-format msgid "" " -mall-opcodes accept all AVR opcodes, even if not supported by MCU\n" " -mno-skip-bug disable warnings for skipping two-word instructions\n" @@ -2675,7 +2820,7 @@ msgid "" " (default for avr3, avr5)\n" msgstr "" -#: config/tc-avr.c:330 config/tc-msp430.c:257 +#: config/tc-avr.c:330 config/tc-msp430.c:272 #, c-format msgid "unknown MCU: %s\n" msgstr "" @@ -2686,9 +2831,9 @@ msgid "redefinition of mcu type `%s' to msgstr "" #: config/tc-avr.c:390 config/tc-d10v.c:319 config/tc-d30v.c:365 -#: config/tc-mips.c:10137 config/tc-mmix.c:2246 config/tc-mn10200.c:361 -#: config/tc-msp430.c:378 config/tc-pj.c:374 config/tc-ppc.c:5105 -#: config/tc-sh.c:2528 config/tc-v850.c:1244 +#: config/tc-mips.c:10125 config/tc-mmix.c:2310 config/tc-mn10200.c:361 +#: config/tc-msp430.c:393 config/tc-pj.c:374 config/tc-ppc.c:5191 +#: config/tc-sh.c:2821 config/tc-v850.c:1253 msgid "bad call to md_atof" msgstr "" @@ -2763,20 +2908,20 @@ msgid "unknown constraint `%c'" msgstr "" #: config/tc-avr.c:881 config/tc-avr.c:897 config/tc-avr.c:998 -#: config/tc-msp430.c:1431 config/tc-msp430.c:1448 +#: config/tc-msp430.c:1437 config/tc-msp430.c:1454 #, c-format msgid "odd address operand: %ld" msgstr "" #: config/tc-avr.c:889 config/tc-avr.c:908 config/tc-d10v.c:586 -#: config/tc-d30v.c:655 config/tc-msp430.c:1439 config/tc-msp430.c:1453 -#: config/tc-msp430.c:1463 +#: config/tc-d30v.c:655 config/tc-msp430.c:1445 config/tc-msp430.c:1459 +#: config/tc-msp430.c:1469 #, c-format msgid "operand out of range: %ld" msgstr "" #: config/tc-avr.c:1007 config/tc-d10v.c:1793 config/tc-d30v.c:1973 -#: config/tc-msp430.c:1481 +#: config/tc-msp430.c:1487 #, c-format msgid "line %d: unknown relocation type: 0x%x" msgstr "" @@ -2786,16 +2931,16 @@ msgid "only constant expression allowed" msgstr "" #: config/tc-avr.c:1057 config/tc-d10v.c:1659 config/tc-d30v.c:1806 -#: config/tc-mn10200.c:1255 config/tc-mn10300.c:2303 config/tc-msp430.c:1520 -#: config/tc-or32.c:1618 config/tc-ppc.c:5919 config/tc-v850.c:2263 +#: config/tc-mn10200.c:1255 config/tc-mn10300.c:2303 config/tc-msp430.c:1525 +#: config/tc-or32.c:1618 config/tc-ppc.c:6014 config/tc-v850.c:2280 #, c-format msgid "reloc %d not supported by object file format" msgstr "" #: config/tc-avr.c:1081 config/tc-d10v.c:1248 config/tc-d10v.c:1262 -#: config/tc-h8300.c:1915 config/tc-h8500.c:1106 config/tc-mcore.c:938 -#: config/tc-msp430.c:438 config/tc-pj.c:283 config/tc-sh.c:2096 -#: config/tc-z8k.c:1238 +#: config/tc-h8300.c:1895 config/tc-h8500.c:1106 config/tc-mcore.c:938 +#: config/tc-msp430.c:453 config/tc-pj.c:283 config/tc-sh.c:2275 +#: config/tc-z8k.c:1204 msgid "can't find opcode " msgstr "" @@ -2808,7 +2953,7 @@ msgstr "" msgid "garbage at end of line" msgstr "" -#: config/tc-avr.c:1170 read.c:3226 +#: config/tc-avr.c:1170 read.c:3100 msgid "illegal expression" msgstr "" @@ -2830,17 +2975,17 @@ msgstr "" msgid "illegal %srelocation size: %d" msgstr "" -#: config/tc-cris.c:386 config/tc-m68hc11.c:2831 +#: config/tc-cris.c:386 config/tc-m68hc11.c:2793 #, c-format msgid "internal inconsistency problem in %s: fr_symbol %lx" msgstr "" -#: config/tc-cris.c:390 config/tc-m68hc11.c:2835 +#: config/tc-cris.c:390 config/tc-m68hc11.c:2797 #, c-format msgid "internal inconsistency problem in %s: resolved symbol" msgstr "" -#: config/tc-cris.c:396 config/tc-m68hc11.c:2841 +#: config/tc-cris.c:396 config/tc-m68hc11.c:2803 #, c-format msgid "internal inconsistency problem in %s: fr_subtype %d" msgstr "" @@ -2968,6 +3113,7 @@ msgid "Value not in 6 bit unsigned range msgstr "" #: config/tc-cris.c:2924 +#, c-format msgid "Please use --help to see usage and options for this assembler.\n" msgstr "" @@ -2988,6 +3134,7 @@ msgstr "" #. The messages are formatted to line up with the generic options. #: config/tc-cris.c:3078 +#, c-format msgid "CRIS-specific options:\n" msgstr "" @@ -3058,6 +3205,7 @@ msgid "Pseudodirective .loc is only vali msgstr "" #: config/tc-d10v.c:252 +#, c-format msgid "" "D10V options:\n" "-O Optimize. Will do some operations in parallel.\n" @@ -3068,8 +3216,8 @@ msgid "" msgstr "" #: config/tc-d10v.c:543 config/tc-d30v.c:549 config/tc-mn10200.c:937 -#: config/tc-mn10300.c:1812 config/tc-ppc.c:2332 config/tc-s390.c:1234 -#: config/tc-tic80.c:275 config/tc-v850.c:2021 +#: config/tc-mn10300.c:1812 config/tc-ppc.c:2369 config/tc-s390.c:1234 +#: config/tc-tic80.c:275 config/tc-v850.c:2038 msgid "illegal operand" msgstr "" @@ -3169,7 +3317,7 @@ msgstr "" msgid "bad opcode or operands" msgstr "" -#: config/tc-d10v.c:1503 config/tc-m68k.c:4305 +#: config/tc-d10v.c:1503 config/tc-m68k.c:4475 msgid "value out of range" msgstr "" @@ -3201,6 +3349,7 @@ msgid "Register name %s conflicts with s msgstr "" #: config/tc-d30v.c:287 +#, c-format msgid "" "\n" "D30V options:\n" @@ -3332,7 +3481,7 @@ msgstr "" msgid "value too large to fit in %d bits" msgstr "" -#: config/tc-d30v.c:2196 +#: config/tc-d30v.c:2194 #, c-format msgid "Alignment too large: %d assumed" msgstr "" @@ -3345,48 +3494,49 @@ msgstr "" msgid ".endfunc missing for previous .proc" msgstr "" -#: config/tc-dlx.c:498 +#: config/tc-dlx.c:497 #, c-format msgid "Expression Error for operand modifier %%hi/%%lo\n" msgstr "" -#: config/tc-dlx.c:552 +#: config/tc-dlx.c:551 #, c-format msgid "Bad operand for a load instruction: <%s>" msgstr "" -#: config/tc-dlx.c:667 +#: config/tc-dlx.c:666 #, c-format msgid "Bad operand for a store instruction: <%s>" msgstr "" -#: config/tc-dlx.c:865 +#: config/tc-dlx.c:864 msgid "Can not set dlx_skip_hi16_flag" msgstr "" -#: config/tc-dlx.c:879 +#: config/tc-dlx.c:878 #, c-format msgid "Missing arguments for opcode <%s>." msgstr "" -#: config/tc-dlx.c:950 +#: config/tc-dlx.c:949 #, c-format msgid "Both the_insn.HI and the_insn.LO are set : %s" msgstr "" -#: config/tc-dlx.c:1022 +#: config/tc-dlx.c:1021 msgid "failed regnum sanity check." msgstr "" -#: config/tc-dlx.c:1035 +#: config/tc-dlx.c:1034 msgid "failed general register sanity check." msgstr "" -#: config/tc-dlx.c:1324 +#: config/tc-dlx.c:1321 msgid "Invalid expression after # number\n" msgstr "" #: config/tc-fr30.c:85 +#, c-format msgid " FR30 specific command line options:\n" msgstr "" @@ -3395,282 +3545,317 @@ msgstr "" msgid "Instruction %s not allowed in a delay slot." msgstr "" -#: config/tc-fr30.c:383 config/tc-m32r.c:1576 +#: config/tc-fr30.c:383 config/tc-m32r.c:1850 msgid "Addend to unresolved symbol not on word boundary." msgstr "" -#: config/tc-fr30.c:524 config/tc-frv.c:1289 config/tc-i960.c:798 -#: config/tc-ip2k.c:351 config/tc-m32r.c:1884 config/tc-openrisc.c:452 +#: config/tc-fr30.c:524 config/tc-frv.c:1478 config/tc-i960.c:798 +#: config/tc-ip2k.c:350 config/tc-m32r.c:2166 config/tc-openrisc.c:452 #: config/tc-xstormy16.c:636 msgid "Bad call to md_atof()" msgstr "" -#: config/tc-frv.c:413 +#: config/tc-frv.c:447 +#, c-format msgid "FRV specific command line options:\n" msgstr "" -#: config/tc-frv.c:414 +#: config/tc-frv.c:448 +#, c-format msgid "-G n Data >= n bytes is in small data area\n" msgstr "" -#: config/tc-frv.c:415 +#: config/tc-frv.c:449 +#, c-format msgid "-mgpr-32 Note 32 gprs are used\n" msgstr "" -#: config/tc-frv.c:416 +#: config/tc-frv.c:450 +#, c-format msgid "-mgpr-64 Note 64 gprs are used\n" msgstr "" -#: config/tc-frv.c:417 +#: config/tc-frv.c:451 +#, c-format msgid "-mfpr-32 Note 32 fprs are used\n" msgstr "" -#: config/tc-frv.c:418 +#: config/tc-frv.c:452 +#, c-format msgid "-mfpr-64 Note 64 fprs are used\n" msgstr "" -#: config/tc-frv.c:419 +#: config/tc-frv.c:453 +#, c-format msgid "-msoft-float Note software fp is used\n" msgstr "" -#: config/tc-frv.c:420 +#: config/tc-frv.c:454 +#, c-format msgid "-mdword Note stack is aligned to a 8 byte boundary\n" msgstr "" -#: config/tc-frv.c:421 +#: config/tc-frv.c:455 +#, c-format msgid "-mno-dword Note stack is aligned to a 4 byte boundary\n" msgstr "" -#: config/tc-frv.c:422 +#: config/tc-frv.c:456 +#, c-format msgid "-mdouble Note fp double insns are used\n" msgstr "" -#: config/tc-frv.c:423 +#: config/tc-frv.c:457 +#, c-format msgid "-mmedia Note media insns are used\n" msgstr "" -#: config/tc-frv.c:424 +#: config/tc-frv.c:458 +#, c-format msgid "-mmuladd Note multiply add/subtract insns are used\n" msgstr "" -#: config/tc-frv.c:425 +#: config/tc-frv.c:459 +#, c-format msgid "-mpack Note instructions are packed\n" msgstr "" -#: config/tc-frv.c:426 +#: config/tc-frv.c:460 +#, c-format msgid "-mno-pack Do not allow instructions to be packed\n" msgstr "" -#: config/tc-frv.c:427 +#: config/tc-frv.c:461 +#, c-format msgid "-mpic Note small position independent code\n" msgstr "" -#: config/tc-frv.c:428 +#: config/tc-frv.c:462 +#, c-format msgid "-mPIC Note large position independent code\n" msgstr "" -#: config/tc-frv.c:429 +#: config/tc-frv.c:463 +#, c-format msgid "-mlibrary-pic Compile library for large position indepedent code\n" msgstr "" -#: config/tc-frv.c:430 -msgid "-mcpu={fr500|fr400|fr300|frv|simple|tomcat}\n" +#: config/tc-frv.c:464 +#, c-format +msgid "-mcpu={fr500|fr550|fr400|fr405|fr450|fr300|frv|simple|tomcat}\n" msgstr "" -#: config/tc-frv.c:431 +#: config/tc-frv.c:465 +#, c-format msgid " Record the cpu type\n" msgstr "" -#: config/tc-frv.c:432 +#: config/tc-frv.c:466 +#, c-format msgid "-mtomcat-stats Print out stats for tomcat workarounds\n" msgstr "" -#: config/tc-frv.c:433 +#: config/tc-frv.c:467 +#, c-format msgid "-mtomcat-debug Debug tomcat workarounds\n" msgstr "" -#: config/tc-frv.c:1012 +#: config/tc-frv.c:1165 msgid "VLIW packing used for -mno-pack" msgstr "" -#: config/tc-frv.c:1025 +#: config/tc-frv.c:1175 +msgid "Instruction not supported by this architecture" +msgstr "" + +#: config/tc-frv.c:1185 msgid "VLIW packing constraint violation" msgstr "" -#: config/tc-frv.c:1540 +#: config/tc-frv.c:1742 #, c-format msgid "Relocation %s is not safe for %s" msgstr "" -#: config/tc-h8300.c:84 config/tc-h8300.c:96 config/tc-h8300.c:109 -#: config/tc-h8300.c:122 config/tc-h8300.c:135 config/tc-h8300.c:149 -#: config/tc-h8300.c:222 config/tc-hppa.c:1423 config/tc-hppa.c:6909 -#: config/tc-hppa.c:6915 config/tc-hppa.c:6921 config/tc-hppa.c:6927 +#: config/tc-h8300.c:82 config/tc-h8300.c:93 config/tc-h8300.c:105 +#: config/tc-h8300.c:117 config/tc-h8300.c:129 config/tc-h8300.c:142 +#: config/tc-h8300.c:213 config/tc-hppa.c:1436 config/tc-hppa.c:6920 +#: config/tc-hppa.c:6926 config/tc-hppa.c:6932 config/tc-hppa.c:6938 #: config/tc-mn10300.c:1218 config/tc-mn10300.c:1223 config/tc-mn10300.c:2722 msgid "could not set architecture and machine" msgstr "" -#: config/tc-h8300.c:436 config/tc-h8300.c:444 +#: config/tc-h8300.c:416 config/tc-h8300.c:424 msgid "Reg not valid for H8/300" msgstr "" -#: config/tc-h8300.c:529 +#: config/tc-h8300.c:505 msgid "invalid operand size requested" msgstr "" -#: config/tc-h8300.c:626 config/tc-h8300.c:629 +#: config/tc-h8300.c:604 msgid "Invalid register list for ldm/stm\n" msgstr "" -#: config/tc-h8300.c:632 -msgid "Invalid register list for ldm/stm)\n" -msgstr "" - -#: config/tc-h8300.c:658 config/tc-h8300.c:663 config/tc-h8300.c:670 +#: config/tc-h8300.c:630 config/tc-h8300.c:635 config/tc-h8300.c:642 msgid "mismatch between register and suffix" msgstr "" -#: config/tc-h8300.c:697 +#: config/tc-h8300.c:669 msgid "address too high for vector table jmp/jsr" msgstr "" -#: config/tc-h8300.c:722 config/tc-h8300.c:832 config/tc-h8300.c:840 +#: config/tc-h8300.c:696 config/tc-h8300.c:808 config/tc-h8300.c:818 msgid "Wrong size pointer register for architecture." msgstr "" -#: config/tc-h8300.c:781 config/tc-h8300.c:789 config/tc-h8300.c:818 +#: config/tc-h8300.c:755 config/tc-h8300.c:763 config/tc-h8300.c:792 msgid "expected @(exp, reg16)" msgstr "" -#: config/tc-h8300.c:807 +#: config/tc-h8300.c:781 msgid "expected .L, .W or .B for register in indexed addressing mode" msgstr "" -#: config/tc-h8300.c:1000 +#: config/tc-h8300.c:975 msgid "expected valid addressing mode for mova: \"@(disp, ea.sz),ERn\"" msgstr "" -#: config/tc-h8300.c:1018 config/tc-h8300.c:1027 +#: config/tc-h8300.c:992 config/tc-h8300.c:1001 msgid "expected register" msgstr "" -#: config/tc-h8300.c:1043 +#: config/tc-h8300.c:1017 msgid "expected closing paren" msgstr "" -#: config/tc-h8300.c:1104 +#: config/tc-h8300.c:1076 #, c-format msgid "can't use high part of register in operand %d" msgstr "" -#: config/tc-h8300.c:1268 +#: config/tc-h8300.c:1242 #, c-format msgid "Opcode `%s' with these operand types not available in %s mode" msgstr "" -#: config/tc-h8300.c:1277 +#: config/tc-h8300.c:1251 msgid "mismatch between opcode size and operand size" msgstr "" -#: config/tc-h8300.c:1316 +#: config/tc-h8300.c:1287 #, c-format msgid "operand %s0x%lx out of range." msgstr "" -#: config/tc-h8300.c:1415 +#: config/tc-h8300.c:1383 msgid "Can't work out size of operand.\n" msgstr "" -#: config/tc-h8300.c:1466 +#: config/tc-h8300.c:1432 #, c-format msgid "Opcode `%s' with these operand types not available in H8/300 mode" msgstr "" -#: config/tc-h8300.c:1471 +#: config/tc-h8300.c:1437 #, c-format msgid "Opcode `%s' with these operand types not available in H8/300H mode" msgstr "" -#: config/tc-h8300.c:1477 +#: config/tc-h8300.c:1443 #, c-format msgid "Opcode `%s' with these operand types not available in H8/300S mode" msgstr "" -#: config/tc-h8300.c:1538 config/tc-h8300.c:1558 +#: config/tc-h8300.c:1504 config/tc-h8300.c:1524 msgid "Need #1 or #2 here" msgstr "" -#: config/tc-h8300.c:1553 +#: config/tc-h8300.c:1519 msgid "#4 not valid on H8/300." msgstr "" -#: config/tc-h8300.c:1645 config/tc-h8300.c:1727 +#: config/tc-h8300.c:1625 config/tc-h8300.c:1707 #, c-format msgid "branch operand has odd offset (%lx)\n" msgstr "" -#: config/tc-h8300.c:1766 +#: config/tc-h8300.c:1745 msgid "destination operand must be 16 bit register" msgstr "" -#: config/tc-h8300.c:1775 +#: config/tc-h8300.c:1754 msgid "source operand must be 8 bit register" msgstr "" -#: config/tc-h8300.c:1783 +#: config/tc-h8300.c:1762 msgid "destination operand must be 16bit absolute address" msgstr "" -#: config/tc-h8300.c:1790 +#: config/tc-h8300.c:1769 msgid "destination operand must be 8 bit register" msgstr "" -#: config/tc-h8300.c:1798 +#: config/tc-h8300.c:1777 msgid "source operand must be 16bit absolute address" msgstr "" #. This seems more sane than saying "too many operands". We'll #. get here only if the trailing trash starts with a comma. -#: config/tc-h8300.c:1806 config/tc-mmix.c:454 config/tc-mmix.c:466 -#: config/tc-mmix.c:2502 config/tc-mmix.c:2526 config/tc-mmix.c:2802 +#. Types or values of args don't match. +#: config/tc-h8300.c:1785 config/tc-mmix.c:499 config/tc-mmix.c:511 +#: config/tc-mmix.c:2577 config/tc-mmix.c:2601 config/tc-mmix.c:2878 #: config/tc-or32.c:640 config/tc-or32.c:854 msgid "invalid operands" msgstr "" -#: config/tc-h8300.c:1839 +#: config/tc-h8300.c:1816 msgid "operand/size mis-match" msgstr "" -#: config/tc-h8300.c:1926 config/tc-h8500.c:1112 config/tc-mips.c:9302 -#: config/tc-sh.c:2363 config/tc-sh64.c:2837 config/tc-w65.c:691 -#: config/tc-z8k.c:1248 +#: config/tc-h8300.c:1912 config/tc-h8500.c:1112 config/tc-mips.c:9289 +#: config/tc-sh64.c:2784 config/tc-sh.c:2655 config/tc-w65.c:691 +#: config/tc-z8k.c:1214 msgid "unknown opcode" msgstr "" -#: config/tc-h8300.c:2031 config/tc-h8500.c:1139 config/tc-sh.c:2483 -#: config/tc-z8k.c:1304 +#: config/tc-h8300.c:1945 +msgid "invalid operand in ldm" +msgstr "" + +#: config/tc-h8300.c:1954 +msgid "invalid operand in stm" +msgstr "" + +#: config/tc-h8300.c:2037 config/tc-h8500.c:1139 config/tc-sh.c:2780 +#: config/tc-z8k.c:1269 +#, c-format msgid "call to tc_crawl_symbol_chain \n" msgstr "" -#: config/tc-h8300.c:2047 config/tc-h8500.c:1153 config/tc-sh.c:2490 -#: config/tc-z8k.c:1320 +#: config/tc-h8300.c:2051 config/tc-h8500.c:1153 config/tc-sh.c:2786 +#: config/tc-z8k.c:1283 +#, c-format msgid "call to tc_headers_hook \n" msgstr "" -#: config/tc-h8300.c:2140 +#: config/tc-h8300.c:2138 +#, c-format msgid "call to tc_aout_fix_to_chars \n" msgstr "" -#: config/tc-h8300.c:2154 +#: config/tc-h8300.c:2152 +#, c-format msgid "call to md_convert_frag \n" msgstr "" -#: config/tc-h8300.c:2216 +#: config/tc-h8300.c:2206 +#, c-format msgid "call tomd_estimate_size_before_relax \n" msgstr "" -#: config/tc-h8300.c:2337 config/tc-mcore.c:2355 config/tc-pj.c:581 -#: config/tc-sh.c:3956 +#: config/tc-h8300.c:2317 config/tc-mcore.c:2355 config/tc-pj.c:581 +#: config/tc-sh.c:4240 #, c-format msgid "Cannot represent relocation type %s" msgstr "" @@ -3703,7 +3888,7 @@ msgstr "" msgid "@Rn needs word register" msgstr "" -#: config/tc-h8500.c:838 config/tc-sh.c:1827 +#: config/tc-h8500.c:838 config/tc-sh.c:2013 #, c-format msgid "unhandled %d\n" msgstr "" @@ -3713,597 +3898,601 @@ msgstr "" msgid "operand must be absolute in range %d..%d" msgstr "" -#: config/tc-h8500.c:963 config/tc-sh.c:2036 +#: config/tc-h8500.c:963 config/tc-sh.c:2216 #, c-format msgid "failed for %d\n" msgstr "" -#: config/tc-h8500.c:1128 config/tc-sh.c:2138 config/tc-sh.c:2412 +#: config/tc-h8500.c:1128 config/tc-sh.c:2316 config/tc-sh.c:2711 #: config/tc-w65.c:710 msgid "invalid operands for opcode" msgstr "" -#. Simple range checking for FIELD againt HIGH and LOW bounds. +#. Simple range checking for FIELD against HIGH and LOW bounds. #. IGNORE is used to suppress the error message. -#: config/tc-hppa.c:1156 config/tc-hppa.c:1170 +#. Variant of CHECK_FIELD for use in md_apply_fix3 and other places where +#. the current file and line number are not valid. +#: config/tc-hppa.c:1169 config/tc-hppa.c:1183 #, c-format msgid "Field out of range [%d..%d] (%d)." msgstr "" -#. Simple alignment checking for FIELD againt ALIGN (a power of two). +#. Simple alignment checking for FIELD against ALIGN (a power of two). #. IGNORE is used to suppress the error message. -#: config/tc-hppa.c:1184 +#: config/tc-hppa.c:1197 #, c-format msgid "Field not properly aligned [%d] (%d)." msgstr "" -#: config/tc-hppa.c:1213 +#: config/tc-hppa.c:1226 msgid "Missing .exit\n" msgstr "" -#: config/tc-hppa.c:1216 +#: config/tc-hppa.c:1229 msgid "Missing .procend\n" msgstr "" -#: config/tc-hppa.c:1396 +#: config/tc-hppa.c:1409 #, c-format msgid "Invalid field selector. Assuming F%%." msgstr "" -#: config/tc-hppa.c:1429 +#: config/tc-hppa.c:1442 msgid "-R option not supported on this target." msgstr "" -#: config/tc-hppa.c:1445 config/tc-sparc.c:809 config/tc-sparc.c:845 +#: config/tc-hppa.c:1458 config/tc-sparc.c:814 config/tc-sparc.c:850 #, c-format msgid "Internal error: can't hash `%s': %s\n" msgstr "" -#: config/tc-hppa.c:1453 config/tc-i860.c:201 +#: config/tc-hppa.c:1466 config/tc-i860.c:238 #, c-format msgid "internal error: losing opcode: `%s' \"%s\"\n" msgstr "" -#: config/tc-hppa.c:1524 config/tc-hppa.c:7048 config/tc-hppa.c:7105 +#: config/tc-hppa.c:1537 config/tc-hppa.c:7059 config/tc-hppa.c:7116 msgid "Missing function name for .PROC (corrupted label chain)" msgstr "" -#: config/tc-hppa.c:1527 config/tc-hppa.c:7108 +#: config/tc-hppa.c:1540 config/tc-hppa.c:7119 msgid "Missing function name for .PROC" msgstr "" -#: config/tc-hppa.c:1634 config/tc-hppa.c:4905 +#: config/tc-hppa.c:1647 config/tc-hppa.c:4916 msgid "could not update architecture and machine" msgstr "" -#: config/tc-hppa.c:1842 +#: config/tc-hppa.c:1855 msgid "Invalid Indexed Load Completer." msgstr "" -#: config/tc-hppa.c:1847 +#: config/tc-hppa.c:1860 msgid "Invalid Indexed Load Completer Syntax." msgstr "" -#: config/tc-hppa.c:1884 +#: config/tc-hppa.c:1897 msgid "Invalid Short Load/Store Completer." msgstr "" -#: config/tc-hppa.c:1944 config/tc-hppa.c:1949 +#: config/tc-hppa.c:1957 config/tc-hppa.c:1962 msgid "Invalid Store Bytes Short Completer" msgstr "" -#: config/tc-hppa.c:2260 config/tc-hppa.c:2266 +#: config/tc-hppa.c:2273 config/tc-hppa.c:2279 msgid "Invalid left/right combination completer" msgstr "" -#: config/tc-hppa.c:2315 config/tc-hppa.c:2322 +#: config/tc-hppa.c:2328 config/tc-hppa.c:2335 msgid "Invalid permutation completer" msgstr "" -#: config/tc-hppa.c:2423 +#: config/tc-hppa.c:2435 #, c-format msgid "Invalid Add Condition: %s" msgstr "" -#: config/tc-hppa.c:2434 config/tc-hppa.c:2444 +#: config/tc-hppa.c:2446 config/tc-hppa.c:2456 msgid "Invalid Add and Branch Condition" msgstr "" -#: config/tc-hppa.c:2465 config/tc-hppa.c:2603 +#: config/tc-hppa.c:2477 config/tc-hppa.c:2614 msgid "Invalid Compare/Subtract Condition" msgstr "" -#: config/tc-hppa.c:2505 +#: config/tc-hppa.c:2517 #, c-format msgid "Invalid Bit Branch Condition: %c" msgstr "" -#: config/tc-hppa.c:2591 +#: config/tc-hppa.c:2602 #, c-format msgid "Invalid Compare/Subtract Condition: %s" msgstr "" -#: config/tc-hppa.c:2618 +#: config/tc-hppa.c:2629 msgid "Invalid Compare and Branch Condition" msgstr "" -#: config/tc-hppa.c:2714 +#: config/tc-hppa.c:2725 msgid "Invalid Logical Instruction Condition." msgstr "" -#: config/tc-hppa.c:2769 +#: config/tc-hppa.c:2780 msgid "Invalid Shift/Extract/Deposit Condition." msgstr "" -#: config/tc-hppa.c:2881 +#: config/tc-hppa.c:2892 msgid "Invalid Unit Instruction Condition." msgstr "" -#: config/tc-hppa.c:3258 config/tc-hppa.c:3290 config/tc-hppa.c:3321 -#: config/tc-hppa.c:3351 +#: config/tc-hppa.c:3269 config/tc-hppa.c:3301 config/tc-hppa.c:3332 +#: config/tc-hppa.c:3362 msgid "Branch to unaligned address" msgstr "" -#: config/tc-hppa.c:3529 +#: config/tc-hppa.c:3540 msgid "Invalid SFU identifier" msgstr "" -#: config/tc-hppa.c:3579 +#: config/tc-hppa.c:3590 msgid "Invalid COPR identifier" msgstr "" -#: config/tc-hppa.c:3708 +#: config/tc-hppa.c:3719 msgid "Invalid Floating Point Operand Format." msgstr "" -#: config/tc-hppa.c:3825 config/tc-hppa.c:3845 config/tc-hppa.c:3865 -#: config/tc-hppa.c:3885 config/tc-hppa.c:3905 +#: config/tc-hppa.c:3836 config/tc-hppa.c:3856 config/tc-hppa.c:3876 +#: config/tc-hppa.c:3896 config/tc-hppa.c:3916 msgid "Invalid register for single precision fmpyadd or fmpysub" msgstr "" -#: config/tc-hppa.c:3962 +#: config/tc-hppa.c:3973 #, c-format msgid "Invalid operands %s" msgstr "" -#: config/tc-hppa.c:4080 +#: config/tc-hppa.c:4091 msgid "Cannot handle fixup" msgstr "" -#: config/tc-hppa.c:4381 +#: config/tc-hppa.c:4392 +#, c-format msgid " -Q ignored\n" msgstr "" -#: config/tc-hppa.c:4385 +#: config/tc-hppa.c:4396 +#, c-format msgid " -c print a warning if a comment is found\n" msgstr "" -#: config/tc-hppa.c:4456 +#: config/tc-hppa.c:4467 #, c-format msgid "no hppa_fixup entry for fixup type 0x%x" msgstr "" -#: config/tc-hppa.c:4627 +#: config/tc-hppa.c:4638 msgid "Unknown relocation encountered in md_apply_fix." msgstr "" -#: config/tc-hppa.c:4769 config/tc-hppa.c:4794 +#: config/tc-hppa.c:4780 config/tc-hppa.c:4805 #, c-format msgid "Undefined register: '%s'." msgstr "" -#: config/tc-hppa.c:4828 +#: config/tc-hppa.c:4839 #, c-format msgid "Non-absolute symbol: '%s'." msgstr "" -#: config/tc-hppa.c:4843 +#: config/tc-hppa.c:4854 #, c-format msgid "Undefined absolute constant: '%s'." msgstr "" -#: config/tc-hppa.c:4944 +#: config/tc-hppa.c:4955 #, c-format msgid "Invalid FP Compare Condition: %s" msgstr "" -#: config/tc-hppa.c:5000 +#: config/tc-hppa.c:5011 #, c-format msgid "Invalid FTEST completer: %s" msgstr "" -#: config/tc-hppa.c:5067 config/tc-hppa.c:5105 +#: config/tc-hppa.c:5078 config/tc-hppa.c:5116 #, c-format msgid "Invalid FP Operand Format: %3s" msgstr "" -#: config/tc-hppa.c:5184 +#: config/tc-hppa.c:5195 msgid "Bad segment in expression." msgstr "" -#: config/tc-hppa.c:5243 +#: config/tc-hppa.c:5254 msgid "Bad segment (should be absolute)." msgstr "" -#: config/tc-hppa.c:5286 +#: config/tc-hppa.c:5297 #, c-format msgid "Invalid argument location: %s\n" msgstr "" -#: config/tc-hppa.c:5317 +#: config/tc-hppa.c:5328 #, c-format msgid "Invalid argument description: %d" msgstr "" -#: config/tc-hppa.c:5340 +#: config/tc-hppa.c:5351 #, c-format msgid "Invalid Nullification: (%c)" msgstr "" -#: config/tc-hppa.c:6060 +#: config/tc-hppa.c:6071 #, c-format msgid "Invalid .CALL argument: %s" msgstr "" -#: config/tc-hppa.c:6182 +#: config/tc-hppa.c:6193 msgid ".callinfo is not within a procedure definition" msgstr "" -#: config/tc-hppa.c:6202 +#: config/tc-hppa.c:6213 #, c-format msgid "FRAME parameter must be a multiple of 8: %d\n" msgstr "" -#: config/tc-hppa.c:6221 +#: config/tc-hppa.c:6232 msgid "Value for ENTRY_GR must be in the range 3..18\n" msgstr "" -#: config/tc-hppa.c:6233 +#: config/tc-hppa.c:6244 msgid "Value for ENTRY_FR must be in the range 12..21\n" msgstr "" -#: config/tc-hppa.c:6243 +#: config/tc-hppa.c:6254 msgid "Value for ENTRY_SR must be 3\n" msgstr "" -#: config/tc-hppa.c:6299 +#: config/tc-hppa.c:6310 #, c-format msgid "Invalid .CALLINFO argument: %s" msgstr "" -#: config/tc-hppa.c:6410 +#: config/tc-hppa.c:6421 msgid "The .ENTER pseudo-op is not supported" msgstr "" -#: config/tc-hppa.c:6426 +#: config/tc-hppa.c:6437 msgid "Misplaced .entry. Ignored." msgstr "" -#: config/tc-hppa.c:6430 +#: config/tc-hppa.c:6441 msgid "Missing .callinfo." msgstr "" -#: config/tc-hppa.c:6496 +#: config/tc-hppa.c:6507 msgid ".REG expression must be a register" msgstr "" -#: config/tc-hppa.c:6512 +#: config/tc-hppa.c:6523 msgid "bad or irreducible absolute expression; zero assumed" msgstr "" -#: config/tc-hppa.c:6523 +#: config/tc-hppa.c:6534 msgid ".REG must use a label" msgstr "" -#: config/tc-hppa.c:6525 +#: config/tc-hppa.c:6536 msgid ".EQU must use a label" msgstr "" -#: config/tc-hppa.c:6578 +#: config/tc-hppa.c:6589 msgid ".EXIT must appear within a procedure" msgstr "" -#: config/tc-hppa.c:6582 +#: config/tc-hppa.c:6593 msgid "Missing .callinfo" msgstr "" -#: config/tc-hppa.c:6586 +#: config/tc-hppa.c:6597 msgid "No .ENTRY for this .EXIT" msgstr "" -#: config/tc-hppa.c:6613 +#: config/tc-hppa.c:6624 #, c-format msgid "Cannot define export symbol: %s\n" msgstr "" -#: config/tc-hppa.c:6671 +#: config/tc-hppa.c:6682 #, c-format msgid "Using ENTRY rather than CODE in export directive for %s" msgstr "" -#: config/tc-hppa.c:6788 +#: config/tc-hppa.c:6799 #, c-format msgid "Undefined .EXPORT/.IMPORT argument (ignored): %s" msgstr "" -#: config/tc-hppa.c:6870 +#: config/tc-hppa.c:6881 msgid "Missing label name on .LABEL" msgstr "" -#: config/tc-hppa.c:6875 +#: config/tc-hppa.c:6886 msgid "extra .LABEL arguments ignored." msgstr "" -#: config/tc-hppa.c:6892 +#: config/tc-hppa.c:6903 msgid "The .LEAVE pseudo-op is not supported" msgstr "" -#: config/tc-hppa.c:6931 +#: config/tc-hppa.c:6942 msgid "Unrecognized .LEVEL argument\n" msgstr "" -#: config/tc-hppa.c:6967 +#: config/tc-hppa.c:6978 #, c-format msgid "Cannot define static symbol: %s\n" msgstr "" -#: config/tc-hppa.c:7002 +#: config/tc-hppa.c:7013 msgid "Nested procedures" msgstr "" -#: config/tc-hppa.c:7012 +#: config/tc-hppa.c:7023 msgid "Cannot allocate unwind descriptor\n" msgstr "" -#: config/tc-hppa.c:7112 +#: config/tc-hppa.c:7123 msgid "misplaced .procend" msgstr "" -#: config/tc-hppa.c:7115 +#: config/tc-hppa.c:7126 msgid "Missing .callinfo for this procedure" msgstr "" -#: config/tc-hppa.c:7118 +#: config/tc-hppa.c:7129 msgid "Missing .EXIT for a .ENTRY" msgstr "" -#: config/tc-hppa.c:7156 +#: config/tc-hppa.c:7167 msgid "Not in a space.\n" msgstr "" -#: config/tc-hppa.c:7159 +#: config/tc-hppa.c:7170 msgid "Not in a subspace.\n" msgstr "" -#: config/tc-hppa.c:7250 +#: config/tc-hppa.c:7261 msgid "Invalid .SPACE argument" msgstr "" -#: config/tc-hppa.c:7297 +#: config/tc-hppa.c:7308 msgid "Can't change spaces within a procedure definition. Ignored" msgstr "" -#: config/tc-hppa.c:7426 +#: config/tc-hppa.c:7437 #, c-format msgid "Undefined space: '%s' Assuming space number = 0." msgstr "" -#: config/tc-hppa.c:7450 +#: config/tc-hppa.c:7461 msgid "Must be in a space before changing or declaring subspaces.\n" msgstr "" -#: config/tc-hppa.c:7454 +#: config/tc-hppa.c:7465 msgid "Can't change subspaces within a procedure definition. Ignored" msgstr "" -#: config/tc-hppa.c:7489 +#: config/tc-hppa.c:7500 msgid "Parameters of an existing subspace can't be modified" msgstr "" -#: config/tc-hppa.c:7540 +#: config/tc-hppa.c:7551 msgid "Alignment must be a power of 2" msgstr "" -#: config/tc-hppa.c:7582 +#: config/tc-hppa.c:7593 msgid "FIRST not supported as a .SUBSPACE argument" msgstr "" -#: config/tc-hppa.c:7584 +#: config/tc-hppa.c:7595 msgid "Invalid .SUBSPACE argument" msgstr "" -#: config/tc-hppa.c:7764 +#: config/tc-hppa.c:7775 #, c-format msgid "Internal error: Unable to find containing space for %s." msgstr "" -#: config/tc-hppa.c:7803 +#: config/tc-hppa.c:7814 #, c-format msgid "Out of memory: could not allocate new space chain entry: %s\n" msgstr "" -#: config/tc-hppa.c:7889 +#: config/tc-hppa.c:7900 #, c-format msgid "Out of memory: could not allocate new subspace chain entry: %s\n" msgstr "" -#: config/tc-hppa.c:8622 +#: config/tc-hppa.c:8633 #, c-format msgid "Symbol '%s' could not be created." msgstr "" -#: config/tc-hppa.c:8626 +#: config/tc-hppa.c:8637 msgid "No memory for symbol name." msgstr "" -#: config/tc-i386.c:689 +#: config/tc-i386.c:684 #, c-format msgid "%s shortened to %s" msgstr "" -#: config/tc-i386.c:745 +#: config/tc-i386.c:740 msgid "same type of prefix used twice" msgstr "" -#: config/tc-i386.c:763 +#: config/tc-i386.c:758 msgid "64bit mode not supported on this CPU." msgstr "" -#: config/tc-i386.c:767 +#: config/tc-i386.c:762 msgid "32bit mode not supported on this CPU." msgstr "" -#: config/tc-i386.c:800 +#: config/tc-i386.c:795 msgid "bad argument to syntax directive." msgstr "" -#: config/tc-i386.c:844 +#: config/tc-i386.c:832 #, c-format msgid "no such architecture: `%s'" msgstr "" -#: config/tc-i386.c:849 +#: config/tc-i386.c:837 msgid "missing cpu architecture" msgstr "" -#: config/tc-i386.c:863 +#: config/tc-i386.c:851 #, c-format msgid "no such architecture modifier: `%s'" msgstr "" -#: config/tc-i386.c:880 config/tc-i386.c:5022 +#: config/tc-i386.c:867 config/tc-i386.c:4961 msgid "Unknown architecture" msgstr "" -#: config/tc-i386.c:915 config/tc-i386.c:938 config/tc-m68k.c:3816 +#: config/tc-i386.c:901 config/tc-i386.c:924 config/tc-m68k.c:3980 #, c-format msgid "Internal Error: Can't hash %s: %s" msgstr "" -#: config/tc-i386.c:1192 +#: config/tc-i386.c:1177 msgid "There are no unsigned pc-relative relocations" msgstr "" -#: config/tc-i386.c:1199 config/tc-i386.c:5234 +#: config/tc-i386.c:1184 config/tc-i386.c:5168 #, c-format msgid "can not do %d byte pc-relative relocation" msgstr "" -#: config/tc-i386.c:1216 +#: config/tc-i386.c:1201 #, c-format msgid "can not do %s %d byte relocation" msgstr "" -#: config/tc-i386.c:1428 +#: config/tc-i386.c:1391 #, c-format msgid "can't use register '%%%s' as operand %d in '%s'." msgstr "" #. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc. -#: config/tc-i386.c:1457 +#: config/tc-i386.c:1420 #, c-format msgid "translating to `%sp'" msgstr "" -#: config/tc-i386.c:1502 +#: config/tc-i386.c:1465 #, c-format msgid "can't encode register '%%%s' in an instruction requiring REX prefix.\n" msgstr "" -#: config/tc-i386.c:1541 config/tc-i386.c:1636 +#: config/tc-i386.c:1504 config/tc-i386.c:1599 #, c-format msgid "no such instruction: `%s'" msgstr "" -#: config/tc-i386.c:1551 config/tc-i386.c:1668 +#: config/tc-i386.c:1514 config/tc-i386.c:1631 #, c-format msgid "invalid character %s in mnemonic" msgstr "" -#: config/tc-i386.c:1558 +#: config/tc-i386.c:1521 msgid "expecting prefix; got nothing" msgstr "" -#: config/tc-i386.c:1560 +#: config/tc-i386.c:1523 msgid "expecting mnemonic; got nothing" msgstr "" -#: config/tc-i386.c:1579 +#: config/tc-i386.c:1542 #, c-format msgid "redundant %s prefix" msgstr "" -#: config/tc-i386.c:1677 +#: config/tc-i386.c:1640 #, c-format msgid "`%s' is not supported on `%s'" msgstr "" -#: config/tc-i386.c:1682 +#: config/tc-i386.c:1645 msgid "use .code16 to ensure correct addressing mode" msgstr "" -#: config/tc-i386.c:1689 +#: config/tc-i386.c:1652 #, c-format msgid "expecting string instruction after `%s'" msgstr "" -#: config/tc-i386.c:1717 +#: config/tc-i386.c:1680 #, c-format msgid "invalid character %s before operand %d" msgstr "" -#: config/tc-i386.c:1731 +#: config/tc-i386.c:1694 #, c-format msgid "unbalanced parenthesis in operand %d." msgstr "" -#: config/tc-i386.c:1734 +#: config/tc-i386.c:1697 #, c-format msgid "unbalanced brackets in operand %d." msgstr "" -#: config/tc-i386.c:1743 +#: config/tc-i386.c:1706 #, c-format msgid "invalid character %s in operand %d" msgstr "" -#: config/tc-i386.c:1770 +#: config/tc-i386.c:1733 #, c-format msgid "spurious operands; (%d operands/instruction max)" msgstr "" -#: config/tc-i386.c:1793 +#: config/tc-i386.c:1756 msgid "expecting operand after ','; got nothing" msgstr "" -#: config/tc-i386.c:1798 +#: config/tc-i386.c:1761 msgid "expecting operand before ','; got nothing" msgstr "" #. We found no match. -#: config/tc-i386.c:2140 +#: config/tc-i386.c:2103 #, c-format msgid "suffix or operands invalid for `%s'" msgstr "" -#: config/tc-i386.c:2151 +#: config/tc-i386.c:2114 #, c-format msgid "indirect %s without `*'" msgstr "" #. Warn them that a data or address size prefix doesn't #. affect assembly of the next line of code. -#: config/tc-i386.c:2159 +#: config/tc-i386.c:2122 #, c-format msgid "stand-alone `%s' prefix" msgstr "" -#: config/tc-i386.c:2188 config/tc-i386.c:2203 +#: config/tc-i386.c:2151 config/tc-i386.c:2166 #, c-format msgid "`%s' operand %d must use `%%es' segment" msgstr "" -#: config/tc-i386.c:2283 +#: config/tc-i386.c:2246 msgid "" "no instruction mnemonic suffix given and no register operands; can't size " "instruction" @@ -4311,192 +4500,188 @@ msgstr "" #. Prohibit these changes in the 64bit mode, since the #. lowering is more complicated. -#: config/tc-i386.c:2367 config/tc-i386.c:2426 config/tc-i386.c:2443 -#: config/tc-i386.c:2475 config/tc-i386.c:2508 +#: config/tc-i386.c:2330 config/tc-i386.c:2389 config/tc-i386.c:2406 +#: config/tc-i386.c:2438 config/tc-i386.c:2471 #, c-format msgid "Incorrect register `%%%s' used with `%c' suffix" msgstr "" -#: config/tc-i386.c:2375 config/tc-i386.c:2433 config/tc-i386.c:2515 +#: config/tc-i386.c:2338 config/tc-i386.c:2396 config/tc-i386.c:2478 #, c-format msgid "using `%%%s' instead of `%%%s' due to `%c' suffix" msgstr "" -#: config/tc-i386.c:2390 config/tc-i386.c:2411 config/tc-i386.c:2462 -#: config/tc-i386.c:2493 +#: config/tc-i386.c:2353 config/tc-i386.c:2374 config/tc-i386.c:2425 +#: config/tc-i386.c:2456 #, c-format msgid "`%%%s' not allowed with `%s%c'" msgstr "" -#: config/tc-i386.c:2556 +#: config/tc-i386.c:2519 msgid "no instruction mnemonic suffix given; can't determine immediate size" msgstr "" -#: config/tc-i386.c:2589 +#: config/tc-i386.c:2552 #, c-format msgid "" "no instruction mnemonic suffix given; can't determine immediate size %x %c" msgstr "" #. Reversed arguments on faddp, fsubp, etc. -#: config/tc-i386.c:2638 +#: config/tc-i386.c:2601 #, c-format msgid "translating to `%s %%%s,%%%s'" msgstr "" #. Extraneous `l' suffix on fp insn. -#: config/tc-i386.c:2645 +#: config/tc-i386.c:2608 #, c-format msgid "translating to `%s %%%s'" msgstr "" -#: config/tc-i386.c:2663 +#: config/tc-i386.c:2626 #, c-format msgid "you can't `pop %%cs'" msgstr "" #. lea -#: config/tc-i386.c:2682 +#: config/tc-i386.c:2645 msgid "segment override on `lea' is ineffectual" msgstr "" -#: config/tc-i386.c:2991 config/tc-i386.c:3085 config/tc-i386.c:3130 +#: config/tc-i386.c:2954 config/tc-i386.c:3048 config/tc-i386.c:3093 msgid "skipping prefixes on this instruction" msgstr "" -#: config/tc-i386.c:3150 +#: config/tc-i386.c:3113 msgid "16-bit jump out of range" msgstr "" -#: config/tc-i386.c:3159 +#: config/tc-i386.c:3122 #, c-format msgid "can't handle non absolute segment in `%s'" msgstr "" -#: config/tc-i386.c:3601 +#: config/tc-i386.c:3580 #, c-format msgid "@%s reloc is not supported in %s bit mode" msgstr "" -#: config/tc-i386.c:3677 +#: config/tc-i386.c:3656 msgid "only 1 or 2 immediate operands are allowed" msgstr "" -#: config/tc-i386.c:3700 config/tc-i386.c:3892 +#: config/tc-i386.c:3679 config/tc-i386.c:3861 #, c-format msgid "junk `%s' after expression" msgstr "" #. Missing or bad expr becomes absolute 0. -#: config/tc-i386.c:3711 +#: config/tc-i386.c:3690 #, c-format msgid "missing or invalid immediate expression `%s' taken as 0" msgstr "" -#: config/tc-i386.c:3743 config/tc-i386.c:3958 +#: config/tc-i386.c:3715 config/tc-i386.c:3919 #, c-format msgid "unimplemented segment %s in operand" msgstr "" -#: config/tc-i386.c:3745 config/tc-i386.c:3960 -#, c-format -msgid "unimplemented segment type %d in operand" -msgstr "" - -#: config/tc-i386.c:3789 config/tc-i386.c:6011 +#: config/tc-i386.c:3758 config/tc-i386.c:5879 #, c-format msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'" msgstr "" -#: config/tc-i386.c:3796 +#: config/tc-i386.c:3765 #, c-format msgid "scale factor of %d without an index register" msgstr "" -#: config/tc-i386.c:3912 +#: config/tc-i386.c:3880 #, c-format msgid "bad expression used with @%s" msgstr "" #. Missing or bad expr becomes absolute 0. -#: config/tc-i386.c:3934 +#: config/tc-i386.c:3901 #, c-format msgid "missing or invalid displacement expression `%s' taken as 0" msgstr "" -#: config/tc-i386.c:4058 +#: config/tc-i386.c:4016 #, c-format msgid "`%s' is not a valid base/index expression" msgstr "" -#: config/tc-i386.c:4062 +#: config/tc-i386.c:4020 #, c-format msgid "`%s' is not a valid %s bit base/index expression" msgstr "" -#: config/tc-i386.c:4137 +#: config/tc-i386.c:4095 #, c-format msgid "bad memory operand `%s'" msgstr "" -#: config/tc-i386.c:4152 +#: config/tc-i386.c:4110 #, c-format msgid "junk `%s' after register" msgstr "" -#: config/tc-i386.c:4161 config/tc-i386.c:4276 config/tc-i386.c:4314 +#: config/tc-i386.c:4119 config/tc-i386.c:4234 config/tc-i386.c:4272 #, c-format msgid "bad register name `%s'" msgstr "" -#: config/tc-i386.c:4169 +#: config/tc-i386.c:4127 msgid "immediate operand illegal with absolute jump" msgstr "" -#: config/tc-i386.c:4191 +#: config/tc-i386.c:4149 #, c-format msgid "too many memory references for `%s'" msgstr "" -#: config/tc-i386.c:4269 +#: config/tc-i386.c:4227 #, c-format msgid "expecting `,' or `)' after index register in `%s'" msgstr "" -#: config/tc-i386.c:4293 +#: config/tc-i386.c:4251 #, c-format msgid "expecting `)' after scale factor in `%s'" msgstr "" -#: config/tc-i386.c:4300 +#: config/tc-i386.c:4258 #, c-format msgid "expecting index register or scale factor after `,'; got '%c'" msgstr "" -#: config/tc-i386.c:4307 +#: config/tc-i386.c:4265 #, c-format msgid "expecting `,' or `)' after base register in `%s'" msgstr "" #. It's not a memory operand; argh! -#: config/tc-i386.c:4348 +#: config/tc-i386.c:4306 #, c-format msgid "invalid char %s beginning operand %d `%s'" msgstr "" -#: config/tc-i386.c:4531 +#: config/tc-i386.c:4481 msgid "long jump required" msgstr "" -#: config/tc-i386.c:4805 +#: config/tc-i386.c:4745 msgid "Bad call to md_atof ()" msgstr "" -#: config/tc-i386.c:4973 +#: config/tc-i386.c:4913 msgid "No compiled in support for x86_64" msgstr "" -#: config/tc-i386.c:4994 +#: config/tc-i386.c:4934 +#, c-format msgid "" " -Q ignored\n" " -V print assembler version number\n" @@ -4506,162 +4691,188 @@ msgid "" " -s ignored\n" msgstr "" -#: config/tc-i386.c:5002 +#: config/tc-i386.c:4942 +#, c-format msgid "" " -n Do not optimize code alignment\n" " -q quieten some warnings\n" msgstr "" -#: config/tc-i386.c:5104 config/tc-s390.c:1841 +#: config/tc-i386.c:5042 config/tc-s390.c:1847 msgid "GOT already in symbol table" msgstr "" -#: config/tc-i386.c:5249 +#: config/tc-i386.c:5183 #, c-format msgid "can not do %d byte relocation" msgstr "" -#: config/tc-i386.c:5317 config/tc-s390.c:2285 +#: config/tc-i386.c:5251 config/tc-s390.c:2291 #, c-format msgid "cannot represent relocation type %s" msgstr "" -#: config/tc-i386.c:5613 +#: config/tc-i386.c:5480 #, c-format msgid "too many memory references for '%s'" msgstr "" -#: config/tc-i386.c:5776 +#: config/tc-i386.c:5644 #, c-format msgid "Unknown operand modifier `%s'\n" msgstr "" -#: config/tc-i386.c:5983 +#: config/tc-i386.c:5851 #, c-format msgid "`%s' is not a valid segment register" msgstr "" -#: config/tc-i386.c:5993 config/tc-i386.c:6114 +#: config/tc-i386.c:5861 config/tc-i386.c:5982 msgid "Register scaling only allowed in memory operands." msgstr "" -#: config/tc-i386.c:6024 +#: config/tc-i386.c:5892 msgid "Too many register references in memory operand.\n" msgstr "" -#: config/tc-i386.c:6093 +#: config/tc-i386.c:5961 #, c-format msgid "Syntax error. Expecting a constant. Got `%s'.\n" msgstr "" -#: config/tc-i386.c:6163 +#: config/tc-i386.c:6031 #, c-format msgid "Unrecognized token '%s'" msgstr "" -#: config/tc-i386.c:6180 +#: config/tc-i386.c:6048 #, c-format msgid "Unexpected token `%s'\n" msgstr "" -#: config/tc-i386.c:6324 +#: config/tc-i386.c:6192 #, c-format msgid "Unrecognized token `%s'\n" msgstr "" -#: config/tc-i860.c:165 config/tc-i860.c:169 +#: config/tc-i860.c:124 +msgid "Directive .dual available only with -mintel-syntax option" +msgstr "" + +#: config/tc-i860.c:134 +msgid "Directive .enddual available only with -mintel-syntax option" +msgstr "" + +#: config/tc-i860.c:147 +msgid "Directive .atmp available only with -mintel-syntax option" +msgstr "" + +#: config/tc-i860.c:169 config/tc-i860.c:173 msgid "Unknown temporary pseudo register" msgstr "" -#: config/tc-i860.c:192 config/tc-mips.c:1105 +#: config/tc-i860.c:229 config/tc-mips.c:1149 #, c-format msgid "internal error: can't hash `%s': %s\n" msgstr "" -#: config/tc-i860.c:212 +#: config/tc-i860.c:249 msgid "Defective assembler. No assembly attempted." msgstr "" -#: config/tc-i860.c:362 +#: config/tc-i860.c:402 #, c-format msgid "Expanded opcode after delayed branch: `%s'" msgstr "" -#: config/tc-i860.c:366 +#: config/tc-i860.c:406 #, c-format msgid "Expanded opcode in dual mode: `%s'" msgstr "" -#: config/tc-i860.c:370 +#: config/tc-i860.c:410 #, c-format msgid "An instruction was expanded (%s)" msgstr "" -#: config/tc-i860.c:643 +#: config/tc-i860.c:676 msgid "Pipelined instruction: fsrc1 = fdest" msgstr "" -#: config/tc-i860.c:844 config/tc-i860.c:851 config/tc-i860.c:858 +#: config/tc-i860.c:879 config/tc-i860.c:886 config/tc-i860.c:893 msgid "Assembler does not yet support PIC" msgstr "" -#: config/tc-i860.c:919 +#: config/tc-i860.c:957 #, c-format msgid "Illegal operands for %s" msgstr "" -#: config/tc-i860.c:947 config/tc-sparc.c:2834 +#: config/tc-i860.c:974 +#, c-format +msgid "'d.%s' must be 8-byte aligned" +msgstr "" + +#: config/tc-i860.c:982 +#, c-format +msgid "Prefix 'd.' invalid for instruction `%s'" +msgstr "" + +#: config/tc-i860.c:1005 config/tc-sparc.c:2845 msgid "bad segment" msgstr "" -#: config/tc-i860.c:1037 +#: config/tc-i860.c:1088 msgid "i860_estimate_size_before_relax\n" msgstr "" -#: config/tc-i860.c:1134 +#: config/tc-i860.c:1187 +#, c-format msgid "" " -EL\t\t\t generate code for little endian mode (default)\n" " -EB\t\t\t generate code for big endian mode\n" " -mwarn-expand\t\t warn if pseudo operations are expanded\n" " -mxp\t\t\t enable i860XP support (disabled by default)\n" +" -mintel-syntax\t enable Intel syntax (default to AT&T/SVR4)\n" msgstr "" #. SVR4 compatibility flags. -#: config/tc-i860.c:1141 +#: config/tc-i860.c:1195 +#, c-format msgid "" " -V\t\t\t print assembler version number\n" " -Qy, -Qn\t\t ignored\n" msgstr "" -#: config/tc-i860.c:1210 +#: config/tc-i860.c:1258 msgid "This immediate requires 0 MOD 2 alignment" msgstr "" -#: config/tc-i860.c:1213 +#: config/tc-i860.c:1261 msgid "This immediate requires 0 MOD 4 alignment" msgstr "" -#: config/tc-i860.c:1216 +#: config/tc-i860.c:1264 msgid "This immediate requires 0 MOD 8 alignment" msgstr "" -#: config/tc-i860.c:1219 +#: config/tc-i860.c:1267 msgid "This immediate requires 0 MOD 16 alignment" msgstr "" -#: config/tc-i860.c:1317 +#: config/tc-i860.c:1362 msgid "5-bit immediate too large" msgstr "" -#: config/tc-i860.c:1320 +#: config/tc-i860.c:1365 msgid "5-bit field must be absolute" msgstr "" -#: config/tc-i860.c:1365 config/tc-i860.c:1388 +#: config/tc-i860.c:1410 config/tc-i860.c:1433 msgid "A branch offset requires 0 MOD 4 alignment" msgstr "" -#: config/tc-i860.c:1409 +#: config/tc-i860.c:1454 #, c-format msgid "Unrecognized fix-up (0x%08lx)" msgstr "" @@ -4701,10 +4912,12 @@ msgid "invalid architecture %s" msgstr "" #: config/tc-i960.c:1014 +#, c-format msgid "I960 options:\n" msgstr "" #: config/tc-i960.c:1017 +#, c-format msgid "" "\n" "\t\t\tspecify variant of 960 architecture\n" @@ -4715,7 +4928,7 @@ msgid "" "\t\t\tlong displacements\n" msgstr "" -#: config/tc-i960.c:1419 config/tc-xtensa.c:8604 +#: config/tc-i960.c:1419 config/tc-xtensa.c:8466 msgid "too many operands" msgstr "" @@ -4824,99 +5037,99 @@ msgstr "" msgid "option --link-relax is only supported in b.out format" msgstr "" -#: config/tc-ia64.c:982 +#: config/tc-ia64.c:984 msgid "Bad .section directive: want a,o,s,w,x,M,S,G,T in string" msgstr "" -#: config/tc-ia64.c:1105 +#: config/tc-ia64.c:1127 msgid "Unwind directive not followed by an instruction." msgstr "" -#: config/tc-ia64.c:4563 +#: config/tc-ia64.c:4606 msgid "Register name expected" msgstr "" -#: config/tc-ia64.c:4568 config/tc-ia64.c:4854 +#: config/tc-ia64.c:4611 config/tc-ia64.c:4897 msgid "Comma expected" msgstr "" -#: config/tc-ia64.c:4576 +#: config/tc-ia64.c:4619 msgid "Register value annotation ignored" msgstr "" -#: config/tc-ia64.c:4600 +#: config/tc-ia64.c:4643 msgid "Directive invalid within a bundle" msgstr "" -#: config/tc-ia64.c:4667 +#: config/tc-ia64.c:4710 msgid "Missing predicate relation type" msgstr "" -#: config/tc-ia64.c:4683 +#: config/tc-ia64.c:4726 msgid "Unrecognized predicate relation type" msgstr "" -#: config/tc-ia64.c:4703 config/tc-ia64.c:4728 +#: config/tc-ia64.c:4746 config/tc-ia64.c:4771 msgid "Predicate register expected" msgstr "" -#: config/tc-ia64.c:4715 +#: config/tc-ia64.c:4758 msgid "Duplicate predicate register ignored" msgstr "" -#: config/tc-ia64.c:4737 +#: config/tc-ia64.c:4780 msgid "Bad register range" msgstr "" -#: config/tc-ia64.c:4765 +#: config/tc-ia64.c:4808 msgid "Predicate source and target required" msgstr "" -#: config/tc-ia64.c:4767 config/tc-ia64.c:4779 +#: config/tc-ia64.c:4810 config/tc-ia64.c:4822 msgid "Use of p0 is not valid in this context" msgstr "" -#: config/tc-ia64.c:4774 +#: config/tc-ia64.c:4817 msgid "At least two PR arguments expected" msgstr "" -#: config/tc-ia64.c:4788 +#: config/tc-ia64.c:4831 msgid "At least one PR argument expected" msgstr "" -#: config/tc-ia64.c:4824 +#: config/tc-ia64.c:4867 #, c-format msgid "Inserting \"%s\" into entry hint table failed: %s" msgstr "" #. FIXME -- need 62-bit relocation type -#: config/tc-ia64.c:5302 +#: config/tc-ia64.c:5345 msgid "62-bit relocation not yet implemented" msgstr "" #. XXX technically, this is wrong: we should not be issuing warning #. messages until we're sure this instruction pattern is going to #. be used! -#: config/tc-ia64.c:5375 +#: config/tc-ia64.c:5418 msgid "lower 16 bits of mask ignored" msgstr "" -#: config/tc-ia64.c:5939 +#: config/tc-ia64.c:5982 msgid "Value truncated to 62 bits" msgstr "" -#: config/tc-ia64.c:6291 +#: config/tc-ia64.c:6355 msgid "" "Additional NOP may be necessary to workaround Itanium processor A/B step " "errata" msgstr "" -#: config/tc-ia64.c:6474 +#: config/tc-ia64.c:6546 #, c-format msgid "Unrecognized option '-x%s'" msgstr "" -#: config/tc-ia64.c:6502 +#: config/tc-ia64.c:6574 msgid "" "IA-64 options:\n" " --mconstant-gp\t mark output file as using the constant-GP model\n" @@ -4931,88 +5144,95 @@ msgid "" " -xdebug\t\t debug dependency violation checker\n" msgstr "" -#: config/tc-ia64.c:6521 +#: config/tc-ia64.c:6593 msgid "--gstabs is not supported for ia64" msgstr "" -#: config/tc-ia64.c:6824 config/tc-mips.c:1094 +#: config/tc-ia64.c:6896 config/tc-mips.c:1138 msgid "Could not set architecture and machine" msgstr "" -#: config/tc-ia64.c:6931 +#: config/tc-ia64.c:7003 msgid "Explicit stops are ignored in auto mode" msgstr "" -#: config/tc-ia64.c:6981 +#: config/tc-ia64.c:7053 msgid "Found '{' after explicit switch to automatic mode" msgstr "" -#: config/tc-ia64.c:7428 +#: config/tc-ia64.c:7517 #, c-format msgid "Unhandled dependency %s for %s (%s), note %d" msgstr "" -#: config/tc-ia64.c:8704 +#: config/tc-ia64.c:8793 #, c-format msgid "Unrecognized dependency specifier %d\n" msgstr "" -#: config/tc-ia64.c:9506 +#: config/tc-ia64.c:9668 msgid "Only the first path encountering the conflict is reported" msgstr "" -#: config/tc-ia64.c:9509 +#: config/tc-ia64.c:9671 msgid "This is the location of the conflicting usage" msgstr "" -#: config/tc-ia64.c:10778 read.c:1370 read.c:1976 read.c:2184 read.c:2795 +#: config/tc-ia64.c:10886 +msgid "Can't add stop bit to mark end of instruction group" +msgstr "" + +#: config/tc-ia64.c:10983 read.c:1344 read.c:2075 read.c:2669 msgid "expected symbol name" msgstr "" -#: config/tc-ia64.c:10788 read.c:1380 read.c:2194 read.c:2805 stabs.c:478 +#: config/tc-ia64.c:10993 read.c:2085 read.c:2679 stabs.c:471 #, c-format msgid "expected comma after \"%s\"" msgstr "" -#: config/tc-ia64.c:10829 +#: config/tc-ia64.c:11034 #, c-format msgid "`%s' is already the alias of %s `%s'" msgstr "" -#: config/tc-ia64.c:10839 +#: config/tc-ia64.c:11044 #, c-format msgid "%s `%s' already has an alias `%s'" msgstr "" -#: config/tc-ia64.c:10850 +#: config/tc-ia64.c:11055 #, c-format msgid "inserting \"%s\" into %s alias hash table failed: %s" msgstr "" -#: config/tc-ia64.c:10858 +#: config/tc-ia64.c:11063 #, c-format msgid "inserting \"%s\" into %s name hash table failed: %s" msgstr "" -#: config/tc-ia64.c:10877 +#: config/tc-ia64.c:11082 #, c-format msgid "symbol `%s' aliased to `%s' is not used" msgstr "" -#: config/tc-ia64.c:10899 +#: config/tc-ia64.c:11104 #, c-format msgid "section `%s' aliased to `%s' is not used" msgstr "" #: config/tc-ip2k.c:123 +#, c-format msgid "IP2K specific command line options:\n" msgstr "" #: config/tc-ip2k.c:124 +#, c-format msgid " -mip2022 restrict to IP2022 insns \n" msgstr "" #: config/tc-ip2k.c:125 +#, c-format msgid " -mip2022ext permit extended IP2022 insn\n" msgstr "" @@ -5021,169 +5241,269 @@ msgid "md_pcrel_from\n" msgstr "" #. Pretend that we do not recognise this option. -#: config/tc-m32r.c:233 +#: config/tc-m32r.c:349 msgid "Unrecognised option: -hidden" msgstr "" -#: config/tc-m32r.c:267 +#: config/tc-m32r.c:376 config/tc-sparc.c:596 +msgid "Unrecognized option following -K" +msgstr "" + +#: config/tc-m32r.c:402 +#, c-format msgid " M32R specific command line options:\n" msgstr "" -#: config/tc-m32r.c:269 +#: config/tc-m32r.c:404 +#, c-format msgid "" " -m32r disable support for the m32rx instruction set\n" msgstr "" -#: config/tc-m32r.c:271 +#: config/tc-m32r.c:406 +#, c-format msgid " -m32rx support the extended m32rx instruction set\n" msgstr "" -#: config/tc-m32r.c:273 -msgid " -O try to combine instructions in parallel\n" +#: config/tc-m32r.c:408 +#, c-format +msgid " -m32r2 support the extended m32r2 instruction set\n" +msgstr "" + +#: config/tc-m32r.c:410 +#, c-format +msgid " -EL,-little produce little endian code and data\n" +msgstr "" + +#: config/tc-m32r.c:412 +#, c-format +msgid " -EB,-big produce big endian code and data\n" +msgstr "" + +#: config/tc-m32r.c:414 +#, c-format +msgid " -parallel try to combine instructions in parallel\n" +msgstr "" + +#: config/tc-m32r.c:416 +#, c-format +msgid " -no-parallel disable -parallel\n" +msgstr "" + +#: config/tc-m32r.c:418 +#, c-format +msgid "" +" -no-bitinst disallow the M32R2's extended bit-field " +"instructions\n" +msgstr "" + +#: config/tc-m32r.c:420 +#, c-format +msgid " -O try to optimize code. Implies -parallel\n" msgstr "" -#: config/tc-m32r.c:276 +#: config/tc-m32r.c:423 +#, c-format msgid "" " -warn-explicit-parallel-conflicts warn when parallel instructions\n" msgstr "" -#: config/tc-m32r.c:278 -msgid " violate contraints\n" +#: config/tc-m32r.c:425 +#, c-format +msgid " might violate contraints\n" msgstr "" -#: config/tc-m32r.c:280 +#: config/tc-m32r.c:427 +#, c-format msgid " -no-warn-explicit-parallel-conflicts do not warn when parallel\n" msgstr "" -#: config/tc-m32r.c:282 +#: config/tc-m32r.c:429 +#, c-format msgid "" -" instructions violate contraints\n" +" instructions might violate " +"contraints\n" msgstr "" -#: config/tc-m32r.c:284 +#: config/tc-m32r.c:431 +#, c-format msgid "" " -Wp synonym for -warn-explicit-parallel-conflicts\n" msgstr "" -#: config/tc-m32r.c:286 +#: config/tc-m32r.c:433 +#, c-format msgid "" " -Wnp synonym for -no-warn-explicit-parallel-conflicts\n" msgstr "" -#: config/tc-m32r.c:289 +#: config/tc-m32r.c:435 +#, c-format +msgid "" +" -ignore-parallel-conflicts do not check parallel instructions\n" +msgstr "" + +#: config/tc-m32r.c:437 +#, c-format +msgid " fo contraint violations\n" +msgstr "" + +#: config/tc-m32r.c:439 +#, c-format +msgid "" +" -no-ignore-parallel-conflicts check parallel instructions for\n" +msgstr "" + +#: config/tc-m32r.c:441 +#, c-format +msgid " contraint violations\n" +msgstr "" + +#: config/tc-m32r.c:443 +#, c-format +msgid " -Ip synonym for -ignore-parallel-conflicts\n" +msgstr "" + +#: config/tc-m32r.c:445 +#, c-format +msgid " -nIp synonym for -no-ignore-parallel-conflicts\n" +msgstr "" + +#: config/tc-m32r.c:448 +#, c-format msgid "" " -warn-unmatched-high warn when an (s)high reloc has no matching low " "reloc\n" msgstr "" -#: config/tc-m32r.c:291 +#: config/tc-m32r.c:450 +#, c-format msgid " -no-warn-unmatched-high do not warn about missing low relocs\n" msgstr "" -#: config/tc-m32r.c:293 +#: config/tc-m32r.c:452 +#, c-format msgid " -Wuh synonym for -warn-unmatched-high\n" msgstr "" -#: config/tc-m32r.c:295 +#: config/tc-m32r.c:454 +#, c-format msgid " -Wnuh synonym for -no-warn-unmatched-high\n" msgstr "" -#: config/tc-m32r.c:299 +#: config/tc-m32r.c:457 +#, c-format +msgid " -KPIC generate PIC\n" +msgstr "" + +#: config/tc-m32r.c:461 +#, c-format msgid " -relax create linker relaxable code\n" msgstr "" -#: config/tc-m32r.c:301 +#: config/tc-m32r.c:463 +#, c-format msgid " -cpu-desc provide runtime cpu description file\n" msgstr "" -#: config/tc-m32r.c:700 -msgid "Instructions write to the same destination register." +#: config/tc-m32r.c:898 +msgid "instructions write to the same destination register." msgstr "" -#: config/tc-m32r.c:708 +#: config/tc-m32r.c:906 msgid "Instructions do not use parallel execution pipelines." msgstr "" -#: config/tc-m32r.c:715 +#: config/tc-m32r.c:914 msgid "Instructions share the same execution pipeline" msgstr "" -#: config/tc-m32r.c:791 config/tc-m32r.c:887 +#: config/tc-m32r.c:990 config/tc-m32r.c:1104 #, c-format msgid "not a 16 bit instruction '%s'" msgstr "" -#: config/tc-m32r.c:798 config/tc-m32r.c:894 config/tc-m32r.c:1050 +#: config/tc-m32r.c:1002 config/tc-m32r.c:1116 config/tc-m32r.c:1301 +#, c-format +msgid "instruction '%s' is for the M32R2 only" +msgstr "" + +#: config/tc-m32r.c:1015 config/tc-m32r.c:1129 config/tc-m32r.c:1314 #, c-format msgid "unknown instruction '%s'" msgstr "" -#: config/tc-m32r.c:807 config/tc-m32r.c:901 config/tc-m32r.c:1057 +#: config/tc-m32r.c:1024 config/tc-m32r.c:1136 config/tc-m32r.c:1321 #, c-format msgid "instruction '%s' is for the M32RX only" msgstr "" -#: config/tc-m32r.c:816 config/tc-m32r.c:910 +#: config/tc-m32r.c:1033 config/tc-m32r.c:1145 #, c-format msgid "instruction '%s' cannot be executed in parallel." msgstr "" -#: config/tc-m32r.c:871 config/tc-m32r.c:935 config/tc-m32r.c:1107 +#: config/tc-m32r.c:1088 config/tc-m32r.c:1170 config/tc-m32r.c:1378 msgid "internal error: lookup/get operands failed" msgstr "" -#: config/tc-m32r.c:920 +#: config/tc-m32r.c:1155 #, c-format msgid "'%s': only the NOP instruction can be issued in parallel on the m32r" msgstr "" -#: config/tc-m32r.c:949 +#: config/tc-m32r.c:1184 #, c-format msgid "" "%s: output of 1st instruction is the same as an input to 2nd instruction - " "is this intentional ?" msgstr "" -#: config/tc-m32r.c:953 +#: config/tc-m32r.c:1188 #, c-format msgid "" "%s: output of 2nd instruction is the same as an input to 1st instruction - " "is this intentional ?" msgstr "" -#: config/tc-m32r.c:1267 config/tc-ppc.c:1732 config/tc-ppc.c:4263 +#: config/tc-m32r.c:1537 config/tc-ppc.c:1768 config/tc-ppc.c:4349 msgid "Expected comma after symbol-name: rest of line ignored." msgstr "" -#: config/tc-m32r.c:1277 +#: config/tc-m32r.c:1547 #, c-format msgid ".SCOMMon length (%ld.) <0! Ignored." msgstr "" -#: config/tc-m32r.c:1291 config/tc-ppc.c:1754 config/tc-ppc.c:2899 -#: config/tc-ppc.c:4287 +#: config/tc-m32r.c:1561 config/tc-ppc.c:1790 config/tc-ppc.c:2936 +#: config/tc-ppc.c:4373 msgid "ignoring bad alignment" msgstr "" -#: config/tc-m32r.c:1303 config/tc-ppc.c:1791 config/tc-v850.c:335 +#: config/tc-m32r.c:1573 config/tc-ppc.c:1827 config/tc-v850.c:335 msgid "Common alignment not a power of 2" msgstr "" -#: config/tc-m32r.c:1318 config/tc-ppc.c:1765 config/tc-ppc.c:4299 +#: config/tc-m32r.c:1588 config/tc-ppc.c:1801 config/tc-ppc.c:4385 #, c-format msgid "Ignoring attempt to re-define symbol `%s'." msgstr "" -#: config/tc-m32r.c:1327 +#: config/tc-m32r.c:1597 #, c-format msgid "Length of .scomm \"%s\" is already %ld. Not changed to %ld." msgstr "" -#: config/tc-m32r.c:1808 +#: config/tc-m32r.c:2090 msgid "Unmatched high/shigh reloc" msgstr "" -#: config/tc-m68hc11.c:372 +#: config/tc-m32r.c:2332 config/tc-sparc.c:3491 +#, c-format +msgid "internal error: can't export reloc type %d (`%s')" +msgstr "" + +#: config/tc-m68hc11.c:368 #, c-format msgid "" "Motorola 68HC11/68HC12/68HCS12 options:\n" @@ -5204,55 +5524,56 @@ msgid "" " (used for testing)\n" msgstr "" -#: config/tc-m68hc11.c:418 +#: config/tc-m68hc11.c:414 #, c-format msgid "Default target `%s' is not supported." msgstr "" #. Dump the opcode statistics table. -#: config/tc-m68hc11.c:437 +#: config/tc-m68hc11.c:432 +#, c-format msgid "Name # Modes Min ops Max ops Modes mask # Used\n" msgstr "" -#: config/tc-m68hc11.c:505 +#: config/tc-m68hc11.c:498 #, c-format msgid "Option `%s' is not recognized." msgstr "" -#: config/tc-m68hc11.c:737 +#: config/tc-m68hc11.c:720 msgid "#" msgstr "" -#: config/tc-m68hc11.c:746 +#: config/tc-m68hc11.c:729 msgid "#" msgstr "" -#: config/tc-m68hc11.c:755 config/tc-m68hc11.c:764 +#: config/tc-m68hc11.c:738 config/tc-m68hc11.c:747 msgid ",X" msgstr "" -#: config/tc-m68hc11.c:791 +#: config/tc-m68hc11.c:774 msgid "*" msgstr "" -#: config/tc-m68hc11.c:803 +#: config/tc-m68hc11.c:786 msgid "#" msgstr "" -#: config/tc-m68hc11.c:813 +#: config/tc-m68hc11.c:796 #, c-format msgid "symbol%d" msgstr "" -#: config/tc-m68hc11.c:815 +#: config/tc-m68hc11.c:798 msgid "" msgstr "" -#: config/tc-m68hc11.c:834 +#: config/tc-m68hc11.c:817 msgid "