blob: 10335517137719661db47ae14a831182c2123775 [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',
Brian Silverman798c7782013-03-28 16:48:02 -070013 'gflags_version': '2.0',
14 'libusb_version': '1.0.9',
15 'libusb_apiversion': '1.0',
brians343bc112013-02-10 01:53:46 +000016 },
17 'targets': [
18 {
19# does nothing when OS!="crio"
20 'target_name': 'WPILib',
21 'type': 'none',
22 'conditions': [['OS=="crio"', {
23 'direct_dependent_settings': {
24 'cflags': [
25 '-isystem', '<(aos_abs)/externals/WPILib',
brianscd5aa322013-03-03 05:31:51 +000026 '-isystem', '<(aos_abs)/externals/WPILib/WPILib',
brians343bc112013-02-10 01:53:46 +000027 ],
28 'link_settings': {
29 'libraries': [
Brian Silverman632d69d2013-04-16 21:16:28 -070030 #'<(aos_abs)/externals/WPILib/WPILib.a',
brians343bc112013-02-10 01:53:46 +000031 ],
32 },
33 },
34 }]],
35 },
36 {
37 'target_name': 'onejar',
38 'type': 'none',
39 'direct_dependent_settings': {
40 'variables': {
41 'onejar_jar': '<(externals_abs)/one-jar-boot-<(onejar_version).jar',
42 },
43 },
44 },
45 {
46 'target_name': 'javacv',
47 'type': 'none',
48 'variables': {
49 'javacv_dir': '<(externals_abs)/javacv-bin',
50 },
51 'direct_dependent_settings': {
52 'include_dirs': [
53 '/usr/lib/jvm/default-java/include',
54 '/usr/lib/jvm/default-java/include/linux',
55 ],
56 'variables': {
57 'classpath': [
58 '<(javacv_dir)/javacv.jar',
59 '<(javacv_dir)/javacpp.jar',
60 '<(javacv_dir)/javacv-linux-x86.jar',
61 ],
62 },
63 },
64 },
65 {
Brian Silverman6ae77dd2013-03-29 22:28:08 -070066 'target_name': 'opencv',
67 'type': 'none',
68 'link_settings': {
69 'libraries': [
70 '-lopencv_core',
71 '-lopencv_imgproc',
72 ],
73 },
74 },
75 {
brians343bc112013-02-10 01:53:46 +000076# TODO(brians) convert this to downloading + building
77 'target_name': 'libevent',
78 'type': 'none',
79 'link_settings': {
80 'libraries': ['-levent'],
81 },
82 },
83 {
84 'target_name': 'eigen',
85 'type': 'none',
86 'direct_dependent_settings': {
87 'include_dirs': ['<(externals)/eigen-<(eigen_version)'],
88 },
89 },
90 {
91 'target_name': 'libjpeg',
92 'type': 'none',
93 'direct_dependent_settings': {
94 'libraries': ['<(externals_abs)/libjpeg/lib/libjpeg.a'],
95 },
96 },
97 {
brians2fdfc072013-02-26 05:35:15 +000098# Dependents should only use the "gtest/gtest_prod.h" header.
99# This target is NOT the correct one for "aos/common/gtest_prod.h". That one is
100# aos/common/common.gyp:gtest_prod. This target just deals with setting up to
101# use the gtest header.
102 'target_name': 'gtest_prod',
103 'type': 'static_library',
104 'direct_dependent_settings': {
105 'include_dirs': [
106 '<(externals)/gtest-<(gtest_version)/include'
107 ],
108 },
109 },
110 {
brians343bc112013-02-10 01:53:46 +0000111 'target_name': 'gtest',
112 'type': 'static_library',
113 'sources': [
114 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest-all.cc',
115 ],
brians2fdfc072013-02-26 05:35:15 +0000116 'dependencies': [
117 'gtest_prod',
118 ],
119 'export_dependent_settings': [
120 'gtest_prod',
121 ],
brians343bc112013-02-10 01:53:46 +0000122 'conditions': [['OS=="crio"', {
123 'defines': [
124 'GTEST_HAS_TR1_TUPLE=0',
125 'GTEST_HAS_STREAM_REDIRECTION=0',
126 'GTEST_HAS_POSIX_RE=0', # it only has a broken header...
127 ],
128 'direct_dependent_settings': {
129 'defines': [
130 'GTEST_HAS_TR1_TUPLE=0',
131 'GTEST_HAS_STREAM_REDIRECTION=0',
132 'GTEST_HAS_POSIX_RE=0',
133 ],
134 },
135 }, {
136 'sources': [
137 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest_main.cc',
138 ],
139 }]],
brians343bc112013-02-10 01:53:46 +0000140 'cflags!': ['-Werror'],
141 'direct_dependent_settings': {
142 'include_dirs': ['<(externals)/gtest-<(gtest_version)/include'],
143 'target_conditions': [
144 ['_type=="executable"', {
145 'product_dir': '<(test_dir)',
146 },
147 ],
148 ],
149 },
150 },
151 {
152 'target_name': 'ctemplate',
153 'type': 'none',
154 'link_settings': {
Brian Silverman798c7782013-03-28 16:48:02 -0700155 'libraries': ['<(externals_abs)/ctemplate-<(ctemplate_version)-prefix/lib/libctemplate.a'],
brians343bc112013-02-10 01:53:46 +0000156 },
157 'direct_dependent_settings': {
158 'include_dirs': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/include'],
159 },
160 },
Brian Silverman798c7782013-03-28 16:48:02 -0700161 {
162 'target_name': 'gflags',
163 'type': 'none',
164 'link_settings': {
165 'libraries': ['<(externals_abs)/gflags-<(gflags_version)-prefix/lib/libgflags.a'],
166 },
167 'direct_dependent_settings': {
168 'include_dirs': ['<(externals)/gflags-<(gflags_version)-prefix/include'],
169 },
170 },
171 {
172 'target_name': 'libusb',
173 'type': 'none',
174 'link_settings': {
175 'libraries': ['<(externals_abs)/libusb-<(libusb_version)-prefix/lib/libusb-<(libusb_apiversion).a'],
176 },
177 'direct_dependent_settings': {
178 'include_dirs': ['<(externals)/libusb-<(libusb_version)-prefix/include'],
179 },
180 },
brians343bc112013-02-10 01:53:46 +0000181 ],
182}