[OpenAFS-devel] configure not honoring 'CC' environment variable

Troy Benjegerdes hozer@hozed.org
Wed, 16 Mar 2005 22:50:31 -0600


On Wed, Mar 16, 2005 at 07:57:18PM -0500, Jeffrey Hutzelman wrote:
> 
> 
> On Monday, March 14, 2005 11:27:08 AM +0100 Harald Barth <haba@pdc.kth.se> 
> wrote:
> 
> >
> >>(e.g. most Solaris versions need the C compiler  from
> >>the SUNWspro suite).
> >
> >I wrote configure 2 tests a long time ago which test if the Solaris or
> >the AIX compiler are "good enough". Still waiting for them to be used.
> >
> >According to my view of things, folks setting CC should know what they
> >do and the makefiles should not override it. For folk _not_ setting
> >CC the makefiles can do what they figure is best.
> 
> Unfortunately, this is pretty hard to get right, because once the 
> AC_PROG_CC test has run, there is really no way to tell if the resulting 
> value of CC came from the user or from the test.  And it's pretty hard to 
> get AC_PROG_CC not to run.
> 
> Further, I don't think it's reasonable to assume that folks setting CC on 
> configure's command line understand the kernel compiler issue, or that 
> people who do understand the issue necessarily want to override the kernel 
> compiler whenever they set CC to select a userland compiler.

I don't think it's reasonable to assume that 'cc' is what you want to
build with. If folks can't set CC, they will go hack the makefiles
directly.

The kernel compile better be using the compiler the kernel was built
with. In the case of Linux, I think this is all handled with the kernel
makefiles.

This issue would be a lot easier to sort out if the kernel and userland
code were clearly separated. Or at least the build process. Is there
documentation or whitepapers that I can look up at what afsd actually
does before handing off control to libafs in the kernel? I'm wondering
why both afsd and libafs are so big.

What happens if I have a 32 bit userland, and a 64 bit kernel, for
example. So far I've always punted and built all of afs 64 bit.