On 3-Nov-2007, sam sirlin wrote:
| Somehow 2.9.15 configured ok, but 2.9.16 does not
|
| - I seem to need -lmetis in cholmod, so I had to modify configure.
The license of metis is not compatible with the GPL, so Octave's
configure script no longer looks for it. You can either build a copy
of cholmod that does not link to it, or you can pass LDFLAGS to
configure. You should not have to modify the configure script.
| - config.status does not work:
| ...
| config.status: creating Makefile
| sed: 3: ./confxQ2JMe/subs-1.sed: filename expected
| config.status: creating octMakefile
| sed: 3: ./confxQ2JMe/subs-1.sed: filename expected
| ...
|
| Comparing config.status to 2.9.15 version, I see
|
| # No need to generate the scripts if there are no CONFIG_FILES.
| # This happens for instance when ./config.status config.h
| if test -n "$CONFIG_FILES"; then
|
| cat >"$tmp/subs-1.sed" <<\CEOF
| /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
| /^[ address@hidden@[ ]*$/{
| r
| d
| }
| /^[ address@hidden@[ ]*$/{
| r Makefrag.bsd
| d
| }
| ...
| but 2.9.15 has
|
| # No need to generate the scripts if there are no CONFIG_FILES.
| # This happens for instance when ./config.status config.h
| if test -n "$CONFIG_FILES"; then
|
| cat >"$tmp/subs-1.sed" <<\CEOF
| /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
| /^[ address@hidden@[ ]*$/{
| r Makefrag.f77
| d
| }
| /^[ address@hidden@[ ]*$/{
| r Makefrag.bsd
| d
| }
|
|
| I copied the Makefrag.f77 from 15, and added it into config.status (only
| the text "Makefrag.f77" was missing). Then config.status generates the
| files; now seems to be compiling ok...
|
| As a test, I deleted the part for the Makefrag.f77, and that seems to
| work ok too...
| e.g.
There shouldn't be a Makefrag.f77 file now. When I removed it, I
missed the AC_SUBST_FILE macro in configure.in. The attached patch
should fix that.
Also, looking at the Makefrag.bsd file, I would like to know whether
it is needed now. It is just a set of special rules for a few files
(the following is from configure.in):
bsd_gcc_kluge_targets_frag=/dev/null
case "$canonical_host_type" in
*-*-386bsd* | *-*-openbsd* | *-*-netbsd* | *-*-freebsd*)
bsd_gcc_kluge_targets_frag=Makefrag.bsd
cat << \EOF > $bsd_gcc_kluge_targets_frag
lex.o: lex.cc
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<
pt-plot.o: pt-plot.cc
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<
symtab.o: symtab.cc
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<
toplev.o: toplev.cc
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<
unwind-prot.o: unwind-prot.cc
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<
EOF
;;
esac
AC_SUBST_FILE(bsd_gcc_kluge_targets_frag)
and CXXFLAGS_NO_PT_FLAGS is defined as follows in
PT_FLAGS = -fexternal-templates -fno-implicit-templates
CXXFLAGS_NO_PT_FLAGS = $(filter-out $(PT_FLAGS), $(ALL_CXXFLAGS))
Is it still necessary to treat these files specially? What happens if
you compile them with the normal CXXFLAGS? Also, what version of GCC
are you using?