Duncan, Actually, shouldn't this be just an error in the Makefile.in or Makefile.am? Why should a link line like... c++ -g -O2 -mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -mdynamic-no-pic -DHAVE_CONFIG_H -o f951 \ fortran/arith.o fortran/array.o fortran/bbt.o fortran/check.o fortran/data.o fortran/decl.o fortran/dump-parse-tree.o fortran/error.o fortran/expr.o fortran/interface.o fortran/intrinsic.o fortran/io.o fortran/iresolve.o fortran/match.o fortran/matchexp.o fortran/misc.o fortran/module.o fortran/openmp.o fortran/options.o fortran/parse.o fortran/primary.o fortran/resolve.o fortran/scanner.o fortran/simplify.o fortran/st.o fortran/symbol.o fortran/convert.o fortran/dependency.o fortran/f95-lang.o fortran/trans.o fortran/trans-array.o fortran/trans-common.o fortran/trans-const.o fortran/trans-decl.o fortran/trans-expr.o fortran/trans-intrinsic.o fortran/trans-io.o fortran/trans-openmp.o fortran/trans-stmt.o fortran/trans-types.o llvm-main.o libbackend.a ../libcpp/libcpp.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMBitReader.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMipo.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMBitWriter.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/LLVMX86.o /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMSelectionDAG.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMCodeGen.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMScalarOpts.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMTransformUtils.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMipa.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMAnalysis.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMTarget.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMCore.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMSupport.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMSystem.a attribs.o stub-objc.o stub-c.o -L/sw/lib -lmpfr -lgmp ../libcpp/libcpp.a ./../intl/libintl.a /usr/lib/libiconv.dylib ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib -lpthread -lm ..even require c++ instead of xgcc? Jack On Mon, Aug 11, 2008 at 04:18:00PM +0200, Duncan Sands wrote:> > the FSF gcc requires you to build the C compiler (I think - will check). > Thus a newly built C compiler is always available to build later stages. > We can't reasonably require everyone to build the C++ compiler (I > often don't - it speeds up the build considerably). So we would > need some new logic to handle this situation. It can doubtless > be done, but hasn't been done - mucking with the gcc build system > can be quite an adventure! > > Ciao, > > Duncan.
Hi Jack,> Actually, shouldn't this be just an error in the Makefile.in or > Makefile.am? Why should a link line like......> ..even require c++ instead of xgcc?because xgcc may not support c++. I'm not saying that it can't be done, just that it has not been done. Like anything, someone has to sit down and do it, and nobody has done so yet. Ciao, Duncan.
Duncan, So you agree that nothing on that offending link line is really requiring g++? I'll see if I can find the lines in Makefile.in and Makefile.am that are producing that link line and propose a patch. I don't see why the linkage of the gfortran compiler itself should have anything to do with c++ code. Not even FSF gcc trunk has switched over to building with c++ yet. I assume that's also not the case with the llvm gcc 4.2 front end. Jack On Mon, Aug 11, 2008 at 06:08:10PM +0200, Duncan Sands wrote:> Hi Jack, > > > Actually, shouldn't this be just an error in the Makefile.in or > > Makefile.am? Why should a link line like... > ... > > ..even require c++ instead of xgcc? > > because xgcc may not support c++. I'm not saying that it can't > be done, just that it has not been done. Like anything, someone > has to sit down and do it, and nobody has done so yet. > > Ciao, > > Duncan.
On Aug 11, 2008, at 9:08 AMPDT, Duncan Sands wrote:> Hi Jack, > >> Actually, shouldn't this be just an error in the Makefile.in or >> Makefile.am? Why should a link line like... > ... >> ..even require c++ instead of xgcc?Generally if there are any C++ components on your link line (such as LLVM), you need to link with c++; otherwise it won't look for libstdc++ and whatever else the local c++ installation needs.