Chris@366
|
1
|
Chris@366
|
2 # Add to VECTOR_DEFINES the relevant options for your desired
|
Chris@366
|
3 # third-party library support.
|
Chris@366
|
4 #
|
Chris@366
|
5 # Available options are
|
Chris@366
|
6 #
|
Chris@366
|
7 # -DHAVE_IPP Intel's Integrated Performance Primitives are available
|
Chris@366
|
8 # -DHAVE_VDSP Apple's Accelerate framework is available
|
Chris@366
|
9 #
|
Chris@372
|
10 # The above are optional (they affect performance, not function) and
|
Chris@372
|
11 # you may define more than one of them.
|
Chris@372
|
12 #
|
Chris@372
|
13 # The following two options trade off speed against precision for single-
|
Chris@372
|
14 # precision paths in cases where IPP and VDSP are not available:
|
Chris@372
|
15 #
|
Chris@372
|
16 # -DUSE_POMMIER_MATHFUN Use Julien Pommier's SSE/NEON implementation
|
Chris@372
|
17 # of sincos in 32-bit polar-to-cartesian conversion
|
Chris@372
|
18 # -DUSE_APPROXIMATE_ATAN2 Use a quick but *very* approximate atan2
|
Chris@372
|
19 # function in 32-bit cartesian-to-polar conversion
|
Chris@372
|
20 #
|
Chris@372
|
21 # And a handful of miscellaneous flags:
|
Chris@372
|
22 #
|
Chris@372
|
23 # -DLACK_SINCOS Math library lacks sincos() function
|
Chris@372
|
24 # -DNO_COMPLEX_TYPES Don't bother defining bq_complex_t functions
|
Chris@372
|
25 # -DUSE_SINGLE_PRECISION_COMPLEX Use float, not double, for bq_complex_t
|
Chris@372
|
26 # -DNO_EXCEPTIONS Don't throw exceptions (abort instead)
|
Chris@372
|
27 #
|
Chris@366
|
28 # Add any relevant -I flags for include paths as well.
|
Chris@366
|
29 #
|
Chris@366
|
30 # Note that you must supply the same flags when including bqvec
|
Chris@366
|
31 # headers later as you are using now when compiling the library. (You
|
Chris@366
|
32 # may find it simplest to just add the bqvec source files to your
|
Chris@366
|
33 # application's build system and not build a bqvec library at all.)
|
Chris@366
|
34
|
Chris@372
|
35 VECTOR_DEFINES :=
|
Chris@366
|
36
|
Chris@366
|
37
|
Chris@366
|
38 # Add to ALLOCATOR_DEFINES options relating to aligned malloc.
|
Chris@372
|
39 # These are not usually necessary.
|
Chris@366
|
40 #
|
Chris@366
|
41 # Available options are
|
Chris@366
|
42 #
|
Chris@372
|
43 # -DHAVE_POSIX_MEMALIGN The posix_memalign call is available in sys/mman.h
|
Chris@372
|
44 # -DLACK_POSIX_MEMALIGN The posix_memalign call is not available
|
Chris@366
|
45 #
|
Chris@372
|
46 # -DMALLOC_IS_ALIGNED The malloc call already returns aligned memory
|
Chris@372
|
47 # -DMALLOC_IS_NOT_ALIGNED The malloc call does not return aligned memory
|
Chris@366
|
48 #
|
Chris@372
|
49 # -DUSE_OWN_ALIGNED_MALLOC If no aligned malloc is available, roll your own
|
Chris@372
|
50 # -DAVOID_OWN_ALIGNED_MALLOC If no aligned malloc is available, refuse to build
|
Chris@366
|
51 #
|
Chris@372
|
52 # -DLACK_BAD_ALLOC The C++ library lacks the std::bad_alloc exception
|
Chris@366
|
53 #
|
Chris@366
|
54 # Here "aligned" is assumed to mean "aligned enough for whatever
|
Chris@372
|
55 # vector stuff the space will be used for" which likely means at least
|
Chris@366
|
56 # 16-byte alignment.
|
Chris@366
|
57 #
|
Chris@372
|
58 # If no options are provided, we will use IPP functions if HAVE_IPP is
|
Chris@372
|
59 # defined, or else use _aligned_malloc when building with Visual C++
|
Chris@372
|
60 # on Windows, roll our own when building with some other compiler on
|
Chris@372
|
61 # Windows, use system malloc when building on OS/X, and use
|
Chris@372
|
62 # posix_memalign elsewhere.
|
Chris@366
|
63 #
|
Chris@366
|
64 # Note that you must supply the same flags when including bqvec
|
Chris@366
|
65 # headers later as you are using now when compiling the library. (You
|
Chris@366
|
66 # may find it simplest to just add the bqvec source files to your
|
Chris@366
|
67 # application's build system and not build a bqvec library at all.)
|
Chris@366
|
68
|
Chris@372
|
69 ALLOCATOR_DEFINES :=
|
Chris@366
|
70
|
Chris@366
|
71
|
Chris@372
|
72 # Add any related includes and libraries here
|
Chris@372
|
73 #
|
Chris@372
|
74 THIRD_PARTY_INCLUDES :=
|
Chris@372
|
75 THIRD_PARTY_LIBS :=
|
Chris@366
|
76
|
Chris@366
|
77
|
Chris@372
|
78 # If you are including a set of bq libraries into a project, you can
|
Chris@372
|
79 # override variables for all of them (including all of the above) in
|
Chris@372
|
80 # the following file, which all bq* Makefiles will include if found
|
Chris@366
|
81
|
Chris@372
|
82 -include ../Makefile.inc-bq
|
Chris@366
|
83
|
Chris@366
|
84
|
Chris@372
|
85 # This project-local Makefile describes the source files and contains
|
Chris@372
|
86 # no routinely user-modifiable parts
|
Chris@366
|
87
|
Chris@372
|
88 include build/Makefile.inc
|