From 413d97096da27090c65d95f501200d1f2a69b8b5 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Thu, 25 Aug 2011 13:59:46 +1000 Subject: [PATCH] Make cgminer look in the install directory for the .cl files making make install work correctly. --- configure.ac | 8 +++++++- ocl.c | 12 ++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index dab51dc1..795f50d1 100644 --- a/configure.ac +++ b/configure.ac @@ -162,7 +162,13 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) { return __builtin_types_compatib AC_COMPILE_IFELSE([AC_LANG_SOURCE([static int __attribute__((warn_unused_result)) func(int x) { return x; }])], AC_DEFINE([HAVE_WARN_UNUSED_RESULT], [1], [Define if __attribute__((warn_unused_result))])) - + +if test "x$prefix" = xNONE; then + prefix=/usr +fi + +AC_DEFINE_UNQUOTED([CGMINER_PREFIX], ["$prefix/bin/"], [Path to cgminer install]) + AC_SUBST(OPENCL_LIBS) AC_SUBST(JANSSON_LIBS) AC_SUBST(PTHREAD_FLAGS) diff --git a/ocl.c b/ocl.c index 9c861619..5977e065 100644 --- a/ocl.c +++ b/ocl.c @@ -32,11 +32,19 @@ extern int opt_worksize; char *file_contents(const char *filename, int *length) { - FILE *f = fopen(filename, "rb"); + char *fullpath = alloca(strlen(CGMINER_PREFIX) + strlen(filename)); void *buffer; + FILE *f; + + strcpy(fullpath, CGMINER_PREFIX); + strcat(fullpath, filename); + + f = fopen(filename, "rb"); + if (!f) + f = fopen(fullpath, "rb"); if (!f) { - applog(LOG_ERR, "Unable to open %s for reading", filename); + applog(LOG_ERR, "Unable to open %s or %s for reading", filename, fullpath); return NULL; }