1 |
use ExtUtils::MakeMaker; |
2 |
|
3 |
print <<EOF; |
4 |
|
5 |
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** |
6 |
|
7 |
|
8 |
OpenCL does not have good backwards compatibility - for example, the only |
9 |
way to create a 2D image in OpenCL 1.1 is clCreateImage2D, which is not |
10 |
available anymore with OpenCL 1.2. |
11 |
|
12 |
The OpenCL module can often emulate OpenCL 1.1 functions using OpenCL 1.2 |
13 |
functions, but even though your OpenCL library might contain the OpenCL |
14 |
1.2 functions, they might be nonfunctional and crash. On the other hand, |
15 |
some methods, such as enqueue_barrier, have more options when using the |
16 |
OpenCL 1.2 API. |
17 |
|
18 |
Do you want to prefer the OpenCL 1.1 API over the 1.2 API where possible? |
19 |
|
20 |
EOF |
21 |
|
22 |
my $DEFINE .= " -DPREFER_1_1=" . (0 + (prompt ("Prefer OpenCL 1.1 over 1.2 functions (y/n)?", "y") =~ /[yY]/)); |
23 |
|
24 |
WriteMakefile( |
25 |
dist => { |
26 |
PREOP => 'pod2text OpenCL.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
27 |
COMPRESS => 'gzip -9v', |
28 |
SUFFIX => '.gz', |
29 |
}, |
30 |
PREREQ_PM => { |
31 |
common::sense => 0, |
32 |
}, |
33 |
DEFINE => $DEFINE, |
34 |
NAME => "OpenCL", |
35 |
VERSION_FROM => "OpenCL.pm", |
36 |
LIBS => ["-lOpenCL"], |
37 |
); |
38 |
|