blob: 99b26cf32c36b6d7cf5271c353eb4942ddd25d6d [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.
Brian Silverman8efe23e2013-07-07 23:31:37 -07009 'eigen_version': '3.1.3',
brians343bc112013-02-10 01:53:46 +000010 'gtest_version': '1.6.0-p1',
11 'onejar_version': '0.97',
Brian Silverman8efe23e2013-07-07 23:31:37 -070012 'ctemplate_version': '129',
Brian Silverman798c7782013-03-28 16:48:02 -070013 'gflags_version': '2.0',
14 'libusb_version': '1.0.9',
15 'libusb_apiversion': '1.0',
Brian Silverman6137a502013-04-22 15:41:36 -070016 'compiler_rt_version': 'RELEASE_32_final',
Brian Silverman8efe23e2013-07-07 23:31:37 -070017 'libevent_version': '2.0.21',
Austin Schuh69155282013-10-27 14:52:35 -070018 'libcdd_version': '094g',
brians343bc112013-02-10 01:53:46 +000019 },
20 'targets': [
21 {
brians343bc112013-02-10 01:53:46 +000022 'target_name': 'WPILib',
Brian Silverman7671c3c2013-04-26 22:37:29 -070023 'type': 'static_library',
24 'sources': [
25 '<!@(find <(externals)/WPILib/WPILib/ -name *.cpp)',
26 ],
27 'cflags!': [
28 '-Werror',
29 '-ggdb3',
30 '-O0'
31 ],
32 'cflags': [
33 '-ggdb1',
34 '-O3'
35 ],
36 'include_dirs': [
37 '<(externals)/WPILib',
38 '<(externals)/WPILib/WPILib',
39 ],
40 'direct_dependent_settings': {
41 'cflags': [
42 '-isystem', '<(externals_abs)/WPILib',
43 '-isystem', '<(externals_abs)/WPILib/WPILib',
44 ],
45 },
brians343bc112013-02-10 01:53:46 +000046 },
47 {
Brian Silvermanf3e1de82013-04-09 18:45:41 -070048 'target_name': 'WPILib-NetworkRobotValues',
49 'type': 'static_library',
50 'sources': [
51 '<(externals)/WPILib/WPILib/NetworkRobot/NetworkRobotValues.cpp'
52 ],
53 'include_dirs': [
54 '<(externals)/WPILib',
55 ],
56 'direct_dependent_settings': {
57 'include_dirs': [
58 '<(externals)/WPILib',
59 ],
60 },
61 },
62 {
brians343bc112013-02-10 01:53:46 +000063 'target_name': 'onejar',
64 'type': 'none',
65 'direct_dependent_settings': {
66 'variables': {
67 'onejar_jar': '<(externals_abs)/one-jar-boot-<(onejar_version).jar',
68 },
69 },
70 },
71 {
72 'target_name': 'javacv',
73 'type': 'none',
74 'variables': {
75 'javacv_dir': '<(externals_abs)/javacv-bin',
76 },
77 'direct_dependent_settings': {
78 'include_dirs': [
79 '/usr/lib/jvm/default-java/include',
80 '/usr/lib/jvm/default-java/include/linux',
81 ],
82 'variables': {
83 'classpath': [
84 '<(javacv_dir)/javacv.jar',
85 '<(javacv_dir)/javacpp.jar',
86 '<(javacv_dir)/javacv-linux-x86.jar',
87 ],
88 },
89 },
90 },
91 {
Brian Silverman6ae77dd2013-03-29 22:28:08 -070092 'target_name': 'opencv',
93 'type': 'none',
94 'link_settings': {
95 'libraries': [
96 '-lopencv_core',
97 '-lopencv_imgproc',
98 ],
99 },
100 },
101 {
brians343bc112013-02-10 01:53:46 +0000102 'target_name': 'libevent',
103 'type': 'none',
104 'link_settings': {
Brian Silverman8efe23e2013-07-07 23:31:37 -0700105 'libraries': ['<(externals_abs)/libevent-<(libevent_version)-prefix/lib/libevent.a'],
106 },
107 'direct_dependent_settings': {
108 'include_dirs': ['<(externals)/libevent-<(libevent_version)-prefix/include'],
brians343bc112013-02-10 01:53:46 +0000109 },
110 },
111 {
112 'target_name': 'eigen',
113 'type': 'none',
114 'direct_dependent_settings': {
Brian Silvermanefb993f2013-08-30 19:52:57 -0700115 'cflags': [
116 '-isystem', '<(externals)/eigen-<(eigen_version)'
117 ],
brians343bc112013-02-10 01:53:46 +0000118 },
119 },
120 {
121 'target_name': 'libjpeg',
122 'type': 'none',
123 'direct_dependent_settings': {
124 'libraries': ['<(externals_abs)/libjpeg/lib/libjpeg.a'],
125 },
126 },
127 {
brians2fdfc072013-02-26 05:35:15 +0000128# Dependents should only use the "gtest/gtest_prod.h" header.
129# This target is NOT the correct one for "aos/common/gtest_prod.h". That one is
130# aos/common/common.gyp:gtest_prod. This target just deals with setting up to
131# use the gtest header.
132 'target_name': 'gtest_prod',
133 'type': 'static_library',
134 'direct_dependent_settings': {
135 'include_dirs': [
136 '<(externals)/gtest-<(gtest_version)/include'
137 ],
138 },
139 },
140 {
brians343bc112013-02-10 01:53:46 +0000141 'target_name': 'gtest',
142 'type': 'static_library',
143 'sources': [
144 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest-all.cc',
145 ],
brians2fdfc072013-02-26 05:35:15 +0000146 'dependencies': [
147 'gtest_prod',
148 ],
149 'export_dependent_settings': [
150 'gtest_prod',
151 ],
brians343bc112013-02-10 01:53:46 +0000152 'conditions': [['OS=="crio"', {
153 'defines': [
154 'GTEST_HAS_TR1_TUPLE=0',
155 'GTEST_HAS_STREAM_REDIRECTION=0',
156 'GTEST_HAS_POSIX_RE=0', # it only has a broken header...
157 ],
158 'direct_dependent_settings': {
159 'defines': [
160 'GTEST_HAS_TR1_TUPLE=0',
161 'GTEST_HAS_STREAM_REDIRECTION=0',
162 'GTEST_HAS_POSIX_RE=0',
163 ],
164 },
165 }, {
166 'sources': [
167 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest_main.cc',
168 ],
169 }]],
brians343bc112013-02-10 01:53:46 +0000170 'cflags!': ['-Werror'],
171 'direct_dependent_settings': {
172 'include_dirs': ['<(externals)/gtest-<(gtest_version)/include'],
173 'target_conditions': [
174 ['_type=="executable"', {
175 'product_dir': '<(test_dir)',
176 },
177 ],
178 ],
179 },
180 },
181 {
182 'target_name': 'ctemplate',
183 'type': 'none',
184 'link_settings': {
Brian Silverman798c7782013-03-28 16:48:02 -0700185 'libraries': ['<(externals_abs)/ctemplate-<(ctemplate_version)-prefix/lib/libctemplate.a'],
brians343bc112013-02-10 01:53:46 +0000186 },
187 'direct_dependent_settings': {
188 'include_dirs': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/include'],
189 },
190 },
Brian Silverman798c7782013-03-28 16:48:02 -0700191 {
192 'target_name': 'gflags',
193 'type': 'none',
194 'link_settings': {
195 'libraries': ['<(externals_abs)/gflags-<(gflags_version)-prefix/lib/libgflags.a'],
196 },
197 'direct_dependent_settings': {
198 'include_dirs': ['<(externals)/gflags-<(gflags_version)-prefix/include'],
199 },
200 },
201 {
202 'target_name': 'libusb',
203 'type': 'none',
204 'link_settings': {
205 'libraries': ['<(externals_abs)/libusb-<(libusb_version)-prefix/lib/libusb-<(libusb_apiversion).a'],
206 },
207 'direct_dependent_settings': {
208 'include_dirs': ['<(externals)/libusb-<(libusb_version)-prefix/include'],
209 },
210 },
Austin Schuh69155282013-10-27 14:52:35 -0700211 {
212 'target_name': 'libcdd',
213 'type': 'none',
214 'link_settings': {
215 'libraries': ['<(externals_abs)/libcdd-<(libcdd_version)-prefix/lib/libcdd.a'],
216 },
217 'direct_dependent_settings': {
218 'include_dirs': ['<(externals_abs)/libcdd-<(libcdd_version)-prefix/include'],
219 },
220 },
brians343bc112013-02-10 01:53:46 +0000221 ],
Brian Silverman6137a502013-04-22 15:41:36 -0700222 'includes': [
223 'libgcc-additions/libgcc-additions.gypi',
224 ],
brians343bc112013-02-10 01:53:46 +0000225}