[Libclc-dev] [PATCH 1/2] Allow targets to override generic implementations

Tom Stellard tom at stellard.net
Tue Dec 11 07:12:40 PST 2012


From: Tom Stellard <thomas.stellard at amd.com>

Targets can override generic implementations by adding a file called
OVERRIDES in $(TARGET_DIR)/lib and listing the generic implementations
that it wants to override.  For example, to override get_group_id() and
get_global_size() you would add these lines to the OVERRIDES file:

workitem/get_group_id.cl
workitem/get_global_size.cl
---
 configure.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/configure.py b/configure.py
index 9ae49b7..17bef95 100755
--- a/configure.py
+++ b/configure.py
@@ -111,6 +111,14 @@ for target in targets:
   for libdir in libdirs:
     subdir_list_file = os.path.join(libdir, 'SOURCES')
     manifest_deps.add(subdir_list_file)
+    override_list_file = os.path.join(libdir, 'OVERRIDES')
+
+    # Add target overrides
+    if os.path.exists(override_list_file):
+      for override in open(override_list_file).readlines():
+        override = override.rstrip()
+        sources_seen.add(override)
+
     for src in open(subdir_list_file).readlines():
       src = src.rstrip()
       if src not in sources_seen:
-- 
1.7.11.4




More information about the Libclc-dev mailing list