Browse Source

Make cgminer look in the install directory for the .cl files making make install work correctly.

Con Kolivas 14 years ago
parent
commit
413d97096d
2 changed files with 17 additions and 3 deletions
  1. 7 1
      configure.ac
  2. 10 2
      ocl.c

+ 7 - 1
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)

+ 10 - 2
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;
 	}