[Intel-gfx] [PATCH i-g-t 00/22] RFC: meson build system support
Daniel Vetter
daniel.vetter at ffwll.ch
Tue Sep 5 12:36:02 UTC 2017
Hi all,
Ok, this time around a proper patch series with cover letter and a pile of
fixes (bunch of them thanks to Eric) thrown on top.
The motivation for this has 2 primary reasons:
- I want a build system that's fast, especially for hacking on the
library. Currently with over 300 binaries the relinking step every time
you change the library is extremely painful.
- I want a build system that I can hack on. After years of automake, I
still don't get it. After a few days of meson I have at least the
illusion I understand stuff. And that's with an obviously still fairly
fresh tool with the occasional sharp corner (lesson learned: if it
complains about the meson files, it's a missing comman nearby).
- Finally there's the question of whether this will die like previous
attempts at a better build toolchain, or whether the meson/ninja combo
will win. There's a lot of very enthusastic initial conversion in
various X.org projects, and the people I've chatted are extremely
positive on this. I think meson/ninja could very well be the git of the
build: Painful to use in the first years, but has the fundamental rights
and will win in the end.
Assuming we can get some consensus around this I'd like to merge it and
polish the meson support in-tree, it's kinda growing into a bigger series
already. And of course we need to keep autohell working for probably a
fairly long time, at least for the tools that distro install.
Comments and testing very much welcom.
Cheers, Daniel
Daniel Vetter (19):
build: Define _GNU_SOURCE in Makefile.am
build: Nuke #ifdef HAVE_CONFIG_H cargo-cult
build: use HAVE_LIBGEN_H consistently
build: remove _GNU_SOURCE from source files
tests/gem_spin_batch: Fix warning
lib: prefix frame_dump_path
lib: clean up header includes
tests/igt_command_line.sh: Allow testing individual tests
lib/uwildmat: Use include paths
demos: remove
assembler/test: Prep work for meson
meson: basic build system support
lib/ioctl_wrappers: make the valgrind wrapper always emit a
statement:w
tests/kms_plane: Appease gcc -Wempty-body
meson: detect cc flags
meson: add manpage support
meson: igt_frame also needs pixman
meson: Minimal README update
meson: Bump required version to 0.40
Eric Anholt (3):
meson: Add some compiler flags to reduce warnings.
meson: Don't build the igt audio test without gsl available.
meson: Use static libs to handle IGT_LOG_DOMAIN.
.gitignore | 1 +
Makefile.am | 2 +-
README | 16 +
assembler/meson.build | 73 +++
assembler/test/run-test.sh | 16 +-
benchmarks/Makefile.am | 2 +-
benchmarks/gem_exec_tracer.c | 2 -
benchmarks/gem_latency.c | 1 -
benchmarks/gem_syslatency.c | 2 -
benchmarks/meson.build | 36 ++
demos/.gitignore | 1 -
demos/Android.mk | 32 --
demos/Makefile.am | 12 -
demos/Makefile.sources | 7 -
demos/intel_sprite_on.c | 960 ---------------------------------------
lib/Makefile.am | 1 +
lib/drmtest.c | 4 +-
lib/dummy.c | 0
lib/igt_alsa.c | 3 +-
lib/igt_alsa.h | 3 -
lib/igt_audio.c | 3 +-
lib/igt_audio.h | 3 -
lib/igt_aux.c | 4 +-
lib/igt_chamelium.c | 6 +-
lib/igt_chamelium.h | 8 +-
lib/igt_core.c | 16 +-
lib/igt_core.h | 2 +-
lib/igt_dummyload.c | 11 +-
lib/igt_fb.c | 1 -
lib/igt_frame.c | 13 +-
lib/igt_frame.h | 3 -
lib/igt_gvt.c | 10 +-
lib/igt_kmod.c | 6 +-
lib/igt_sysfs.h | 1 +
lib/igt_vgem.c | 10 +-
lib/igt_vgem.h | 1 +
lib/igt_x86.c | 2 -
lib/intel_os.c | 2 -
lib/ioctl_wrappers.c | 6 +-
lib/meson.build | 180 ++++++++
lib/sw_sync.c | 4 +-
lib/tests/Makefile.am | 1 +
lib/tests/igt_exit_handler.c | 1 -
lib/tests/meson.build | 34 ++
lib/uwildmat/uwildmat.c | 2 +-
lib/version.h.in | 1 +
man/defs.rst.in | 5 +
man/meson.build | 45 ++
man/rst2man.sh | 16 +
meson.build | 124 +++++
overlay/meson.build | 59 +++
overlay/overlay.h | 2 -
overlay/x11/position.c | 2 -
tests/Makefile.am | 1 +
tests/amdgpu/amd_basic.c | 2 -
tests/core_get_client_auth.c | 1 -
tests/core_setmaster_vs_auth.c | 1 -
tests/debugfs_test.c | 2 -
tests/drm_import_export.c | 1 -
tests/drv_missed_irq.c | 1 -
tests/gem_fence_thrash.c | 2 -
tests/gem_fence_upload.c | 2 -
tests/gem_fenced_exec_thrash.c | 2 -
tests/gem_flink_race.c | 1 -
tests/gem_mmap_gtt.c | 1 -
tests/gem_mmap_wc.c | 1 -
tests/gem_persistent_relocs.c | 1 -
tests/gem_reloc_vs_gpu.c | 1 -
tests/gem_render_linear_blits.c | 2 -
tests/gem_reset_stats.c | 1 -
tests/gem_spin_batch.c | 2 +-
tests/gem_streaming_writes.c | 1 -
tests/gem_workarounds.c | 1 -
tests/generate_testlist.sh | 10 +
tests/igt_command_line.sh | 39 +-
tests/kms_cursor_legacy.c | 1 -
tests/kms_flip.c | 2 -
tests/kms_plane.c | 3 +-
tests/kms_render.c | 2 -
tests/kms_setmode.c | 2 -
tests/meson.build | 290 ++++++++++++
tests/pm_rc6_residency.c | 1 -
tests/pm_rps.c | 1 -
tests/prime_mmap.c | 1 -
tests/prime_self_import.c | 1 -
tests/testdisplay.c | 2 -
tests/testdisplay_hotplug.c | 2 -
tests/tools_test.c | 2 -
tools/Makefile.am | 2 +-
tools/aubdump.c | 2 -
tools/intel_audio_dump.c | 1 -
tools/intel_dump_decode.c | 1 -
tools/intel_error_decode.c | 1 -
tools/intel_framebuffer_dump.c | 1 -
tools/intel_gpu_frequency.c | 1 -
tools/intel_gpu_top.c | 2 -
tools/intel_guc_logger.c | 1 -
tools/intel_gvtg_test.c | 2 -
tools/intel_l3_parity.c | 3 -
tools/intel_l3_udev_listener.c | 5 -
tools/meson.build | 59 +++
tools/null_state_gen/meson.build | 15 +
102 files changed, 1071 insertions(+), 1169 deletions(-)
create mode 100644 assembler/meson.build
create mode 100644 benchmarks/meson.build
delete mode 100644 demos/.gitignore
delete mode 100644 demos/Android.mk
delete mode 100644 demos/Makefile.am
delete mode 100644 demos/Makefile.sources
delete mode 100644 demos/intel_sprite_on.c
create mode 100644 lib/dummy.c
create mode 100644 lib/meson.build
create mode 100644 lib/tests/meson.build
create mode 100644 lib/version.h.in
create mode 100644 man/defs.rst.in
create mode 100644 man/meson.build
create mode 100755 man/rst2man.sh
create mode 100644 meson.build
create mode 100644 overlay/meson.build
create mode 100755 tests/generate_testlist.sh
create mode 100644 tests/meson.build
create mode 100644 tools/meson.build
create mode 100644 tools/null_state_gen/meson.build
--
2.14.1
More information about the Intel-gfx
mailing list