sortix-mirror/tix/tix-build.8

170 lines
3.9 KiB
Groff

.Dd April 12, 2022
.Dt TIX-BUILD 8
.Os
.Sh NAME
.Nm tix-build
.Nd build a port
.Sh SYNOPSIS
.Nm
.Op Fl \-build Ns = Ns Ar triplet
.Op Fl \-destination Ns = Ns Ar directory
.Op Fl \-end Ns = Ns Ar step
.Op Fl \-exec-prefix Ns = Ns Ar prefix
.Op Fl \-generation Ns = Ns Ar level
.Op Fl \-host Ns = Ns Ar triplet
.Op Fl \-make Ns = Ns Ar path
.Op Fl \-makeflags Ns = Ns Ar makeflags
.Op Fl \-prefix Ns = Ns Ar prefix
.Op Fl \-source-package Ns = Ns Ar source-package
.Op Fl \-source-port Ns = Ns Ar source-port
.Op Fl \-start Ns = Ns Ar step
.Op Fl \-sysroot Ns = Ns Ar directory
.Op Fl \-tar Ns = Ns Ar path
.Op Fl \-target Ns = Ns Ar triplet
.Op Fl \-tmp Ns = Ns Ar directory
.Ar port
.Sh DESCRIPTION
.Nm
builds a source code directory containing a
.Xr port 5
of software for this operating system.
.Nm
is usually invoked through the higher level
.Xr tix-port 8 .
.Pp
The mandatory
.Ar port
argument is the directory containing the source code.
The
.Xr port 5
file containing the build instruction is found by adding
.Pa .port
to this path, or if it does not exist then
.Pa tix.port
inside the directory.
.Pp
The options are as follows:
.Bl -tag -width "12345678"
.It Fl \-build Ns = Ns Ar triplet
The platform
.Ar triplet
for the machine the port is built on.
(Default: Automatically detected.)
.It Fl \-destination Ns = Ns Ar directory
The binary package is placed inside this
.Ar directory .
.It Fl \-end Ns = Ns Ar step
Stop the build after this
.Ar step :
.Pp
.Bl -tag -width "clean, pre-clean" -compact
.It start
The start step before anything has happened.
.It clean, pre-clean
Clean the source directory before the build.
.It configure
Configure the port.
.It build
Build the port.
.It install
Install the port into the
.Ev DESTDIR .
.It post-install
Run the post-installation script.
.It post-clean
Clean the source code after the port.
.It package
Create the binary package.
.It end
The end step after everything has happened.
(Default)
.El
.It Fl \-exec-prefix Ns = Ns Ar prefix
The
.Ar prefix
where architecture dependent files are installed.
(Default:
.Fl \-prefix )
.It Fl \-generation Ns = Ns Ar generation
Create a binary package in the format of this tix generation
.Ar level .
(Default: 2)
.It Fl \-host Ns = Ns Ar triplet
The platform
.Ar triplet
for the machine the port will run on.
(Default:
.Fl \-build )
.It Fl \-make Ns = Ns Ar path
Which
.Xr make 1
to use.
(Default:
.Ev MAKE
if set and otherwise
.Xr make 1 )
.It Fl \-makeflags Ns = Ns Ar makeflags
Override the
.Ev MAKEFLAGS
variable inherited by make.
.It Fl \-prefix Ns = Ns Ar prefix
Build the port into this
.Ar prefix .
(Default: The empty prefix designating the root directory)
.\" After releasing Sortix 1.1, remove this option.
.It Fl \-source-package Ns = Ns Ar source-port
Deprecated alias for
.Fl \-source-port
that will be removed after the next release.
.It Fl \-source-port Ns = Ns Ar source-port
The source code for the
.Sy SOURCE_PORT
per
.Xr port 5
is found in the
.Ar source-port
directory.
.\" TODO: This is different from tix-port(8).
.\"(Default: ../$SOURCE_PORT/$SOURCE_PORT)
(Default: $SOURCE_PORT)
.It Fl \-start Ns = Ns Ar step
Start the build at this step (see
.Fl \-end ) .
(Default:
.Sy start )
.It Fl \-sysroot Ns = Ns Ar directory
The system root to use while building and installing the port.
The toolchain is wrapped to transparently use this sysroot during the build.
.It Fl \-tar Ns = Ns Ar path
Which
.Xr tar 1
to use during the build.
(Default:
.Xr tar 1 )
.It Fl \-target Ns = Ns Ar triplet
The port's outputs targets this platform
.Ar triplet .
(Default:
.Fl \-host )
.It Fl \-tmp Ns = Ns Ar directory
Place temporary files in this
.Ar directory .
(Default:
.Ev TMPDIR
if set otherwise
.Pa /tmp )
.El
.Sh EXIT STATUS
.Nm
will exit 0 on success and non-zero otherwise.
.Sh SEE ALSO
.Xr port 5 ,
.Xr development 7 ,
.Xr porting 7 ,
.Xr tix-collection 8 ,
.Xr tix-install 8 ,
.Xr tix-port 8
.Sh HISTORY
.Nm
originally appeared in Sortix 0.8.