blob: 0dcabf2af5309b056db5192f5e127a5bb332816f [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',
brians343bc112013-02-10 01:53:46 +000018 },
19 'targets': [
20 {
brians343bc112013-02-10 01:53:46 +000021 'target_name': 'WPILib',
Brian Silverman7671c3c2013-04-26 22:37:29 -070022 'type': 'static_library',
23 'sources': [
24 '<!@(find <(externals)/WPILib/WPILib/ -name *.cpp)',
25 ],
26 'cflags!': [
27 '-Werror',
28 '-ggdb3',
29 '-O0'
30 ],
31 'cflags': [
32 '-ggdb1',
33 '-O3'
34 ],
35 'include_dirs': [
36 '<(externals)/WPILib',
37 '<(externals)/WPILib/WPILib',
38 ],
39 'direct_dependent_settings': {
40 'cflags': [
41 '-isystem', '<(externals_abs)/WPILib',
42 '-isystem', '<(externals_abs)/WPILib/WPILib',
43 ],
44 },
brians343bc112013-02-10 01:53:46 +000045 },
46 {
Brian Silvermanf3e1de82013-04-09 18:45:41 -070047 'target_name': 'WPILib-NetworkRobotValues',
48 'type': 'static_library',
49 'sources': [
50 '<(externals)/WPILib/WPILib/NetworkRobot/NetworkRobotValues.cpp'
51 ],
52 'include_dirs': [
53 '<(externals)/WPILib',
54 ],
55 'direct_dependent_settings': {
56 'include_dirs': [
57 '<(externals)/WPILib',
58 ],
59 },
60 },
61 {
brians343bc112013-02-10 01:53:46 +000062 'target_name': 'onejar',
63 'type': 'none',
64 'direct_dependent_settings': {
65 'variables': {
66 'onejar_jar': '<(externals_abs)/one-jar-boot-<(onejar_version).jar',
67 },
68 },
69 },
70 {
71 'target_name': 'javacv',
72 'type': 'none',
73 'variables': {
74 'javacv_dir': '<(externals_abs)/javacv-bin',
75 },
76 'direct_dependent_settings': {
77 'include_dirs': [
78 '/usr/lib/jvm/default-java/include',
79 '/usr/lib/jvm/default-java/include/linux',
80 ],
81 'variables': {
82 'classpath': [
83 '<(javacv_dir)/javacv.jar',
84 '<(javacv_dir)/javacpp.jar',
85 '<(javacv_dir)/javacv-linux-x86.jar',
86 ],
87 },
88 },
89 },
90 {
Brian Silverman6ae77dd2013-03-29 22:28:08 -070091 'target_name': 'opencv',
92 'type': 'none',
93 'link_settings': {
94 'libraries': [
95 '-lopencv_core',
96 '-lopencv_imgproc',
97 ],
98 },
99 },
100 {
brians343bc112013-02-10 01:53:46 +0000101 'target_name': 'libevent',
102 'type': 'none',
103 'link_settings': {
Brian Silverman8efe23e2013-07-07 23:31:37 -0700104 'libraries': ['<(externals_abs)/libevent-<(libevent_version)-prefix/lib/libevent.a'],
105 },
106 'direct_dependent_settings': {
107 'include_dirs': ['<(externals)/libevent-<(libevent_version)-prefix/include'],
brians343bc112013-02-10 01:53:46 +0000108 },
109 },
110 {
111 'target_name': 'eigen',
112 'type': 'none',
113 'direct_dependent_settings': {
114 'include_dirs': ['<(externals)/eigen-<(eigen_version)'],
115 },
116 },
117 {
118 'target_name': 'libjpeg',
119 'type': 'none',
120 'direct_dependent_settings': {
121 'libraries': ['<(externals_abs)/libjpeg/lib/libjpeg.a'],
122 },
123 },
124 {
brians2fdfc072013-02-26 05:35:15 +0000125# Dependents should only use the "gtest/gtest_prod.h" header.
126# This target is NOT the correct one for "aos/common/gtest_prod.h". That one is
127# aos/common/common.gyp:gtest_prod. This target just deals with setting up to
128# use the gtest header.
129 'target_name': 'gtest_prod',
130 'type': 'static_library',
131 'direct_dependent_settings': {
132 'include_dirs': [
133 '<(externals)/gtest-<(gtest_version)/include'
134 ],
135 },
136 },
137 {
brians343bc112013-02-10 01:53:46 +0000138 'target_name': 'gtest',
139 'type': 'static_library',
140 'sources': [
141 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest-all.cc',
142 ],
brians2fdfc072013-02-26 05:35:15 +0000143 'dependencies': [
144 'gtest_prod',
145 ],
146 'export_dependent_settings': [
147 'gtest_prod',
148 ],
brians343bc112013-02-10 01:53:46 +0000149 'conditions': [['OS=="crio"', {
150 'defines': [
151 'GTEST_HAS_TR1_TUPLE=0',
152 'GTEST_HAS_STREAM_REDIRECTION=0',
153 'GTEST_HAS_POSIX_RE=0', # it only has a broken header...
154 ],
155 'direct_dependent_settings': {
156 'defines': [
157 'GTEST_HAS_TR1_TUPLE=0',
158 'GTEST_HAS_STREAM_REDIRECTION=0',
159 'GTEST_HAS_POSIX_RE=0',
160 ],
161 },
162 }, {
163 'sources': [
164 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest_main.cc',
165 ],
166 }]],
brians343bc112013-02-10 01:53:46 +0000167 'cflags!': ['-Werror'],
168 'direct_dependent_settings': {
169 'include_dirs': ['<(externals)/gtest-<(gtest_version)/include'],
170 'target_conditions': [
171 ['_type=="executable"', {
172 'product_dir': '<(test_dir)',
173 },
174 ],
175 ],
176 },
177 },
178 {
179 'target_name': 'ctemplate',
180 'type': 'none',
181 'link_settings': {
Brian Silverman798c7782013-03-28 16:48:02 -0700182 'libraries': ['<(externals_abs)/ctemplate-<(ctemplate_version)-prefix/lib/libctemplate.a'],
brians343bc112013-02-10 01:53:46 +0000183 },
184 'direct_dependent_settings': {
185 'include_dirs': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/include'],
186 },
187 },
Brian Silverman798c7782013-03-28 16:48:02 -0700188 {
189 'target_name': 'gflags',
190 'type': 'none',
191 'link_settings': {
192 'libraries': ['<(externals_abs)/gflags-<(gflags_version)-prefix/lib/libgflags.a'],
193 },
194 'direct_dependent_settings': {
195 'include_dirs': ['<(externals)/gflags-<(gflags_version)-prefix/include'],
196 },
197 },
198 {
199 'target_name': 'libusb',
200 'type': 'none',
201 'link_settings': {
202 'libraries': ['<(externals_abs)/libusb-<(libusb_version)-prefix/lib/libusb-<(libusb_apiversion).a'],
203 },
204 'direct_dependent_settings': {
205 'include_dirs': ['<(externals)/libusb-<(libusb_version)-prefix/include'],
206 },
207 },
brians343bc112013-02-10 01:53:46 +0000208 ],
Brian Silverman6137a502013-04-22 15:41:36 -0700209 'includes': [
210 'libgcc-additions/libgcc-additions.gypi',
211 ],
brians343bc112013-02-10 01:53:46 +0000212}