blob: c30b81e6e4c9d6fe40d44072a203e540ac6d6342 [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001# This file has targets for various external libraries.
2# download_externals.sh makes sure that all of them have been downloaded.
3{
4 'variables': {
5 'externals': '<(AOS)/externals',
6 'externals_abs': '<!(readlink -f ../externals)',
7
8# These versions have to be kept in sync with the ones in download_externals.sh.
9 'eigen_version': '3.0.5',
10 'gtest_version': '1.6.0-p1',
11 'onejar_version': '0.97',
12 'ctemplate_version': '2.2',
13 },
14 'targets': [
15 {
16# does nothing when OS!="crio"
17 'target_name': 'WPILib',
18 'type': 'none',
19 'conditions': [['OS=="crio"', {
20 'direct_dependent_settings': {
21 'cflags': [
22 '-isystem', '<(aos_abs)/externals/WPILib',
brianscd5aa322013-03-03 05:31:51 +000023 '-isystem', '<(aos_abs)/externals/WPILib/WPILib',
brians343bc112013-02-10 01:53:46 +000024 ],
25 'link_settings': {
26 'libraries': [
27 '<(aos_abs)/externals/WPILib/WPILib.a',
28 ],
29 },
30 },
31 }]],
32 },
33 {
34 'target_name': 'onejar',
35 'type': 'none',
36 'direct_dependent_settings': {
37 'variables': {
38 'onejar_jar': '<(externals_abs)/one-jar-boot-<(onejar_version).jar',
39 },
40 },
41 },
42 {
43 'target_name': 'javacv',
44 'type': 'none',
45 'variables': {
46 'javacv_dir': '<(externals_abs)/javacv-bin',
47 },
48 'direct_dependent_settings': {
49 'include_dirs': [
50 '/usr/lib/jvm/default-java/include',
51 '/usr/lib/jvm/default-java/include/linux',
52 ],
53 'variables': {
54 'classpath': [
55 '<(javacv_dir)/javacv.jar',
56 '<(javacv_dir)/javacpp.jar',
57 '<(javacv_dir)/javacv-linux-x86.jar',
58 ],
59 },
60 },
61 },
62 {
Brian Silverman6ae77dd2013-03-29 22:28:08 -070063 'target_name': 'opencv',
64 'type': 'none',
65 'link_settings': {
66 'libraries': [
67 '-lopencv_core',
68 '-lopencv_imgproc',
69 ],
70 },
71 },
72 {
brians343bc112013-02-10 01:53:46 +000073# TODO(brians) convert this to downloading + building
74 'target_name': 'libevent',
75 'type': 'none',
76 'link_settings': {
77 'libraries': ['-levent'],
78 },
79 },
80 {
81 'target_name': 'eigen',
82 'type': 'none',
83 'direct_dependent_settings': {
84 'include_dirs': ['<(externals)/eigen-<(eigen_version)'],
85 },
86 },
87 {
88 'target_name': 'libjpeg',
89 'type': 'none',
90 'direct_dependent_settings': {
91 'libraries': ['<(externals_abs)/libjpeg/lib/libjpeg.a'],
92 },
93 },
94 {
brians2fdfc072013-02-26 05:35:15 +000095# Dependents should only use the "gtest/gtest_prod.h" header.
96# This target is NOT the correct one for "aos/common/gtest_prod.h". That one is
97# aos/common/common.gyp:gtest_prod. This target just deals with setting up to
98# use the gtest header.
99 'target_name': 'gtest_prod',
100 'type': 'static_library',
101 'direct_dependent_settings': {
102 'include_dirs': [
103 '<(externals)/gtest-<(gtest_version)/include'
104 ],
105 },
106 },
107 {
brians343bc112013-02-10 01:53:46 +0000108 'target_name': 'gtest',
109 'type': 'static_library',
110 'sources': [
111 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest-all.cc',
112 ],
brians2fdfc072013-02-26 05:35:15 +0000113 'dependencies': [
114 'gtest_prod',
115 ],
116 'export_dependent_settings': [
117 'gtest_prod',
118 ],
brians343bc112013-02-10 01:53:46 +0000119 'conditions': [['OS=="crio"', {
120 'defines': [
121 'GTEST_HAS_TR1_TUPLE=0',
122 'GTEST_HAS_STREAM_REDIRECTION=0',
123 'GTEST_HAS_POSIX_RE=0', # it only has a broken header...
124 ],
125 'direct_dependent_settings': {
126 'defines': [
127 'GTEST_HAS_TR1_TUPLE=0',
128 'GTEST_HAS_STREAM_REDIRECTION=0',
129 'GTEST_HAS_POSIX_RE=0',
130 ],
131 },
132 }, {
133 'sources': [
134 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest_main.cc',
135 ],
136 }]],
brians343bc112013-02-10 01:53:46 +0000137 'cflags!': ['-Werror'],
138 'direct_dependent_settings': {
139 'include_dirs': ['<(externals)/gtest-<(gtest_version)/include'],
140 'target_conditions': [
141 ['_type=="executable"', {
142 'product_dir': '<(test_dir)',
143 },
144 ],
145 ],
146 },
147 },
148 {
149 'target_name': 'ctemplate',
150 'type': 'none',
151 'link_settings': {
152 'libraries': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/lib/libctemplate.a'],
153 },
154 'direct_dependent_settings': {
155 'include_dirs': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/include'],
156 },
157 },
158 ],
159}