blob: eb19cd0c39885fa6e0c7374f1dab7ae4c66e841e [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 {
63# TODO(brians) convert this to downloading + building
64 'target_name': 'libevent',
65 'type': 'none',
66 'link_settings': {
67 'libraries': ['-levent'],
68 },
69 },
70 {
71 'target_name': 'eigen',
72 'type': 'none',
73 'direct_dependent_settings': {
74 'include_dirs': ['<(externals)/eigen-<(eigen_version)'],
75 },
76 },
77 {
78 'target_name': 'libjpeg',
79 'type': 'none',
80 'direct_dependent_settings': {
81 'libraries': ['<(externals_abs)/libjpeg/lib/libjpeg.a'],
82 },
83 },
84 {
brians2fdfc072013-02-26 05:35:15 +000085# Dependents should only use the "gtest/gtest_prod.h" header.
86# This target is NOT the correct one for "aos/common/gtest_prod.h". That one is
87# aos/common/common.gyp:gtest_prod. This target just deals with setting up to
88# use the gtest header.
89 'target_name': 'gtest_prod',
90 'type': 'static_library',
91 'direct_dependent_settings': {
92 'include_dirs': [
93 '<(externals)/gtest-<(gtest_version)/include'
94 ],
95 },
96 },
97 {
brians343bc112013-02-10 01:53:46 +000098 'target_name': 'gtest',
99 'type': 'static_library',
100 'sources': [
101 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest-all.cc',
102 ],
brians2fdfc072013-02-26 05:35:15 +0000103 'dependencies': [
104 'gtest_prod',
105 ],
106 'export_dependent_settings': [
107 'gtest_prod',
108 ],
brians343bc112013-02-10 01:53:46 +0000109 'conditions': [['OS=="crio"', {
110 'defines': [
111 'GTEST_HAS_TR1_TUPLE=0',
112 'GTEST_HAS_STREAM_REDIRECTION=0',
113 'GTEST_HAS_POSIX_RE=0', # it only has a broken header...
114 ],
115 'direct_dependent_settings': {
116 'defines': [
117 'GTEST_HAS_TR1_TUPLE=0',
118 'GTEST_HAS_STREAM_REDIRECTION=0',
119 'GTEST_HAS_POSIX_RE=0',
120 ],
121 },
122 }, {
123 'sources': [
124 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest_main.cc',
125 ],
126 }]],
brians343bc112013-02-10 01:53:46 +0000127 'cflags!': ['-Werror'],
128 'direct_dependent_settings': {
129 'include_dirs': ['<(externals)/gtest-<(gtest_version)/include'],
130 'target_conditions': [
131 ['_type=="executable"', {
132 'product_dir': '<(test_dir)',
133 },
134 ],
135 ],
136 },
137 },
138 {
139 'target_name': 'ctemplate',
140 'type': 'none',
141 'link_settings': {
142 'libraries': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/lib/libctemplate.a'],
143 },
144 'direct_dependent_settings': {
145 'include_dirs': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/include'],
146 },
147 },
148 ],
149}