1 | use ExtUtils::MakeMaker; |
1 | use ExtUtils::MakeMaker; |
2 | |
2 | |
3 | use 5.008; |
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. |
|
|
15 | |
|
|
16 | Do you want to prefer the OpenCL 1.1 API over the 1.2 API where possible? |
|
|
17 | |
|
|
18 | EOF |
|
|
19 | |
|
|
20 | my $DEFINE .= " -DPREFER_1_1=" . (0 + (prompt ("Prefer OpenCL 1.1 over 1.2 functions (y/n)?", "y") =~ /[yY]/)); |
4 | |
21 | |
5 | WriteMakefile( |
22 | WriteMakefile( |
6 | dist => { |
23 | dist => { |
7 | PREOP => 'pod2text OpenCL.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
24 | PREOP => 'pod2text OpenCL.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
8 | COMPRESS => 'gzip -9v', |
25 | COMPRESS => 'gzip -9v', |
9 | SUFFIX => '.gz', |
26 | SUFFIX => '.gz', |
10 | }, |
27 | }, |
|
|
28 | PREREQ_PM => { |
|
|
29 | common::sense => 3, |
|
|
30 | Async::Interrupt => 1.1, |
|
|
31 | }, |
|
|
32 | DEFINE => $DEFINE, |
11 | NAME => "OpenCL", |
33 | NAME => "OpenCL", |
12 | VERSION_FROM => "OpenCL.pm", |
34 | VERSION_FROM => "OpenCL.pm", |
13 | LIBS => "-lOpenCL", |
35 | LIBS => ["-lOpenCL -lpthread"], |
14 | ); |
36 | ); |
15 | |
37 | |