|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
fix in-tree building of ppl, cloog, libelfThis patch fixes a number of problems I ran into attempting to bootstrap
gmp, mpfr, mpc, ppl, cloog and libelf along with GCC. It's not so much that I wanted to bootstrap them in the first place, but I wanted to build graphite et al on machines on which I couldn't easily install precompiled versions thereof. I figured dropping them in the source tree I pushed onto them would be simpler. Big mistake ;-) I got ppl adn cloog --with-* flag handling to actually set things up for the in-tree headers and libraries to be used. Setting with_cloog and with_ppl by default was disabling the code that looked for the sources in the build tree, so the include and link flags we're set up properly. The top-level configure expected ppl to put headers and libraries at the wrong place, so cloog would fail to configure and, getting past that, gcc would fail to build. I arranged for cloog to be fed the same CPPFLAGS and LDFLAGS that we give GCC to locate ppl, and I fixed them so that the ppl headers and libraries would be located in the build tree. I arranged for the version checks applied to ppl, cloog and libelf to be skipped for in-tree builds. I improved the portability of the test for whether C++ is enabled as a bootstrap language, and I arranged for us to use the standard C++ compiler and flags during stage2 and stage3 otherwise, so that ppl and cloog can build in all stages. Without a bootstrapped C++ compiler, recompiling C++ stuff with the system C++ compiler is a bit of a waste, but I couldn't think of a way to selectively disable bootstrapping of certain programs. And then, I figured it might be useful to support drop-in C++-requiring programs (think gold) without failing or demanding a C++ bootstrap. I dropped the none-vendor-os triples passed to nearly all drop-in libraries. configure complains about it, and I can't figure out why it's there at all. Although there was some configury code (presumably cut&pasted from other libs) that would have permitted libelf to build as a drop-in, that was far from enough. I added what was missing and fixed what was broken, so that it works. I'd appreciate if someone who's been more active in configury would take a look at the changes below, but if nobody objects, I'll check this in about a week from now, after I return from my next trip (the last of the year, yay! :-) for ChangeLog from Alexandre Oliva <aoliva@...> * configure.ac: Add libelf to host_libs. Enable in-tree configury of ppl and cloog. Fix in-tree configury of libelf, skip tests. Fix portability of test of C++ as bootstrap language. Add ppl/src/ppl-config.o to the bootstrap compare exclusion list. * configure: Rebuild. * Makefile.def: Drop host and target settings from gmp, mpfr, ppl, and cloog. Fix in-tree ppl configuration. Introduce libelf in-tree building. * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): New. (POSTSTAGE1_HOST_EXPORTS): Use it. (STAGE[+id+]_CXXFLAGS): New. (BASE_FLAGS_TO_PASS): Pass it down. (configure-stage[+id+]-[+prefix+][+module+]): Use it. Add extra_exports. (all-stage[+id+]-[+prefix+][+module+]): Likewise. (configure-[+prefix+][+module+], all-[+prefix+][+module+]): Add extra_exports. * Makefile.in: Rebuild. Index: configure.ac =================================================================== --- configure.ac.orig 2009-11-08 05:09:49.000000000 -0200 +++ configure.ac 2009-11-08 05:17:17.000000000 -0200 @@ -161,7 +161,7 @@ build_tools="build-texinfo build-byacc b # these libraries are used by various programs built for the host environment # -host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libiconv" +host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libelf libiconv" # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -1516,7 +1516,7 @@ pplinc= AC_ARG_WITH(ppl, [ --with-ppl=PATH Specify prefix directory for the installed PPL package Equivalent to --with-ppl-include=PATH/include - plus --with-ppl-lib=PATH/lib],, with_ppl=yes) + plus --with-ppl-lib=PATH/lib]) AC_ARG_WITH(ppl_include, [ --with-ppl-include=PATH Specify directory for installed PPL include files]) AC_ARG_WITH(ppl_lib, [ --with-ppl-lib=PATH Specify the directory for the installed PPL library]) @@ -1524,7 +1524,7 @@ case $with_ppl in no) ppllibs= ;; - yes) + "" | yes) ;; *) ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx" @@ -1538,8 +1538,9 @@ if test "x$with_ppl_lib" != x; then ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx" fi if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then - ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/.libs -L$$r/$(HOST_SUBDIR)/ppl/_libs -lppl_c -lppl -lgmpxx ' - pplinc='-I$$r/$(HOST_SUBDIR)/ppl/include -I$$s/ppl/include ' + ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/.libs -L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/_libs -L$$r/$(HOST_SUBDIR)/ppl/src/.libs -L$$r/$(HOST_SUBDIR)/ppl/src/_libs -lppl_c -lppl -lgmpxx ' + pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C ' + enable_ppl_version_check=no fi AC_ARG_ENABLE(ppl-version-check, @@ -1570,7 +1571,7 @@ clooginc=" -DCLOOG_PPL_BACKEND " AC_ARG_WITH(cloog, [ --with-cloog=PATH Specify prefix directory for the installed CLooG-PPL package Equivalent to --with-cloog-include=PATH/include - plus --with-cloog-lib=PATH/lib],, with_cloog=yes) + plus --with-cloog-lib=PATH/lib]) AC_ARG_WITH(cloog_include, [ --with-cloog-include=PATH Specify directory for installed CLooG include files]) AC_ARG_WITH(cloog_lib, [ --with-cloog-lib=PATH Specify the directory for the installed CLooG library]) @@ -1583,7 +1584,7 @@ case $with_cloog in clooglibs= clooginc= ;; - yes) + "" | yes) ;; *) clooglibs="-L$with_cloog/lib -lcloog" @@ -1599,6 +1600,7 @@ fi if test "x$with_cloog$with_cloog_include$with_cloog_lib" = x && test -d ${srcdir}/cloog; then clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/.libs -L$$r/$(HOST_SUBDIR)/cloog/_libs -lcloog ' clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -DCLOOG_PPL_BACKEND ' + enable_cloog_version_check=no fi AC_ARG_ENABLE(cloog-version-check, @@ -1665,10 +1667,11 @@ if test x"$enable_lto" = x"yes" ; then if test "x$with_libelf$with_libelf_include$with_libelf_lib" = x \ && test -d ${srcdir}/libelf; then - libelflibs='-L$$r/$(HOST_SUBDIR)/libelf/.libs -L$$r/$(HOST_SUBDIR)/libelf/_libs -lelf ' - libelfinc='-I$$r/$(HOST_SUBDIR)/libelf/include -I$$s/libelf/include' + libelflibs='-L$$r/$(HOST_SUBDIR)/libelf/lib -lelf ' + libelfinc='-D__LIBELF_INTERNAL__ -I$$r/$(HOST_SUBDIR)/libelf/lib -I$$s/libelf/lib' LIBS="$libelflibs $LIBS" - fi + + else CFLAGS="$CFLAGS $libelfinc" CPPFLAGS="$CPPFLAGS $libelfinc" @@ -1738,6 +1741,8 @@ to specify its location.]) CPPFLAGS="$saved_CPPFLAGS" LIBS="$saved_LIBS" + fi + # Flags needed for libelf. AC_SUBST(libelflibs) AC_SUBST(libelfinc) @@ -1850,7 +1855,8 @@ if test -d ${srcdir}/gcc; then exit 1 fi - if test "$language" = "c++" -a "$ENABLE_BUILD_WITH_CXX" = "yes"; then + if test "$language" = "c++" \ + && test "$ENABLE_BUILD_WITH_CXX" = "yes"; then boot_language=yes fi @@ -3368,6 +3374,9 @@ case "$target" in hppa*64*-*-hpux*) ;; hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;; esac +case " $configdirs " in +*" ppl "*) compare_exclusions="$compare_exclusions | ppl/src/ppl-config.o" ;; +esac AC_SUBST(compare_exclusions) AC_CONFIG_FILES([Makefile], Index: Makefile.def =================================================================== --- Makefile.def.orig 2009-11-08 05:09:38.000000000 -0200 +++ Makefile.def 2009-11-08 05:09:57.000000000 -0200 @@ -62,27 +62,24 @@ host_modules= { module= gawk; }; host_modules= { module= gettext; }; host_modules= { module= gmp; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared'; - no_install= true; - host="none-${host_vendor}-${host_os}"; - target="none-${host_vendor}-${host_os}"; }; + no_install= true; }; host_modules= { module= mpfr; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared @extra_mpfr_configure_flags@'; - no_install= true; - host="none-${host_vendor}-${host_os}"; - target="none-${host_vendor}-${host_os}"; }; + no_install= true; }; host_modules= { module= mpc; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@'; no_install= true; }; -host_modules= { module= ppl; lib_path=.libs; bootstrap=true; +host_modules= { module= ppl; lib_path=src/.libs; bootstrap=true; extra_configure_flags='--disable-shared --with-libgmp-prefix=$$r/$(HOST_SUBDIR)/gmp/ --with-libgmpxx-prefix=$$r/$(HOST_SUBDIR)/gmp/'; - no_install= true; - host="none-${host_vendor}-${host_os}"; - target="none-${host_vendor}-${host_os}"; }; + no_install= true; }; host_modules= { module= cloog; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-ppl=$$r/$(HOST_SUBDIR)/ppl/ --with-bits=gmp'; - no_install= true; - host="none-${host_vendor}-${host_os}"; - target="none-${host_vendor}-${host_os}"; }; + extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-ppl'; + extra_exports='CPPFLAGS="${CPPFLAGS} ${HOST_PPLINC}"; export CPPFLAGS; LDFLAGS="$$LDFLAGS ${HOST_PPLLIBS}"; export LDFLAGS; '; + extra_make_flags='CPPFLAGS="${CPPFLAGS} ${HOST_PPLINC}" LDFLAGS="$$LDFLAGS"'; + no_install= true; }; +host_modules= { module= libelf; lib_path=.libs; bootstrap=true; + extra_configure_flags='--disable-shared'; + no_install= true; }; host_modules= { module= gnuserv; }; host_modules= { module= gold; bootstrap=true; }; host_modules= { module= gprof; }; @@ -326,6 +323,7 @@ dependencies = { module=all-gcc; on=all- dependencies = { module=all-gcc; on=all-mpc; }; dependencies = { module=all-gcc; on=all-ppl; }; dependencies = { module=all-gcc; on=all-cloog; }; +dependencies = { module=all-gcc; on=all-libelf; }; dependencies = { module=all-gcc; on=all-build-texinfo; }; dependencies = { module=all-gcc; on=all-build-bison; }; dependencies = { module=all-gcc; on=all-build-byacc; }; Index: Makefile.tpl =================================================================== --- Makefile.tpl.orig 2009-11-08 05:09:38.000000000 -0200 +++ Makefile.tpl 2009-11-08 05:09:57.000000000 -0200 @@ -229,6 +229,21 @@ HOST_EXPORTS = \ @endif gcc-bootstrap $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); +POSTSTAGE1_CXX_EXPORT = \ + CXX='$(CXX)'; export CXX; \ + CXX_FOR_BUILD='$(CXX_FOR_BUILD)'; export CXX_FOR_BUILD; +@if target-libstdc++-v3-bootstrap +# Override the above if we're bootstrapping C++. +POSTSTAGE1_CXX_EXPORT = \ + CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \ + -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ + -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ + -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ + -I$$s/libstdc++-v3/libsupc++ \ + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \ + CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; +@endif target-libstdc++-v3-bootstrap + # Similar, for later GCC stages. POSTSTAGE1_HOST_EXPORTS = \ $(HOST_EXPORTS) \ @@ -236,13 +251,7 @@ POSTSTAGE1_HOST_EXPORTS = \ -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \ $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \ CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \ - CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \ - -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ - -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ - -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ - -I$$s/libstdc++-v3/libsupc++ \ - -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \ - CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; \ + $(POSTSTAGE1_CXX_EXPORT) \ GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \ LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \ HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS; @@ -401,6 +410,11 @@ STAGE_CONFIGURE_FLAGS=@stage2_werror_fla [+ FOR bootstrap-stage +] # Defaults for stage [+id+]; some are overridden below. STAGE[+id+]_CFLAGS = $(STAGE_CFLAGS) +STAGE[+id+]_CXXFLAGS = $(CXXFLAGS) +@if target-libstdc++-v3-bootstrap +# Override the above if we're bootstrapping C++. +STAGE[+id+]_CXXFLAGS = $(STAGE[+id+]_CFLAGS) +@endif target-libstdc++-v3-bootstrap STAGE[+id+]_TFLAGS = $(STAGE_TFLAGS) STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS) [+ ENDFOR bootstrap-stage +] @@ -412,8 +426,8 @@ STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CO # overrideable (for a bootstrap build stage1 also builds gcc.info). STAGE1_CFLAGS = @stage1_cflags@ -STAGE1_CHECKING=@stage1_checking@ -STAGE1_LANGUAGES=@stage1_languages@ +STAGE1_CHECKING = @stage1_checking@ +STAGE1_LANGUAGES = @stage1_languages@ # * We force-disable intermodule optimizations, even if # --enable-intermodule was passed, since the installed compiler # probably can't handle them. Luckily, autoconf always respects @@ -528,6 +542,7 @@ BASE_FLAGS_TO_PASS =[+ FOR flags_to_pass "`echo '[+flag+]=$([+flag+])' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"[+ ELSE optional +] \ "[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +][+ FOR bootstrap-stage +] \ "STAGE[+id+]_CFLAGS=$(STAGE[+id+]_CFLAGS)" \ + "STAGE[+id+]_CXXFLAGS=$(STAGE[+id+]_CXXFLAGS)" \ "STAGE[+id+]_TFLAGS=$(STAGE[+id+]_TFLAGS)"[+ ENDFOR bootstrap-stage +] \ "TFLAGS=$(TFLAGS)" \ "CONFIG_SHELL=$(SHELL)" \ @@ -575,8 +590,8 @@ POSTSTAGE1_FLAGS_TO_PASS = \ CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \ CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \ GNATBIND="$${GNATBIND}" \ - LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)" \ - HOST_LIBS="$(POSTSTAGE1_LIBS)" \ + LDFLAGS="$${LDFLAGS}" \ + HOST_LIBS="$${HOST_LIBS}" \ "`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" # Flags to pass down to makes which are built with the target environment. @@ -918,7 +933,7 @@ configure-[+prefix+][+module+]: [+ IF bo fi; \ [+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \ $(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \ - [+exports+] \ + [+exports+] [+extra_exports+] \ echo Configuring in [+subdir+]/[+module+]; \ cd "[+subdir+]/[+module+]" || exit 1; \ case $(srcdir) in \ @@ -967,9 +982,10 @@ configure-stage[+id+]-[+prefix+][+module CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;[+ ELSE prefix +] \ CFLAGS="$(STAGE[+id+]_CFLAGS)"; export CFLAGS; \ - CXXFLAGS="$(STAGE[+id+]_CFLAGS)"; export CXXFLAGS;[+ IF prev +] \ + CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"; export CXXFLAGS;[+ IF prev +] \ LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \ - LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +]; export LIBCFLAGS;[+ ENDIF prefix +] \ + LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +]; export LIBCFLAGS;[+ + ENDIF prefix +] [+extra_exports+] \ echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \ $(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \ cd [+subdir+]/[+module+] || exit 1; \ @@ -1005,7 +1021,7 @@ all-[+prefix+][+module+]: configure-[+pr @: $(MAKE); $(unstage)[+ ENDIF bootstrap +] @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - [+exports+] \ + [+exports+] [+extra_exports+] \ (cd [+subdir+]/[+module+] && \ $(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+extra_make_flags+] \ $(TARGET-[+prefix+][+module+])) @@ -1027,14 +1043,14 @@ all-stage[+id+]-[+prefix+][+module+]: co s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ TFLAGS="$(STAGE[+id+]_TFLAGS)"; \ [+exports+][+ IF prev +] \ - [+poststage1_exports+][+ ENDIF prev +] \ + [+poststage1_exports+][+ ENDIF prev +] [+extra_exports+] \ cd [+subdir+]/[+module+] && \ $(MAKE) $(BASE_FLAGS_TO_PASS)[+ IF prefix +] \ CFLAGS="$(CFLAGS_FOR_TARGET)" \ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \ LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"[+ ELSE prefix +] \ CFLAGS="$(STAGE[+id+]_CFLAGS)" \ - CXXFLAGS="$(STAGE[+id+]_CFLAGS)"[+ IF prev +] \ + CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"[+ IF prev +] \ LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \ LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +][+ ENDIF prefix +] \ CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ -- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist Red Hat Brazil Compiler Engineer |
|
|
Re: fix in-tree building of ppl, cloog, libelfOn 11/08/2009 09:45 AM, Alexandre Oliva wrote:
> I dropped the none-vendor-os triples passed to nearly all drop-in > libraries. configure complains about it, and I can't figure out why > it's there at all. Alex, thanks so much for this work! The only doubt I have is about the changes to drop the host/target triples for gmp. This was done for two reasons: 1) it fixed at the time bootstrap for Intel Macs, and this is no longer important; 2) it drops the assembly code implementations, thus trading some performance with stronger testing of the compiler. However, it is definitely possible that this broke for other host modules' configure scripts, and I must have overlooked it when reviewing the cloog and ppl patches; it was totally unnecessary there. I usually bootstrap with in-tree gmp/mpfr and it works for me, so it should be left in for gmp (but still removed from cloog and ppl). Besides that, the patch looks great, please check it in. :-) Paolo |
|
|
Re: fix in-tree building of ppl, cloog, libelfOn Nov 8, 2009, Paolo Bonzini <bonzini@...> wrote:
> The only doubt I have is about the changes to drop the host/target > triples for gmp. Uhh. Sorry, I forgot you had brought up this point before checking in the patch. I'm now testing the reversal of that change, and I'll check it in as soon as I confirm it has the intended effect. -- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist Red Hat Brazil Compiler Engineer |
|
|
Re: fix in-tree building of ppl, cloog, libelfOn Mon, Nov 16, 2009 at 21:02, Alexandre Oliva <aoliva@...> wrote:
> On Nov 8, 2009, Paolo Bonzini <bonzini@...> wrote: > >> The only doubt I have is about the changes to drop the host/target >> triples for gmp. > > Uhh. Sorry, I forgot you had brought up this point before checking in > the patch. I'm now testing the reversal of that change, and I'll check > it in as soon as I confirm it has the intended effect. No problem. Paolo |
|
|
Re: fix in-tree building of ppl, cloog, libelfOn Nov 16, 2009, Alexandre Oliva <aoliva@...> wrote:
> On Nov 8, 2009, Paolo Bonzini <bonzini@...> wrote: >> The only doubt I have is about the changes to drop the host/target >> triples for gmp. > Uhh. Sorry, I forgot you had brought up this point before checking in > the patch. I'm now testing the reversal of that change, and I'll check > it in as soon as I confirm it has the intended effect. Turns out my lapse had much worse effects than both you and I guessed: gmp's configure aborts if --target is different from --host. This patch fixes it, and documents the problems. I'll install it momentarily, as a partial reversal, rather than waiting for it to complete a full test cycle. for ChangeLog from Alexandre Oliva <aoliva@...> * Makefile.def: Restore host and target settings for gmp. * Makefile.in: Rebuild. Index: Makefile.def =================================================================== --- Makefile.def.orig 2009-11-16 20:08:36.000000000 -0200 +++ Makefile.def 2009-11-16 20:12:31.000000000 -0200 @@ -62,7 +62,13 @@ host_modules= { module= gawk; }; host_modules= { module= gettext; }; host_modules= { module= gmp; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared'; - no_install= true; }; + no_install= true; + // none-*-* disables asm optimizations, bootstrap-testing + // the compiler more thoroughly. + host="none-${host_vendor}-${host_os}"; + // gmp's configure will complain if given anything + // different from host for target. + target="none-${host_vendor}-${host_os}"; }; host_modules= { module= mpfr; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared @extra_mpfr_configure_flags@'; no_install= true; }; Index: Makefile.in =================================================================== --- Makefile.in.orig 2009-11-16 20:08:36.000000000 -0200 +++ Makefile.in 2009-11-16 20:12:49.000000000 -0200 @@ -16299,8 +16299,8 @@ configure-gmp: srcdiroption="--srcdir=$${topdir}/gmp"; \ libsrcdir="$$s/gmp"; \ $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ - --target=${target_alias} $${srcdiroption} --disable-shared \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ + --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared \ || exit 1 @endif gmp @@ -16332,8 +16332,8 @@ configure-stage1-gmp: srcdiroption="--srcdir=$${topdir}/gmp"; \ libsrcdir="$$s/gmp"; \ $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ - --target=${target_alias} $${srcdiroption} \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ + --target=none-${host_vendor}-${host_os} $${srcdiroption} \ $(STAGE1_CONFIGURE_FLAGS) \ --disable-shared @endif gmp-bootstrap @@ -16365,8 +16365,8 @@ configure-stage2-gmp: srcdiroption="--srcdir=$${topdir}/gmp"; \ libsrcdir="$$s/gmp"; \ $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ - --target=${target_alias} $${srcdiroption} \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ + --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ $(STAGE2_CONFIGURE_FLAGS) \ --disable-shared @@ -16399,8 +16399,8 @@ configure-stage3-gmp: srcdiroption="--srcdir=$${topdir}/gmp"; \ libsrcdir="$$s/gmp"; \ $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ - --target=${target_alias} $${srcdiroption} \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ + --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ $(STAGE3_CONFIGURE_FLAGS) \ --disable-shared @@ -16433,8 +16433,8 @@ configure-stage4-gmp: srcdiroption="--srcdir=$${topdir}/gmp"; \ libsrcdir="$$s/gmp"; \ $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ - --target=${target_alias} $${srcdiroption} \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ + --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ $(STAGE4_CONFIGURE_FLAGS) \ --disable-shared @@ -16467,8 +16467,8 @@ configure-stageprofile-gmp: srcdiroption="--srcdir=$${topdir}/gmp"; \ libsrcdir="$$s/gmp"; \ $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ - --target=${target_alias} $${srcdiroption} \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ + --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ $(STAGEprofile_CONFIGURE_FLAGS) \ --disable-shared @@ -16501,8 +16501,8 @@ configure-stagefeedback-gmp: srcdiroption="--srcdir=$${topdir}/gmp"; \ libsrcdir="$$s/gmp"; \ $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ - --target=${target_alias} $${srcdiroption} \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ + --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ $(STAGEfeedback_CONFIGURE_FLAGS) \ --disable-shared -- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist Red Hat Brazil Compiler Engineer |
| Free embeddable forum powered by Nabble | Forum Help |