diff options
| author | Michael Forney <mforney@mforney.org> | 2020-05-25 21:01:32 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2020-05-25 21:11:21 -0700 |
| commit | f0fb0e517737860133352382ec082e4690be9b3a (patch) | |
| tree | 8a3cfc3b9cc4dc468b2531b8d99d50749b3f053e | |
| parent | cdf748ea39cb023b364240569a57ad5bc3e00171 (diff) | |
Start to support configurable prefix
| -rw-r--r-- | config.def.lua | 3 | ||||
| -rw-r--r-- | pkg/binutils/gen.lua | 10 | ||||
| -rw-r--r-- | pkg/file/gen.lua | 2 | ||||
| -rw-r--r-- | pkg/kbd/gen.lua | 2 | ||||
| -rw-r--r-- | pkg/libdrm/gen.lua | 2 | ||||
| -rw-r--r-- | pkg/libnl/gen.lua | 2 | ||||
| -rw-r--r-- | pkg/msmtp/gen.lua | 2 | ||||
| -rw-r--r-- | pkg/sinit/config.h | 6 | ||||
| -rw-r--r-- | pkg/sinit/gen.lua | 6 | ||||
| -rw-r--r-- | pkg/velox/gen.lua | 2 | ||||
| -rw-r--r-- | pkg/vis/gen.lua | 2 | ||||
| -rwxr-xr-x | setup.lua | 3 | ||||
| -rw-r--r-- | src/devd.c | 7 | ||||
| -rw-r--r-- | src/gen.lua | 6 |
14 files changed, 36 insertions, 19 deletions
diff --git a/config.def.lua b/config.def.lua index 88f77f0c..cb3cb3c2 100644 --- a/config.def.lua +++ b/config.def.lua @@ -4,6 +4,9 @@ return { -- build output directory builddir='out', + -- install prefix + prefix='', + -- package/file selection fs={ -- Each entry contains a list of packages, a list of patterns to diff --git a/pkg/binutils/gen.lua b/pkg/binutils/gen.lua index dd0dee7c..6f68baad 100644 --- a/pkg/binutils/gen.lua +++ b/pkg/binutils/gen.lua @@ -162,7 +162,7 @@ sub('bfd.ninja', function() '$cflags', string.format([[-D 'SELECT_ARCHITECTURES=&%s']], table.concat(table.keys(selarchs), ',&')), }}) - cc('bfd/dwarf2.c', nil, {cflags={'$cflags', [[-D 'DEBUGDIR="/lib/debug"']]}}) + cc('bfd/dwarf2.c', nil, {cflags={'$cflags', string.format([[-D 'DEBUGDIR="%s/lib/debug"']], config.prefix)}}) lib('libbfd.a', { -- src/bfd/Makefile.am:/^BFD32_LIBS_CFILES -- src/bfd/Makefile.am:/^BFD64_LIBS_CFILES @@ -199,7 +199,7 @@ end) sub('binutils.ninja', function() cflags{ - [[-D 'LOCALEDIR="/share/locale"']], + string.format([[-D 'LOCALEDIR="%s/share/locale"']], config.prefix), '-D bin_dummy_emulation=bin_vanilla_emulation', '-I $dir/binutils', '-I $srcdir/binutils', @@ -309,9 +309,9 @@ sub('ld.ninja', function() '-D ELF_LIST_OPTIONS=TRUE', '-D ELF_SHLIB_LIST_OPTIONS=TRUE', '-D ELF_PLT_UNWIND_LIST_OPTIONS=TRUE', - [[-D 'BINDIR="/bin"']], - string.format([[-D 'SCRIPTDIR="/%s/lib"']], config.target.platform), - string.format([[-D 'TOOLBINDIR="/%s/bin"']], config.target.platform), + string.format([[-D 'BINDIR="%s/bin"']], config.prefix), + string.format([[-D 'SCRIPTDIR="%s/%s/lib"']], config.prefix, config.target.platform), + string.format([[-D 'TOOLBINDIR="%s/%s/bin"']], config.prefix, config.target.platform), '-I $dir/ld', '-I $outdir/ld', '-I $srcdir/ld', diff --git a/pkg/file/gen.lua b/pkg/file/gen.lua index 2d0426d0..b5c3b18e 100644 --- a/pkg/file/gen.lua +++ b/pkg/file/gen.lua @@ -2,7 +2,7 @@ local version = '5.37' cflags{ '-Wall', '-D HAVE_CONFIG_H', - [[-D 'MAGIC="/share/file/magic"']], + string.format([[-D 'MAGIC="%s/share/file/magic"']], config.prefix), '-D _GNU_SOURCE', '-I $dir', '-I $outdir/include', diff --git a/pkg/kbd/gen.lua b/pkg/kbd/gen.lua index 461b6d60..3a8ddc77 100644 --- a/pkg/kbd/gen.lua +++ b/pkg/kbd/gen.lua @@ -1,5 +1,5 @@ cflags{ - [[-D 'DATADIR="/share/kbd"']], + string.format([[-D 'DATADIR="%s/share/kbd"']], config.prefix), '-I $dir', '-I $srcdir', '-I $srcdir/src', diff --git a/pkg/libdrm/gen.lua b/pkg/libdrm/gen.lua index 6bd7aa02..46a702b0 100644 --- a/pkg/libdrm/gen.lua +++ b/pkg/libdrm/gen.lua @@ -67,7 +67,7 @@ if config.video_drivers and config.video_drivers['nouveau'] then end if config.video_drivers and config.video_drivers['amdgpu'] then - cflags{[[-D 'AMDGPU_ASIC_ID_TABLE="/share/libdrm/amdgpu.ids"']]} + cflags{string.format([[-D 'AMDGPU_ASIC_ID_TABLE="%s/share/libdrm/amdgpu.ids"']], config.prefix)} lib('libdrm_amdgpu.a', [[ amdgpu/( amdgpu_asic_id.c diff --git a/pkg/libnl/gen.lua b/pkg/libnl/gen.lua index 3d4b1348..8221a1fd 100644 --- a/pkg/libnl/gen.lua +++ b/pkg/libnl/gen.lua @@ -1,6 +1,6 @@ cflags{ '-D _GNU_SOURCE', - [[-D 'SYSCONFDIR="/etc/libnl"']], + string.format([[-D 'SYSCONFDIR="%s/etc/libnl"']], config.prefix), '-I $dir', '-I $outdir/include', '-I $srcdir/include', diff --git a/pkg/msmtp/gen.lua b/pkg/msmtp/gen.lua index fbb18c89..874a97fd 100644 --- a/pkg/msmtp/gen.lua +++ b/pkg/msmtp/gen.lua @@ -1,6 +1,6 @@ cflags{ '-D HAVE_CONFIG_H', - [[-D 'SYSCONFDIR="/etc"']], + string.format([[-D 'SYSCONFDIR="%s/etc"']], config.prefix), '-I $dir', '-I $builddir/pkg/libressl/include', } diff --git a/pkg/sinit/config.h b/pkg/sinit/config.h index 3d2da6fc..f99a32e5 100644 --- a/pkg/sinit/config.h +++ b/pkg/sinit/config.h @@ -1,5 +1,5 @@ /* See LICENSE file for copyright and license details. */ -static char *const rcinitcmd[] = { "/etc/rc.init", NULL }; -static char *const rcrebootcmd[] = { "/etc/rc.shutdown", "reboot", NULL }; -static char *const rcpoweroffcmd[] = { "/etc/rc.shutdown", "poweroff", NULL }; +static char *const rcinitcmd[] = { PREFIX "/etc/rc.init", NULL }; +static char *const rcrebootcmd[] = { PREFIX "/etc/rc.shutdown", "reboot", NULL }; +static char *const rcpoweroffcmd[] = { PREFIX "/etc/rc.shutdown", "poweroff", NULL }; diff --git a/pkg/sinit/gen.lua b/pkg/sinit/gen.lua index 6fdf25f3..b7299179 100644 --- a/pkg/sinit/gen.lua +++ b/pkg/sinit/gen.lua @@ -1,4 +1,8 @@ -cflags{'-Wall', '-Wextra', '-I $dir'} +cflags{ + '-Wall', '-Wextra', + string.format([[-D 'PREFIX="%s"']], config.prefix), + '-I $dir', +} file('bin/sinit', '755', exe('sinit', {'sinit.c'})) man{'sinit.8'} diff --git a/pkg/velox/gen.lua b/pkg/velox/gen.lua index 4cb9fcc5..3bd5d2a1 100644 --- a/pkg/velox/gen.lua +++ b/pkg/velox/gen.lua @@ -1,5 +1,5 @@ cflags{ - [[-D 'VELOX_LIBEXEC="/libexec/velox"']], + string.format([[-D 'VELOX_LIBEXEC="%s/libexec/velox"']], config.prefix), '-I $outdir', '-I $basedir/pkg/fontconfig/src', '-I $basedir/pkg/libinput/src/src', diff --git a/pkg/vis/gen.lua b/pkg/vis/gen.lua index b38a34cd..0a585017 100644 --- a/pkg/vis/gen.lua +++ b/pkg/vis/gen.lua @@ -12,7 +12,7 @@ cflags{ '-D _POSIX_C_SOURCE=200809L', '-D _XOPEN_SOURCE=700', [[-D 'VERSION="$version"']], - [[-D 'VIS_PATH="/share/vis"']], + string.format([[-D 'VIS_PATH="%s/share/vis"']], config.prefix), '-D NDEBUG', '-I $outdir', '-I $basedir/pkg/libtermkey/src', @@ -17,6 +17,9 @@ end dofile(basedir..'/ninja.lua') config = dofile 'config.lua' +if not config.prefix then + config.prefix = '' +end local recurse = not arg[1] @@ -24,8 +24,11 @@ triggering "add" uevents for each one. #include <linux/netlink.h> -#define HOTPLUG "/etc/hotplug" -#define TRIGGER "/libexec/devd-trigger" +#ifndef PREFIX +#define PREFIX +#endif +#define HOTPLUG PREFIX "/etc/hotplug" +#define TRIGGER PREFIX "/libexec/devd-trigger" #define LEN(a) (sizeof(a) / sizeof((a)[0])) diff --git a/src/gen.lua b/src/gen.lua index 1ca09640..98e9a6e0 100644 --- a/src/gen.lua +++ b/src/gen.lua @@ -3,7 +3,11 @@ cflags{ '-std=c11', '-Wall', '-Wextra', '-Wpedantic', '-Wno-unused-parameter', } -cc('devd.c', 'pkg/linux-headers/headers', {cflags='$cflags -I $builddir/pkg/linux-headers/include'}) +cc('devd.c', 'pkg/linux-headers/headers', {cflags={ + '$cflags', + '-I $builddir/pkg/linux-headers/include', + string.format([[-D 'PREFIX="%s"']], config.prefix), +}}) file('libexec/applyperms', '755', exe('applyperms', {'applyperms.c'})) file('libexec/devd-trigger', '755', exe('devd-trigger', {'devd-trigger.c'})) |
