Best way to have a port...
M. Warner Losh
imp at bsdimp.com
Tue Mar 2 15:43:53 UTC 2010
In message: <20100302120308.GA53683 at elmar.spoerlein.net>
Ulrich Spörlein <uqs at spoerlein.net> writes:
: On Mon, 01.03.2010 at 23:51:25 -0700, M. Warner Losh wrote:
: > ... that builds part of FreeBSD?
: >
: > Let me back up...
: >
: > I'm trying to create a port for gcc and binutils that is configured
: > for FreeBSD for a given machine. FreeBSD mips, say. binutils was
: > relatively easy (once I ported our mips support forward). However,
: > gcc vexes me. It requires, to build libgcc and friends, a fully
: > populated include tree. And it wants to use
: > /usr/local/freebsd-mips/include instead of /usr/include (which is
: > good). However, the former doesn't exist. I'd like to create a port
: > for it, but I'm unclear how to even start. This port should consist
: > of all files from make includes TARGET_ARCH=mips.
: >
: > So, some questions: First, how do I know where the FreeBSD source tree
: > is? Is there some standard define like SYSDIR that contains this
: > infomration?
:
: Simply take a look at ports that required /src or /sys to compile, eg.
: lsof or fusefs-kmod:
:
: lsof has: FREEBSD_SYS?= /usr/src/sys
: fusefs-kmod has: SRC_BASE?= /usr/src
:
: So neither of them use a predefined var.
There's a lot more ports that use SYSDIR for /usr/src/sys :). lsof
and fusefs-kmod are odd-men here. I think that most of the ports that
rely on this feature do so because they include kmod.mk, for example.
: > Second, I need to invoke make includes (and a few other things), with
: > some slightly non-standard args. is there a stylied way to do this?
: > I'd like to avoid extracting everything into myport/work/FreeBSD :)
:
: Not quite sure on *when* you want to run make includes and if you want
: to run it for the port or for /usr/src?
:
: You could override the "pre-build:" target with stuff necessary pre
: build :)
I want it to be a port that my gcc port depends on. So, to make that
port, I need to know where /usr/src for the system lives. That's only
half the battle, since I don't want to "extract" it to
work/freebsd-mips-headers/blah, but just do the includes target
there (with a combination of MAKEOBJDIRPREFIX and DESTDIR tricks, I
think).
Warner
More information about the freebsd-ports
mailing list