This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Preinstall thoughts


I'm mentally fiddling with the 'preinstall' concept and trying to figure 
out what the gotchas are.

Suppose we create top-level targets

preinstall-foo:
	$(MAKE) \
	"prefix=${preinstall_prefix}" \
	"exec_prefix=${preinstall_prefix}/bin" \
(etc.... I'm not sure how much would be needed, but we could have as 
much as we needed)
	install-foo

Now suppose that instead of the current:
raw_libstdcxx_flags=' -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src 
  -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'

we have:
raw_libstdcxx_flags=' -L${preinstall_prefix}/lib' 

and this is used by libraries (such as libjava) which need to link to 
libstdc++-v3.

>From the list archives way back in February, Alex seemed to indicate 
that this might break something on some systems by leaving the 
${preinstall_prefix} path encoded into libjava.

Is this correct?  If so, would it make any difference if I changed
the line in the *preinstalled* foo.la to say "installed=no" ?

I'm certain I can find some way to make this work.

This preinstall scheme seems to have no problems with executables.
(Although, actually, I'm unsure about 'xgcc' itself, since it does the
odd thing of calling other programs; does it have hardcoded paths or 
what?)
  
I'm not 100% sure about 'include' files either, but they appear to be
truly location-independent.  So it's basically only the libraries I'm
wondering about.

Libtool experts?

(Note: the original scheme involved building directly into the 
'preinstall' directory.  This is still a good idea.  But it was objected 
to by a lot of people who wanted to build in-source from the gcc 
subdirectory and have the executable show up there, so I'm fiddling 
with alternate schemes.  If there really is no way to make this one 
work, we have to add a 'preinstall' target in *every subdirectory* and
make sure that it behaves properly.  Which I'll do if needed, but it 
would be much more tedious than getting a generic solution.)

--Nathanael


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]