Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jul 1998 01:03:23 -0600
From:      Warner Losh <imp@village.org>
To:        John Birrell <jb@cimlogic.com.au>
Cc:        current@FreeBSD.ORG
Subject:   Re: Does building current on 2.2.x still work? 
Message-ID:  <199807230703.BAA08029@harmony.village.org>
In-Reply-To: Your message of "Thu, 23 Jul 1998 16:54:32 %2B1000." <199807230654.QAA01964@cimlogic.com.au> 
References:  <199807230654.QAA01964@cimlogic.com.au>  

next in thread | previous in thread | raw e-mail | index | archive | help
In message <199807230654.QAA01964@cimlogic.com.au> John Birrell writes:
: No. Unless you include the correct sys.mk, you won't get the library
: path correct since the 2.2.* versions of sys.mk don't know about
: /usr/lib/aout. Patching src/Makefile to allow for differences in versions
: of sys.mk seems the wrong thing to do. If people don't like using the -m
: argument, then the top level makefile should not use anything from sys.mk.

Given the number of people that have hit and will hit this problem in
the future, I think some efforts should be made.

Something like

.if !defined(MACHINE_ARCH)
MACHINE_ARCH=${MACHINE}
# Default executable format
.if ${MACHINE} == "alpha"
BINFORMAT?=	elf
.else
BINFORMAT?=	aout
.endif

.if ${BINFORMAT} == aout
LIBDIR=	/usr/lib/aout
.else
LIBDIR=	/usr/lib
.endif
.endif

Would come close to doing the trick.  But that's starting to get way
evil, and kinda against the grain of being able to specify the LIBDIR
stuff (and you'd also have to do SHLIBDIR too and who knows what
else).

Another option, learned from the ports system, would be to have
(presented here in simplified form):

world:
	make real-world
buildworld:
	make real-buildworld
installworld:
	make real-installworld

And then rename the current *world targets to real-*world.

and ditch the .if ... .endif around the .MAKEFLAGS line.  This should
ensure that we're building with the right sys.mk file at the cost of
one submake (which is relatively minor all things considered).  You'd
still need to have the MACHINE_ARCH?= line, or need to proect where
MACHINE_ARCH was used in the toplevel makefile.

Warner

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807230703.BAA08029>