gen.lua (2232B)
- cflags{
- '-Wall', '-Wno-stringop-truncation',
- string.format([[-D 'DATADIR="%s/share/kbd"']], config.prefix),
- '-I $dir',
- '-I $srcdir',
- '-I $srcdir/src',
- '-I $srcdir/src/libcommon',
- '-I $srcdir/src/libkbdfile',
- '-I $srcdir/src/libkeymap',
- '-I $srcdir/src/libkeymap/keymap',
- '-I $srcdir/src/libkfont',
- '-isystem $builddir/pkg/linux-headers/include',
- }
- pkg.deps = {
- 'pkg/linux-headers/headers',
- }
- lib('libcommon.a', 'src/libcommon/(getfd.c error.c version.c)')
- lib('libkbdfile.a', 'src/libkbdfile/(init.c kbdfile.c)')
- lib('libkeymap.a', [[
- src/libkeymap/(
- analyze.c
- array.c
- common.c
- diacr.c
- dump.c
- func.c
- kernel.c
- kmap.c
- ksyms.c
- loadkeys.c
- modifiers.c
- parser.c
- summary.c
- )
- ]])
- lib('libkfont.a', [[
- src/libkfont/(
- psffontop.c
- psfxtable.c
- context.c
- unicode.c
- utf8.c
- kdmapop.c
- loadunimap.c
- mapscrn.c
- setfont.c
- kdfontop.c
- )
- ]])
- -- old: loadunimap mapscrn
- -- optional: clrunmap getunimap setlogcons setvesablank setpalette screendump
- -- i386/x86_64 only: resizecons
- -- ubase: chvt
- local tools = {
- {'deallocvt', '1'},
- {'dumpkeys', '1', true},
- {'fgconsole', '1'},
- {'getkeycodes', '8'},
- {'kbd_mode', '1'},
- {'kbdinfo'},
- {'loadkeys', '1', true},
- {'openvt', '1'},
- {'psfxtable', '1'},
- {'setfont', '8', true},
- {'setkeycodes', '8'},
- {'setvtrgb', '8'},
- {'showconsolefont', '8'},
- {'showkey', '1'},
- }
- for _, tool in ipairs(tools) do
- local name, sect, subst = tool[1], tool[2], tool[3]
- exe(name, {'src/'..name..'.c', 'libcommon.a', 'libkfont.a', 'libkeymap.a', 'libkbdfile.a'})
- file('bin/'..name, '755', '$outdir/'..name)
- if sect then
- local manpage = string.format('docs/man/man%s/%s.%s', sect, name, sect)
- if subst then
- local out = string.format('$outdir/%s.%s', name, sect)
- build('sed', out, '$srcdir/'..manpage..'.in', {
- expr='s,@DATADIR@,/share/kbd,g',
- })
- manpage = out
- end
- man{manpage}
- end
- end
- -- keymap data
- for keymap in iterlines('keymaps.txt') do
- local out = '$outdir/keymaps/'..keymap..'.gz'
- build('gzip', out, '$srcdir/data/keymaps/'..keymap)
- file('share/kbd/keymaps/'..keymap..'.gz', '644', out)
- end
- sym('share/kbd/keymaps/ppc', 'mac')
- fetch 'curl'