Browse Source

Allow a custom kernel path to be entered on the command line.

nfactor-troky
Con Kolivas 13 years ago
parent
commit
3d5f555407
  1. 2
      configure.ac
  2. 11
      main.c
  3. 1
      miner.h
  4. 4
      ocl.c

2
configure.ac

@ -167,7 +167,7 @@ if test "x$prefix" = xNONE; then
prefix=/usr prefix=/usr
fi fi
AC_DEFINE_UNQUOTED([CGMINER_PREFIX], ["$prefix/bin/"], [Path to cgminer install]) AC_DEFINE_UNQUOTED([CGMINER_PREFIX], ["$prefix/bin"], [Path to cgminer install])
AC_SUBST(OPENCL_LIBS) AC_SUBST(OPENCL_LIBS)
AC_SUBST(JANSSON_LIBS) AC_SUBST(JANSSON_LIBS)

11
main.c

@ -220,6 +220,7 @@ static int num_processors;
static int scan_intensity; static int scan_intensity;
static bool use_curses = true; static bool use_curses = true;
static bool opt_submit_stale; static bool opt_submit_stale;
char *opt_kernel_path;
#define QUIET (opt_quiet || opt_realquiet) #define QUIET (opt_quiet || opt_realquiet)
@ -1082,6 +1083,9 @@ static struct opt_table opt_config_table[] = {
OPT_WITH_ARG("--intensity|-I", OPT_WITH_ARG("--intensity|-I",
forced_int_1010, opt_show_intval, &scan_intensity, forced_int_1010, opt_show_intval, &scan_intensity,
"Intensity of GPU scanning (-10 -> 10, default: dynamic to maintain desktop interactivity)"), "Intensity of GPU scanning (-10 -> 10, default: dynamic to maintain desktop interactivity)"),
OPT_WITH_ARG("--kernel-path|-K",
opt_set_charp, opt_show_charp, &opt_kernel_path,
"Specify a path to where the kernel .cl files are"),
OPT_WITH_ARG("--kernel|-k", OPT_WITH_ARG("--kernel|-k",
opt_set_charp, NULL, &opt_kernel, opt_set_charp, NULL, &opt_kernel,
"Select kernel to use (poclbm or phatk - default: auto)"), "Select kernel to use (poclbm or phatk - default: auto)"),
@ -4486,6 +4490,9 @@ int main (int argc, char *argv[])
sigaction(SIGTERM, &handler, &termhandler); sigaction(SIGTERM, &handler, &termhandler);
sigaction(SIGINT, &handler, &inthandler); sigaction(SIGINT, &handler, &inthandler);
opt_kernel_path = malloc(PATH_MAX);
strcat(opt_kernel_path, CGMINER_PREFIX);
// Hack to make cgminer silent when called recursively on WIN32 // Hack to make cgminer silent when called recursively on WIN32
int skip_to_bench = 0; int skip_to_bench = 0;
#if defined(WIN32) #if defined(WIN32)
@ -4557,6 +4564,8 @@ int main (int argc, char *argv[])
if (argc != 1) if (argc != 1)
quit(1, "Unexpected extra commandline arguments"); quit(1, "Unexpected extra commandline arguments");
strcat(opt_kernel_path, "/");
if (want_per_device_stats) if (want_per_device_stats)
opt_log_output = true; opt_log_output = true;
@ -4922,6 +4931,8 @@ int main (int argc, char *argv[])
free(block); free(block);
} }
free(opt_kernel_path);
curl_global_cleanup(); curl_global_cleanup();
return 0; return 0;

1
miner.h

@ -256,6 +256,7 @@ struct pool;
extern bool opt_debug; extern bool opt_debug;
extern bool opt_protocol; extern bool opt_protocol;
extern bool opt_log_output; extern bool opt_log_output;
extern char *opt_kernel_path;
extern const uint32_t sha256_init_state[]; extern const uint32_t sha256_init_state[];
extern json_t *json_rpc_call(CURL *curl, const char *url, const char *userpass, extern json_t *json_rpc_call(CURL *curl, const char *url, const char *userpass,
const char *rpc_req, bool, bool, bool *, const char *rpc_req, bool, bool, bool *,

4
ocl.c

@ -32,11 +32,11 @@ extern int opt_worksize;
char *file_contents(const char *filename, int *length) char *file_contents(const char *filename, int *length)
{ {
char *fullpath = alloca(strlen(CGMINER_PREFIX) + strlen(filename)); char *fullpath = alloca(PATH_MAX);
void *buffer; void *buffer;
FILE *f; FILE *f;
strcpy(fullpath, CGMINER_PREFIX); strcpy(fullpath, opt_kernel_path);
strcat(fullpath, filename); strcat(fullpath, filename);
f = fopen(filename, "rb"); f = fopen(filename, "rb");

Loading…
Cancel
Save