1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2026-10-24 17:39:18 +03:00
Files
w64devkit/man/man1/w64devkit.1
Christopher Wellons 5939e14665 Add manual pages for w64devkit's own tools
Pages for xxd, make2compdb, peports, recycle, uuidgen, vc++filt,
debugbreak, nroff and w64devkit, written from their sources.
man/README.md describes the style for hand-written pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 06:33:28 -04:00

253 lines
4.7 KiB
Groff

.TH W64DEVKIT 1 2026-10-19 "w64devkit" "w64devkit Manual"
.SH NAME
w64devkit \- start a shell in the w64devkit environment
.SH SYNOPSIS
.B w64devkit
.SH DESCRIPTION
.BR w64devkit.exe ,
at the top of the kit, configures the environment and starts a
busybox login shell,
.BR "sh \-l" ,
in a console.
It is the easiest way to enter the kit and requires no changes to the
system.
It ignores its command line.
In order, it:
.IP 1. 4
sets
.B W64DEVKIT_HOME
to the directory containing
.BR w64devkit.exe ,
and
.B W64DEVKIT
to the kit's version;
.IP 2. 4
changes to that directory, and reads
.I w64devkit.ini
there, if it exists;
.IP 3. 4
sets
.B HOME
if the configuration says to;
.IP 4. 4
puts the kit's
.I bin
directory at the front of
.BR PATH ,
as the configuration says;
.IP 5. 4
sets the console title; and
.IP 6. 4
runs
.I bin/busybox.exe
as
.BR "sh \-l" ,
waits for it, and exits with its status.
.PP
The alternative to the launcher is to put the kit's
.I bin
directory in
.B PATH
some other way, and run
.BR "sh \-l" .
.SS Configuration
.I w64devkit.ini
is an INI file in UTF-8 without a byte order mark.
Only keys in the
.B [w64devkit]
section are read, and section and key names are case-sensitive.
When a key repeats, the last value wins, except for
.BR home .
A line whose first non-blank character is
.B ;
is a comment, and a comment cannot follow a value on the same line.
Whitespace around section names, keys and values is trimmed.
Double quotes around a value keep its leading and trailing whitespace,
and cannot be escaped.
Unknown keys, and lines that are not sections, keys or comments, are
ignored.
.TP
.BI "home = " path
Set
.B HOME
to
.IR path .
Environment variables written as
.BI % NAME %
are expanded, a relative
.I path
is relative to the kit directory, and backslashes become forward
slashes.
If the key repeats, the first value wins.
.TP
.BI "path type = " type\fR[\fB+\fIfeature\fR]...
Set
.B PATH
to the kit's
.I bin
directory followed by:
.RS
.TP
.B inherit
the inherited
.BR PATH .
This is the default, also used when
.I type
is empty.
.TP
.B minimal
.I System32
in the Windows directory, the Windows directory itself,
.IR System32\eWbem ,
and, on Windows 7 and later,
.IR System32\eWindowsPowerShell\ev1.0 .
.TP
.B strict
nothing.
.RE
.IP
The only
.I feature
is
.BR ccache ,
which puts the kit's
.I lib/ccache
directory before
.IR bin ,
so that the C and C++ compiler commands, such as
.BR cc ,
.BR gcc ,
and
.BR g++ ,
go through
.BR ccache .
Unknown features are ignored, and an unknown
.I type
is an error.
.TP
.BI "title = " text
Set the console window title to
.IR text ,
with environment variables expanded as for
.BR home .
The default is
.BR w64devkit .
.SS Login shell
As a login shell, busybox
.B sh
changes to
.BR HOME ,
or when it is unset, to the user's profile directory.
It then runs these scripts, each if it exists:
.IP 1. 4
.I /etc/profile
on the system drive;
.IP 2. 4
the kit's
.IR etc/profile ;
.IP 3. 4
.IR $HOME/.profile ,
the place for further configuration; and
.IP 4. 4
the file named by
.BR ENV ,
if the shell is interactive.
.PP
The kit's
.I etc/profile
exports variables that stop GNU Autotools
.B configure
scripts from mistaking the kit for MSYS2; see
.BR ENVIRONMENT .
.SH ENVIRONMENT
The launcher sets:
.TP
.B W64DEVKIT
The kit's version, such as
.BR 2.10.1 .
.TP
.B W64DEVKIT_HOME
The kit's installation directory, with backslashes.
.TP
.B HOME
As configured by
.BR home .
.TP
.B PATH
As configured by
.BR "path type" .
.PP
The kit's
.I etc/profile
exports:
.TP
.B PATH_SEPARATOR
A semicolon, the separator in
.BR PATH .
.TP
.B ac_executable_extensions
.BR .exe ,
the suffix of executables.
.TP
.B build_alias
The kit's target,
.B x86_64\-w64\-mingw32
or
.BR i686\-w64\-mingw32 .
.SH EXIT STATUS
The exit status of the shell, or 2 if the launcher fails.
Launcher errors appear in a message box: an unknown
.BR "path type" ,
a
.B PATH
longer than Windows allows, or a shell that would not start.
.SH EXAMPLES
A
.I w64devkit.ini
that keeps the home directory beside the kit, for a self-contained
environment on removable media, and isolates
.B PATH
from the system:
.PP
.RS 4
.EX
[w64devkit]
home = ..\ehome
path type = minimal+ccache
title = %USERNAME%@%COMPUTERNAME% [%W64DEVKIT%]
.EE
.RE
.PP
Use the Windows home directory:
.PP
.RS 4
.EX
home = %HOMEDRIVE%%HOMEPATH%
.EE
.RE
.PP
Enter the kit from an existing
.B cmd.exe
console without the launcher:
.PP
.RS 4
.EX
C:\e>set PATH=C:\ew64devkit\ebin;%PATH%
C:\e>sh \-l
.EE
.RE
.SH NOTES
Started from Explorer, the launcher opens a new console window.
Started from a console, the shell runs in that console.
.PP
The kit's
.I bin
directory is found from the launcher's own location, so the kit works
from any directory, including read-only media when
.B HOME
is elsewhere.
.SH SEE ALSO
.BR busybox (1),
.BR ccache (1),
.BR sh (1)