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