15
15
# Description:
16
16
# Apache arrow library
17
17
18
- load("@flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
19
-
20
- flatbuffer_cc_library(
21
- name = "arrow_format",
22
- srcs = [
23
- "cpp/src/arrow/ipc/feather.fbs",
24
- "format/File.fbs",
25
- "format/Message.fbs",
26
- "format/Schema.fbs",
27
- "format/SparseTensor.fbs",
28
- "format/Tensor.fbs",
29
- ],
30
- flatc_args = [
31
- "--scoped-enums",
32
- "--gen-object-api",
33
- ],
34
- out_prefix = "cpp/src/generated/",
35
- )
36
-
37
18
package(default_visibility = ["//visibility:public"])
38
19
20
+ # LINT.IfChange(arrow_gen_version)
21
+ arrow_version_replace_cmd = ("sed " +
22
+ "-e 's/@ARROW_VERSION_MAJOR@/6/g' " +
23
+ "-e 's/@ARROW_VERSION_MINOR@/0/g' " +
24
+ "-e 's/@ARROW_VERSION_PATCH@/1/g' ")
25
+ # LINT.ThenChange(../workspace.bzl:arrow_archive_version)
26
+
39
27
genrule(
40
28
name = "arrow_util_config",
41
29
srcs = ["cpp/src/arrow/util/config.h.cmake"],
42
30
outs = ["cpp/src/arrow/util/config.h"],
43
- cmd = ("sed " +
44
- "-e 's/@ARROW_VERSION_MAJOR@/0/g' " +
45
- "-e 's/@ARROW_VERSION_MINOR@/16/g' " +
46
- "-e 's/@ARROW_VERSION_PATCH@/0/g' " +
31
+ cmd = (arrow_version_replace_cmd +
47
32
"-e 's/cmakedefine/define/g' " +
48
33
"$< >$@"),
49
34
)
50
35
51
- # LINT.IfChange(parquet_gen_version)
52
36
genrule(
53
37
name = "parquet_version_h",
54
38
srcs = ["cpp/src/parquet/parquet_version.h.in"],
55
39
outs = ["cpp/src/parquet/parquet_version.h"],
56
- cmd = ("sed " +
57
- "-e 's/@PARQUET_VERSION_MAJOR@/1/g' " +
58
- "-e 's/@PARQUET_VERSION_MINOR@/5/g' " +
59
- "-e 's/@PARQUET_VERSION_PATCH@/1/g' " +
40
+ # Parquet packaged with arrow uses arrow versioning.
41
+ cmd = (arrow_version_replace_cmd +
60
42
"$< >$@"),
61
43
)
62
- # LINT.ThenChange(../workspace.bzl:arrow_archive_version)
63
44
64
- cc_library(
65
- name = "xxhash",
66
- srcs = [],
67
- hdrs = [
68
- "cpp/src/arrow/vendored/xxhash/xxh3.h",
69
- "cpp/src/arrow/vendored/xxhash/xxhash.c",
70
- "cpp/src/arrow/vendored/xxhash/xxhash.h",
71
- ],
72
- copts = ["-Wno-implicit-fallthrough"],
73
- visibility = ["//visibility:private"],
74
- )
45
+ # These are originally generated by flatbuffers. We use them instead of
46
+ # re-generating from fbs files under "format/" and "cpp/src/arrow/ipc/".
47
+ fbs_headers = [
48
+ "cpp/src/generated/feather_generated.h",
49
+ "cpp/src/generated/File_generated.h",
50
+ "cpp/src/generated/Message_generated.h",
51
+ "cpp/src/generated/Schema_generated.h",
52
+ "cpp/src/generated/SparseTensor_generated.h",
53
+ "cpp/src/generated/Tensor_generated.h",
54
+ ]
75
55
76
56
cc_library(
77
57
name = "arrow",
@@ -97,8 +77,16 @@ cc_library(
97
77
"cpp/src/arrow/**/*.h",
98
78
"cpp/src/parquet/**/*.h",
99
79
"cpp/src/parquet/**/*.cc",
80
+ "cpp/src/arrow/tensor/*.cc",
81
+ "cpp/src/generated/parquet_types.cpp",
100
82
],
101
83
exclude = [
84
+ # Excluding files which we don't depend on, but needs
85
+ # additional dependencies like boost, snappy etc.
86
+ "cpp/src/arrow/util/bpacking_avx2.*",
87
+ "cpp/src/arrow/util/bpacking_avx512.*",
88
+ "cpp/src/arrow/util/bpacking_neon*",
89
+ "cpp/src/arrow/util/bpacking_simd*",
102
90
"cpp/src/arrow/util/compression_brotli*",
103
91
"cpp/src/arrow/util/compression_bz2*",
104
92
"cpp/src/arrow/util/compression_lz4*",
@@ -115,27 +103,87 @@ cc_library(
115
103
"cpp/src/**/stream_to_file.cc",
116
104
"cpp/src/arrow/ipc/json*.cc",
117
105
"cpp/src/arrow/vendored/xxhash/**",
118
- "cpp/src/parquet/encryption_internal.cc",
106
+ #"cpp/src/arrow/vendored/datetime/**",
107
+ "cpp/src/parquet/encryption/encryption_internal.cc",
119
108
],
120
- ) + [
121
- "@struct2tensor//third_party:parquet/parquet_types.cpp",
122
- ],
109
+ ),
123
110
hdrs = [
124
- # declare header from above genrule
111
+ # Headers from above genrules.
125
112
"cpp/src/arrow/util/config.h",
126
113
"cpp/src/parquet/parquet_version.h",
127
- ],
114
+ # This is originally generated by thrift compiler. We include the
115
+ # files generated by arrow to avoid requiring the compiler
116
+ # (thrift library is still needed though).
117
+ "cpp/src/generated/parquet_types.h",
118
+ ] + fbs_headers,
128
119
includes = [
129
120
"cpp/src",
130
121
"cpp/src/arrow/vendored/xxhash",
122
+ "cpp/thirdparty/flatbuffers/include",
131
123
],
132
124
textual_hdrs = [
133
125
"cpp/src/arrow/vendored/xxhash/xxhash.c",
134
126
],
135
127
deps = [
136
- ":arrow_format",
128
+ ":datetime",
129
+ ":flatbuffers",
137
130
":xxhash",
138
- "@struct2tensor//third_party:parquet_types_h",
139
131
"@thrift",
140
132
],
141
133
)
134
+
135
+ cc_library(
136
+ name = "xxhash",
137
+ srcs = [],
138
+ hdrs = [
139
+ "cpp/src/arrow/vendored/xxhash/xxhash.c",
140
+ "cpp/src/arrow/vendored/xxhash/xxhash.h",
141
+ ],
142
+ copts = ["-Wno-implicit-fallthrough"],
143
+ includes = ["."],
144
+ visibility = ["//visibility:private"],
145
+ )
146
+
147
+ config_setting(
148
+ name = "windows",
149
+ constraint_values = [
150
+ "@bazel_tools//platforms:windows",
151
+ ],
152
+ )
153
+
154
+ cc_library(
155
+ name = "datetime",
156
+ srcs = [
157
+ "cpp/src/arrow/vendored/datetime/tz.cpp",
158
+ ],
159
+ hdrs = [
160
+ "cpp/src/arrow/vendored/datetime/date.h",
161
+ "cpp/src/arrow/vendored/datetime/ios.h",
162
+ "cpp/src/arrow/vendored/datetime/tz.h",
163
+ "cpp/src/arrow/vendored/datetime/tz_private.h",
164
+ "cpp/src/arrow/vendored/datetime/visibility.h",
165
+ ],
166
+ includes = ["."],
167
+ linkopts = select({
168
+ ":windows": [
169
+ "ole32.lib", # for CoTaskMemFree
170
+ "shell32.lib", # for SHGetKnownFolderPath
171
+ ],
172
+ "//conditions:default": [
173
+ ],
174
+ }),
175
+ visibility = ["//visibility:private"],
176
+ )
177
+
178
+ cc_library(
179
+ name = "flatbuffers",
180
+ srcs = [],
181
+ hdrs = [
182
+ "cpp/thirdparty/flatbuffers/include/flatbuffers/base.h",
183
+ "cpp/thirdparty/flatbuffers/include/flatbuffers/flatbuffers.h",
184
+ "cpp/thirdparty/flatbuffers/include/flatbuffers/stl_emulation.h",
185
+ ],
186
+ copts = ["-Wno-implicit-fallthrough"],
187
+ includes = ["."],
188
+ visibility = ["//visibility:private"],
189
+ )
0 commit comments