ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/OpenCL/Makefile.PL
Revision: 1.11
Committed: Tue May 8 00:33:27 2012 UTC (12 years, 2 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.10: +30 -3 lines
Log Message:
*** empty log message ***

File Contents

# Content
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.
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]/));
21
22 print <<EOF;
23
24 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
25
26
27 This module needs to link against both the OpenCL and pthread libraries
28 (even on windows). If you wish you can override the LIBS argument now. If
29 not, just press enter to accept the default.
30
31 EOF
32
33 my $LIBS = prompt "Value for LIBS?", "-lOpenCL -lpthread";
34
35 print <<EOF;
36
37 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
38
39
40 Sometimes you need to define extra compilation options (for example, the
41 hypothetical OpenCL 1.3 header files might require you to define something
42 like CL_USE_DEPRECATED_OPENCL_1_2_APIS). You can do this here, or simply
43 press enter.
44
45 EOF
46
47 my $EXTRADEFS = prompt "Any extra -D options?", "";
48
49 WriteMakefile(
50 dist => {
51 PREOP => 'pod2text OpenCL.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
52 COMPRESS => 'gzip -9v',
53 SUFFIX => '.gz',
54 },
55 PREREQ_PM => {
56 common::sense => 3,
57 Async::Interrupt => 1.1,
58 },
59 DEFINE => "$DEFINE $EXTRADEFS",
60 NAME => "OpenCL",
61 VERSION_FROM => "OpenCL.pm",
62 LIBS => [$LIBS],
63 );
64