clover: Prepare the build system for ICD support.
authorTom Stellard <thomas.stellard@amd.com>
Wed, 18 Sep 2013 07:36:55 +0000 (00:36 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Mon, 21 Oct 2013 17:47:03 +0000 (10:47 -0700)
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
configure.ac
src/gallium/state_trackers/clover/Makefile.am
src/gallium/targets/opencl/Makefile.am

index addbf57d4caa8678f2bf3f4fa729c4aae7e706cf..dfa35b41b12e989800ea571cff1da24b94a0b638 100644 (file)
@@ -593,6 +593,12 @@ AC_ARG_ENABLE([opencl],
           @<:@default=no@:>@])],
    [],
    [enable_opencl=no])
+AC_ARG_ENABLE([opencl_icd],
+   [AS_HELP_STRING([--enable-opencl-icd],
+          [Build an OpenCL ICD library to be loaded by an ICD implementation
+           @<:@default=no@:>@])],
+    [enable_opencl_icd="$enableval"],
+    [enable_opencl_icd=no])
 AC_ARG_ENABLE([xlib-glx],
     [AS_HELP_STRING([--enable-xlib-glx],
         [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
@@ -1356,8 +1362,16 @@ if test "x$enable_opencl" = xyes; then
     GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover"
     GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl"
     enable_gallium_loader=yes
+
+    if test "x$enable_opencl_icd" = xyes; then
+        OPENCL_LIBNAME="MesaOpenCL"
+    else
+        OPENCL_LIBNAME="OpenCL"
+    fi
 fi
 AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes)
+AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes)
+AC_SUBST([OPENCL_LIBNAME])
 
 dnl
 dnl Gallium configuration
index d0ce68eb214506acd259a67506a4aba294d696e1..240a2d0602b8b3bfc141b443fe1902529ab8309c 100644 (file)
@@ -12,6 +12,10 @@ AM_CPPFLAGS = \
        -I$(top_srcdir)/src/gallium/winsys \
        -I$(srcdir)
 
+if HAVE_CLOVER_ICD
+AM_CPPFLAGS += -DHAVE_CLOVER_ICD
+endif
+
 noinst_LTLIBRARIES = libclover.la libcltgsi.la libclllvm.la
 
 libcltgsi_la_CXXFLAGS = \
index 46bb29fffac0d679d843e1b496290031df2e33de..cdc7500f3154ac7c6e44676d6f5b44465f67cabf 100644 (file)
@@ -1,12 +1,12 @@
 AUTOMAKE_OPTIONS = subdir-objects
 
-lib_LTLIBRARIES = libOpenCL.la
+lib_LTLIBRARIES = lib@OPENCL_LIBNAME@.la
 
-libOpenCL_la_LDFLAGS = \
+lib@OPENCL_LIBNAME@_la_LDFLAGS = \
        $(LLVM_LDFLAGS) \
        -version-number 1:0
 
-libOpenCL_la_LIBADD = \
+lib@OPENCL_LIBNAME@_la_LIBADD = \
        $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
        $(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \
        $(top_builddir)/src/gallium/state_trackers/clover/libclover.la \
@@ -28,14 +28,13 @@ libOpenCL_la_LIBADD = \
        -lclangBasic \
        $(LLVM_LIBS)
 
-
-libOpenCL_la_SOURCES =
+lib@OPENCL_LIBNAME@_la_SOURCES =
 
 # Force usage of a C++ linker
-nodist_EXTRA_libOpenCL_la_SOURCES = dummy.cpp
+nodist_EXTRA_lib@OPENCL_LIBNAME@_la_SOURCES = dummy.cpp
 
 # Provide compatibility with scripts for the old Mesa build system for
 # a while by putting a link to the driver into /lib of the build tree.
-all-local: libOpenCL.la
+all-local: lib@OPENCL_LIBNAME@.la
        $(MKDIR_P) $(top_builddir)/$(LIB_DIR)
-       ln -f .libs/libOpenCL.so* $(top_builddir)/$(LIB_DIR)/
+       ln -f .libs/lib@OPENCL_LIBNAME@.so* $(top_builddir)/$(LIB_DIR)/