blob: 796fdeb2fa6f38bbe395ed177c7be0b84e0bf26b [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',
23 ],
24 'link_settings': {
25 'libraries': [
26 '<(aos_abs)/externals/WPILib/WPILib.a',
27 ],
28 },
29 },
30 }]],
31 },
32 {
33 'target_name': 'onejar',
34 'type': 'none',
35 'direct_dependent_settings': {
36 'variables': {
37 'onejar_jar': '<(externals_abs)/one-jar-boot-<(onejar_version).jar',
38 },
39 },
40 },
41 {
42 'target_name': 'javacv',
43 'type': 'none',
44 'variables': {
45 'javacv_dir': '<(externals_abs)/javacv-bin',
46 },
47 'direct_dependent_settings': {
48 'include_dirs': [
49 '/usr/lib/jvm/default-java/include',
50 '/usr/lib/jvm/default-java/include/linux',
51 ],
52 'variables': {
53 'classpath': [
54 '<(javacv_dir)/javacv.jar',
55 '<(javacv_dir)/javacpp.jar',
56 '<(javacv_dir)/javacv-linux-x86.jar',
57 ],
58 },
59 },
60 },
61 {
62# TODO(brians) convert this to downloading + building
63 'target_name': 'libevent',
64 'type': 'none',
65 'link_settings': {
66 'libraries': ['-levent'],
67 },
68 },
69 {
70 'target_name': 'eigen',
71 'type': 'none',
72 'direct_dependent_settings': {
73 'include_dirs': ['<(externals)/eigen-<(eigen_version)'],
74 },
75 },
76 {
77 'target_name': 'libjpeg',
78 'type': 'none',
79 'direct_dependent_settings': {
80 'libraries': ['<(externals_abs)/libjpeg/lib/libjpeg.a'],
81 },
82 },
83 {
brians2fdfc072013-02-26 05:35:15 +000084# Dependents should only use the "gtest/gtest_prod.h" header.
85# This target is NOT the correct one for "aos/common/gtest_prod.h". That one is
86# aos/common/common.gyp:gtest_prod. This target just deals with setting up to
87# use the gtest header.
88 'target_name': 'gtest_prod',
89 'type': 'static_library',
90 'direct_dependent_settings': {
91 'include_dirs': [
92 '<(externals)/gtest-<(gtest_version)/include'
93 ],
94 },
95 },
96 {
brians343bc112013-02-10 01:53:46 +000097 'target_name': 'gtest',
98 'type': 'static_library',
99 'sources': [
100 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest-all.cc',
101 ],
brians2fdfc072013-02-26 05:35:15 +0000102 'dependencies': [
103 'gtest_prod',
104 ],
105 'export_dependent_settings': [
106 'gtest_prod',
107 ],
brians343bc112013-02-10 01:53:46 +0000108 'conditions': [['OS=="crio"', {
109 'defines': [
110 'GTEST_HAS_TR1_TUPLE=0',
111 'GTEST_HAS_STREAM_REDIRECTION=0',
112 'GTEST_HAS_POSIX_RE=0', # it only has a broken header...
113 ],
114 'direct_dependent_settings': {
115 'defines': [
116 'GTEST_HAS_TR1_TUPLE=0',
117 'GTEST_HAS_STREAM_REDIRECTION=0',
118 'GTEST_HAS_POSIX_RE=0',
119 ],
120 },
121 }, {
122 'sources': [
123 '<(externals)/gtest-<(gtest_version)/fused-src/gtest/gtest_main.cc',
124 ],
125 }]],
brians343bc112013-02-10 01:53:46 +0000126 'cflags!': ['-Werror'],
127 'direct_dependent_settings': {
128 'include_dirs': ['<(externals)/gtest-<(gtest_version)/include'],
129 'target_conditions': [
130 ['_type=="executable"', {
131 'product_dir': '<(test_dir)',
132 },
133 ],
134 ],
135 },
136 },
137 {
138 'target_name': 'ctemplate',
139 'type': 'none',
140 'link_settings': {
141 'libraries': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/lib/libctemplate.a'],
142 },
143 'direct_dependent_settings': {
144 'include_dirs': ['<(externals)/ctemplate-<(ctemplate_version)-prefix/include'],
145 },
146 },
147 ],
148}