[igt-dev] [PATCH i-g-t v2 1/2] build: provide include for missing syscalls

Lucas De Marchi lucas.demarchi at intel.com
Tue Jul 24 22:20:23 UTC 2018


Add directory with README file to allow missing syscalls to be defined.
The syscalls themselves will be provided in follow up patches.

v2: add support to autotools

Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
---
 benchmarks/Makefile.am           | 3 ++-
 debugger/Makefile.am             | 3 ++-
 lib/Makefile.am                  | 3 ++-
 lib/stubs/syscalls/README        | 6 ++++++
 lib/tests/Makefile.am            | 1 +
 meson.build                      | 2 +-
 overlay/Makefile.am              | 3 ++-
 tests/Makefile.am                | 1 +
 tools/Makefile.am                | 3 ++-
 tools/null_state_gen/Makefile.am | 3 ++-
 10 files changed, 21 insertions(+), 7 deletions(-)
 create mode 100644 lib/stubs/syscalls/README

diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am
index 055e4c3a..979b9490 100644
--- a/benchmarks/Makefile.am
+++ b/benchmarks/Makefile.am
@@ -11,7 +11,8 @@ endif
 AM_CPPFLAGS = \
 	-I$(top_srcdir) \
 	-I$(top_srcdir)/include/drm-uapi \
-	-I$(top_srcdir)/lib
+	-I$(top_srcdir)/lib \
+	-I$(top_srcdir)/lib/stubs/syscalls
 
 AM_CFLAGS = -I$(top_srcdir)/include/drm-uapi \
 	    $(DRM_CFLAGS) $(CWARNFLAGS) $(CAIRO_CFLAGS) $(LIBUNWIND_CFLAGS) \
diff --git a/debugger/Makefile.am b/debugger/Makefile.am
index ceaab6f8..e3a084d2 100644
--- a/debugger/Makefile.am
+++ b/debugger/Makefile.am
@@ -7,7 +7,8 @@ noinst_PROGRAMS = debug_rdata
 AM_CPPFLAGS = 			\
 	-I$(top_srcdir)		\
 	-I$(top_srcdir)/lib	\
-	-I$(top_srcdir)/include/drm-uapi
+	-I$(top_srcdir)/include/drm-uapi \
+	-I$(top_srcdir)/lib/stubs/syscalls
 
 AM_CFLAGS = 			\
 	$(DRM_CFLAGS) 		\
diff --git a/lib/Makefile.am b/lib/Makefile.am
index ab9eefe6..6251bdb8 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -52,7 +52,8 @@ endif
 
 AM_CPPFLAGS = \
 	-I$(top_srcdir)/include/drm-uapi \
-	-I$(top_srcdir)
+	-I$(top_srcdir) \
+	-I$(top_srcdir)/lib/stubs/syscalls
 
 AM_CFLAGS = \
 	    $(CWARNFLAGS) \
diff --git a/lib/stubs/syscalls/README b/lib/stubs/syscalls/README
new file mode 100644
index 00000000..f05b9a6f
--- /dev/null
+++ b/lib/stubs/syscalls/README
@@ -0,0 +1,6 @@
+This directory contains stub implementations for syscalls missing from libc.
+This provides a way to build IGT on an old system, but it will not run
+correctly if the kernel is missing the functionality provided. In order to
+add a new definition, follow the same directory hierarchy as the standard
+location in which the header is defined so we don't have to clutter the
+codebase to support old systems.
diff --git a/lib/tests/Makefile.am b/lib/tests/Makefile.am
index fb433d69..ad585b77 100644
--- a/lib/tests/Makefile.am
+++ b/lib/tests/Makefile.am
@@ -11,6 +11,7 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/include/drm-uapi \
 	-I$(srcdir)/../.. \
 	-I$(srcdir)/.. \
+	-I$(top_srcdir)/lib/stubs/syscalls \
 	-include "$(srcdir)/../../lib/check-ndebug.h" \
 	-DIGT_DATADIR=\""$(abs_srcdir)"\" \
 	-D_GNU_SOURCE
diff --git a/meson.build b/meson.build
index 5a931565..22118828 100644
--- a/meson.build
+++ b/meson.build
@@ -64,7 +64,7 @@ _tests_required = build_tests == 'true'
 
 build_info = []
 
-inc = include_directories('include/drm-uapi', 'lib', '.')
+inc = include_directories('include/drm-uapi', 'lib', 'lib/stubs/syscalls', '.')
 
 inc_for_gtkdoc = include_directories('lib')
 
diff --git a/overlay/Makefile.am b/overlay/Makefile.am
index 0f553b7c..4cf82dc6 100644
--- a/overlay/Makefile.am
+++ b/overlay/Makefile.am
@@ -7,7 +7,8 @@ endif
 tracepoint_format.h: tracepoint_format.leg
 	$(LEG) -o $@ $<
 
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include/drm-uapi
+AM_CPPFLAGS = -I. -I$(top_srcdir)/include/drm-uapi \
+	      -I$(top_srcdir)/lib/stubs/syscalls
 AM_CFLAGS = $(DRM_CFLAGS) $(PCIACCESS_CFLAGS) $(CWARNFLAGS) \
 	$(CAIRO_CFLAGS) $(OVERLAY_CFLAGS) $(WERROR_CFLAGS) -I$(srcdir)/../lib
 LDADD = $(DRM_LIBS) $(PCIACCESS_LIBS) $(CAIRO_LIBS) $(OVERLAY_LIBS) $(top_builddir)/lib/libigt_perf.la
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ba307b22..8712eb16 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -88,6 +88,7 @@ AM_CFLAGS = $(CWARNFLAGS) -Wno-unused-result $(DEBUG_CFLAGS)\
 	-I$(top_srcdir)/include/drm-uapi \
 	-I$(srcdir)/.. \
 	-I$(srcdir)/../lib \
+	-I$(top_srcdir)/lib/stubs/syscalls \
 	-include "$(srcdir)/../lib/check-ndebug.h" \
 	-DIGT_SRCDIR=\""$(abs_srcdir)"\" \
 	-DIGT_DATADIR=\""$(pkgdatadir)"\" \
diff --git a/tools/Makefile.am b/tools/Makefile.am
index a0b016dd..e7de4d90 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -13,7 +13,8 @@ intel_dp_compliance_LDADD = $(top_builddir)/lib/libintel_tools.la
 
 SUBDIRS = null_state_gen registers
 
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include/drm-uapi -I$(top_srcdir)/lib
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include/drm-uapi -I$(top_srcdir)/lib \
+	      -I$(top_srcdir)/lib/stubs/syscalls
 AM_CFLAGS = $(DEBUG_CFLAGS) $(DRM_CFLAGS) $(PCIACCESS_CFLAGS) $(CWARNFLAGS) \
 	    $(CAIRO_CFLAGS) $(LIBUNWIND_CFLAGS) -DIGT_DATADIR=\"$(pkgdatadir)\" \
 	    $(WERROR_CFLAGS) -D_GNU_SOURCE
diff --git a/tools/null_state_gen/Makefile.am b/tools/null_state_gen/Makefile.am
index d1dc83ab..d4aa3d44 100644
--- a/tools/null_state_gen/Makefile.am
+++ b/tools/null_state_gen/Makefile.am
@@ -1,5 +1,6 @@
 GPU_TOOLS_PATH := $(top_srcdir)
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include/drm-uapi
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include/drm-uapi \
+	      -I$(top_srcdir)/lib/stubs/syscalls
 AM_CFLAGS = $(DEBUG_CFLAGS) $(CWARNFLAGS)
 
 noinst_PROGRAMS = intel_null_state_gen
-- 
2.17.1



More information about the igt-dev mailing list