mirror of
https://github.com/oasislinux/oasis.git
synced 2026-02-01 11:34:17 +01:00
91 lines
2.0 KiB
Lua
91 lines
2.0 KiB
Lua
local function havedriver(name)
|
|
local enabled = config.video_drivers and config.video_drivers[name]
|
|
return '-D HAVE_'..name:upper()..'='..(enabled and '1' or '0')
|
|
end
|
|
|
|
cflags{
|
|
'-include $dir/config.h',
|
|
havedriver('intel'),
|
|
havedriver('nouveau'),
|
|
havedriver('amdgpu'),
|
|
'-I $dir',
|
|
'-I $outdir',
|
|
'-I $srcdir',
|
|
'-I $srcdir/include/drm',
|
|
'-isystem $builddir/pkg/linux-headers/include',
|
|
}
|
|
|
|
pkg.hdrs = {
|
|
copy('$outdir/include', '$srcdir', {'xf86drm.h', 'xf86drmMode.h'}),
|
|
copy('$outdir/include', '$srcdir/amdgpu', {'amdgpu.h'}),
|
|
copy('$outdir/include', '$srcdir/include/drm', {
|
|
'drm.h',
|
|
'drm_fourcc.h',
|
|
'drm_mode.h',
|
|
'drm_sarea.h',
|
|
'i915_drm.h',
|
|
'amdgpu_drm.h',
|
|
}),
|
|
}
|
|
|
|
pkg.deps = {
|
|
'$outdir/generated_static_table_fourcc.h',
|
|
'pkg/linux-headers/headers',
|
|
}
|
|
|
|
rule('fourcc', 'lua $dir/fourcc.lua <$in >$out')
|
|
build('fourcc', '$outdir/generated_static_table_fourcc.h', {'$srcdir/include/drm/drm_fourcc.h', '|', '$dir/fourcc.lua'})
|
|
|
|
lib('libdrm.a', {
|
|
'xf86drm.c',
|
|
'xf86drmHash.c',
|
|
'xf86drmRandom.c',
|
|
'xf86drmSL.c',
|
|
'xf86drmMode.c',
|
|
})
|
|
|
|
if config.video_drivers and config.video_drivers['intel'] then
|
|
cflags{'-isystem $builddir/pkg/libpciaccess/include'}
|
|
table.insert(pkg.deps, 'pkg/libpciaccess/headers')
|
|
lib('libdrm_intel.a', [[
|
|
intel/(
|
|
intel_bufmgr.c
|
|
intel_bufmgr_fake.c
|
|
intel_bufmgr_gem.c
|
|
intel_decode.c
|
|
mm.c
|
|
)
|
|
$builddir/pkg/libpciaccess/libpciaccess.a
|
|
]])
|
|
end
|
|
|
|
if config.video_drivers and config.video_drivers['nouveau'] then
|
|
lib('libdrm_nouveau.a', [[
|
|
nouveau/(
|
|
nouveau.c
|
|
pushbuf.c
|
|
bufctx.c
|
|
abi16.c
|
|
)
|
|
]])
|
|
end
|
|
|
|
if config.video_drivers and config.video_drivers['amdgpu'] then
|
|
cflags{string.format([[-D 'AMDGPU_ASIC_ID_TABLE="%s/share/libdrm/amdgpu.ids"']], config.prefix)}
|
|
lib('libdrm_amdgpu.a', [[
|
|
amdgpu/(
|
|
amdgpu_asic_id.c
|
|
amdgpu_bo.c
|
|
amdgpu_cs.c
|
|
amdgpu_device.c
|
|
amdgpu_gpu_info.c
|
|
amdgpu_vamgr.c
|
|
amdgpu_vm.c
|
|
handle_table.c
|
|
)
|
|
]])
|
|
file('share/libdrm/amdgpu.ids', '644', '$srcdir/data/amdgpu.ids')
|
|
end
|
|
|
|
fetch 'git'
|