From sommerfeld@apollo.hp.com Mon Mar 17 15:12:12 1997
Received: from MIT.EDU (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.69.0.28]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id PAA03046 for <bugs@RT-11.MIT.EDU>; Mon, 17 Mar 1997 15:12:11 -0500
Received: from relay.hp.com by MIT.EDU with SMTP
id AA25140; Mon, 17 Mar 97 15:12:03 EST
Received: from it_750.ch.apollo.hp.com by relay.hp.com with ESMTP
(1.37.109.16/15.5+ECS 3.3) id AA239459527; Mon, 17 Mar 1997 12:12:08 -0800
Received: from snarfblatt.ch.apollo.hp.com by it_750.ch.apollo.hp.com
id AA097939523; Mon, 17 Mar 1997 15:12:03 -0500
Message-Id: <199703172012.AA239459527@relay.hp.com>
Date: Mon, 17 Mar 1997 15:12:03 -0500
From: Bill Sommerfeld <sommerfeld@apollo.hp.com>
To: krb5-bugs@MIT.EDU
Cc: lanz@apollo.hp.com
Subject: makefile setup very inconvenient for cross-compiling.
environment where the environment's includes and libraries already
include a *different* GSSAPI library from the one included in the krb5
distribution. This essentially means that we have to tack on -I
options pointing at the cross-development includes at the *end* of
CFLAGS, not at the beginning.
Unfortunately it appears that:
1) the default .c.o rule is set in each Makefile.in, not in
config/pre.in or config/post.in
2) CFLAGS is set in each Makefile.in
3) Several of the Makefile.in's define CFLAGS as
CFLAGS=$(CCOPTS) $(DEFS) -I....
so the local includes come in last; in order to accomplish this we
will have to whack all the Makefile.in's, which is a bit annoying..
I sure hope I'm not missing anything blindingly obvious, but it looks
as if we're going to have to whack all the CFLAGS= lines to include a
$(CCENDOPTS), or else reorder the definitions to sort the options
including `-I's to the beginning..
Anyone see an easier way out of this mess?
- Bill
From: Tom Yu <tlyu@MIT.EDU>
To: Bill Sommerfeld <sommerfeld@apollo.hp.com>
Cc: krb5-bugs@MIT.EDU, lanz@apollo.hp.com
Subject: Re: pending/398: makefile setup very inconvenient for cross-compiling.
Date: Mon, 17 Mar 1997 15:42:45 -0500
I suspect the real right answer is to just completely rework the way
that CFLAGS gets set.... i.e. do something sane and have something
like this in pre.in:
.c.o:
$(CC) $(CFLAGS) $(DEFS) $(LOCAL_CFLAGS) $(EXTRA_CFLAGS) -c $<
This gives CFLAGS back to the user... which is where it belongs,
rather than the CCOPTS garbage that we're using now. This probably
requires a little more design work before we go ripping up all the
Makefile.in again.
---Tom
Responsible-Changed-From-To: gnats-admin->tlyu
Responsible-Changed-By: tlyu
Responsible-Changed-When: Mon Mar 17 15:44:13 1997
Responsible-Changed-Why:
Refiled
State-Changed-From-To: open-analyzed
State-Changed-By: tlyu
State-Changed-When: Mon Mar 17 15:44:27 1997
State-Changed-Why:
From: Bill Sommerfeld <sommerfeld@apollo.hp.com>
To: Tom Yu <tlyu@MIT.EDU>
Cc: Subject: Re: pending/398: makefile setup very inconvenient for cross-compiling.
Date: Mon, 17 Mar 1997 16:49:26 -0500
If you're going to be at Mary's tonight we can talk about it then.
A coworker is leaning on me for a solution to this problem and I'd
rather do it right.
Your approach is almost what I'd do, except that I would do:
${CFLAGS} ${DEFS} ${LOCAL_CFLAGS} ${LOCAL_INCLUDES} ${INCLUDES}
i.e., reserve CFLAGS for options which affect compiler behavior like
-fpic, -O, -g, etc., , and segregate -D's into DEFS, and -I's into
*INCLUDES ...
- Bill
Received: from MIT.EDU (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.69.0.28]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id PAA03046 for <bugs@RT-11.MIT.EDU>; Mon, 17 Mar 1997 15:12:11 -0500
Received: from relay.hp.com by MIT.EDU with SMTP
id AA25140; Mon, 17 Mar 97 15:12:03 EST
Received: from it_750.ch.apollo.hp.com by relay.hp.com with ESMTP
(1.37.109.16/15.5+ECS 3.3) id AA239459527; Mon, 17 Mar 1997 12:12:08 -0800
Received: from snarfblatt.ch.apollo.hp.com by it_750.ch.apollo.hp.com
id AA097939523; Mon, 17 Mar 1997 15:12:03 -0500
Message-Id: <199703172012.AA239459527@relay.hp.com>
Date: Mon, 17 Mar 1997 15:12:03 -0500
From: Bill Sommerfeld <sommerfeld@apollo.hp.com>
To: krb5-bugs@MIT.EDU
Cc: lanz@apollo.hp.com
Subject: makefile setup very inconvenient for cross-compiling.
Show quoted text
>Number: 398
>Category: krb5-build
>Synopsis: makefile setup very inconvenient for cross-compiling.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: tlyu
>State: analyzed
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Mon Mar 17 15:13:01 EST 1997
>Last-Modified: Fri Sep 14 10:31:03 EDT 2001
>Originator: Bill Sommerfeld
>Organization:
HP>Category: krb5-build
>Synopsis: makefile setup very inconvenient for cross-compiling.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: tlyu
>State: analyzed
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Mon Mar 17 15:13:01 EST 1997
>Last-Modified: Fri Sep 14 10:31:03 EDT 2001
>Originator: Bill Sommerfeld
>Organization:
Show quoted text
>Release: 1.0
>Environment:
>Description:
We need to cross-compile stock kerberos 5 1.0 in an cross-development>Environment:
>Description:
environment where the environment's includes and libraries already
include a *different* GSSAPI library from the one included in the krb5
distribution. This essentially means that we have to tack on -I
options pointing at the cross-development includes at the *end* of
CFLAGS, not at the beginning.
Unfortunately it appears that:
1) the default .c.o rule is set in each Makefile.in, not in
config/pre.in or config/post.in
2) CFLAGS is set in each Makefile.in
3) Several of the Makefile.in's define CFLAGS as
CFLAGS=$(CCOPTS) $(DEFS) -I....
so the local includes come in last; in order to accomplish this we
will have to whack all the Makefile.in's, which is a bit annoying..
I sure hope I'm not missing anything blindingly obvious, but it looks
as if we're going to have to whack all the CFLAGS= lines to include a
$(CCENDOPTS), or else reorder the definitions to sort the options
including `-I's to the beginning..
Anyone see an easier way out of this mess?
- Bill
Show quoted text
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Fix:
>Audit-Trail:
From: Tom Yu <tlyu@MIT.EDU>
To: Bill Sommerfeld <sommerfeld@apollo.hp.com>
Cc: krb5-bugs@MIT.EDU, lanz@apollo.hp.com
Subject: Re: pending/398: makefile setup very inconvenient for cross-compiling.
Date: Mon, 17 Mar 1997 15:42:45 -0500
I suspect the real right answer is to just completely rework the way
that CFLAGS gets set.... i.e. do something sane and have something
like this in pre.in:
.c.o:
$(CC) $(CFLAGS) $(DEFS) $(LOCAL_CFLAGS) $(EXTRA_CFLAGS) -c $<
This gives CFLAGS back to the user... which is where it belongs,
rather than the CCOPTS garbage that we're using now. This probably
requires a little more design work before we go ripping up all the
Makefile.in again.
---Tom
Responsible-Changed-From-To: gnats-admin->tlyu
Responsible-Changed-By: tlyu
Responsible-Changed-When: Mon Mar 17 15:44:13 1997
Responsible-Changed-Why:
Refiled
State-Changed-From-To: open-analyzed
State-Changed-By: tlyu
State-Changed-When: Mon Mar 17 15:44:27 1997
State-Changed-Why:
From: Bill Sommerfeld <sommerfeld@apollo.hp.com>
To: Tom Yu <tlyu@MIT.EDU>
Cc: Subject: Re: pending/398: makefile setup very inconvenient for cross-compiling.
Date: Mon, 17 Mar 1997 16:49:26 -0500
If you're going to be at Mary's tonight we can talk about it then.
A coworker is leaning on me for a solution to this problem and I'd
rather do it right.
Your approach is almost what I'd do, except that I would do:
${CFLAGS} ${DEFS} ${LOCAL_CFLAGS} ${LOCAL_INCLUDES} ${INCLUDES}
i.e., reserve CFLAGS for options which affect compiler behavior like
-fpic, -O, -g, etc., , and segregate -D's into DEFS, and -I's into
*INCLUDES ...
- Bill
Show quoted text
>Unformatted: