Skip to content

Commit d1a9aff

Browse files
committed
ARROW-795: [C++] Consolidate arrow/arrow_io/arrow_ipc into a single shared and static library
This leaves c_glib in a broken state, since I'd rather let @kou fix up things the way he prefers (I started refactoring the automake files and realized I would probably just make a mess). I'm going to submit a patch to make parquet-cpp work on top of this. Author: Wes McKinney <wes.mckinney@twosigma.com> Author: Kouhei Sutou <kou@clear-code.com> Closes apache#516 from wesm/ARROW-795 and squashes the following commits: 7221e66 [Kouhei Sutou] Update arrow-glib after codebase consolidation 207749c [Wes McKinney] Consolidate arrow/arrow_io/arrow_ipc into a single shared and static library
1 parent ddda303 commit d1a9aff

31 files changed

Lines changed: 214 additions & 1005 deletions

‎c_glib/arrow-glib/Makefile.am‎

Lines changed: 62 additions & 233 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,25 @@ libarrow_glib_la_headers = \
101101
uint64-array-builder.h \
102102
uint64-data-type.h
103103

104+
libarrow_glib_la_headers += \
105+
io-file.h \
106+
io-file-mode.h \
107+
io-file-output-stream.h \
108+
io-input-stream.h \
109+
io-memory-mapped-file.h \
110+
io-output-stream.h \
111+
io-random-access-file.h \
112+
io-readable.h \
113+
io-writeable.h \
114+
io-writeable-file.h
115+
116+
libarrow_glib_la_headers += \
117+
ipc-file-reader.h \
118+
ipc-file-writer.h \
119+
ipc-stream-reader.h \
120+
ipc-stream-writer.h \
121+
ipc-metadata-version.h
122+
104123
libarrow_glib_la_generated_headers = \
105124
enums.h
106125

@@ -170,6 +189,25 @@ libarrow_glib_la_sources = \
170189
$(libarrow_glib_la_headers) \
171190
$(libarrow_glib_la_generated_sources)
172191

192+
libarrow_glib_la_sources += \
193+
io-file.cpp \
194+
io-file-mode.cpp \
195+
io-file-output-stream.cpp \
196+
io-input-stream.cpp \
197+
io-memory-mapped-file.cpp \
198+
io-output-stream.cpp \
199+
io-random-access-file.cpp \
200+
io-readable.cpp \
201+
io-writeable.cpp \
202+
io-writeable-file.cpp
203+
204+
libarrow_glib_la_sources += \
205+
ipc-file-reader.cpp \
206+
ipc-file-writer.cpp \
207+
ipc-metadata-version.cpp \
208+
ipc-stream-reader.cpp \
209+
ipc-stream-writer.cpp
210+
173211
libarrow_glib_la_cpp_headers = \
174212
array.hpp \
175213
array-builder.hpp \
@@ -184,6 +222,25 @@ libarrow_glib_la_cpp_headers = \
184222
table.hpp \
185223
type.hpp
186224

225+
libarrow_glib_la_cpp_headers += \
226+
io-file.hpp \
227+
io-file-mode.hpp \
228+
io-file-output-stream.hpp \
229+
io-input-stream.hpp \
230+
io-memory-mapped-file.hpp \
231+
io-output-stream.hpp \
232+
io-random-access-file.hpp \
233+
io-readable.hpp \
234+
io-writeable.hpp \
235+
io-writeable-file.hpp
236+
237+
libarrow_glib_la_cpp_headers += \
238+
ipc-file-reader.hpp \
239+
ipc-file-writer.hpp \
240+
ipc-metadata-version.hpp \
241+
ipc-stream-reader.hpp \
242+
ipc-stream-writer.hpp
243+
187244
libarrow_glib_la_SOURCES = \
188245
$(libarrow_glib_la_sources) \
189246
$(libarrow_glib_la_cpp_headers)
@@ -221,205 +278,15 @@ stamp-enums.c: $(libarrow_glib_la_headers) enums.c.template
221278
$(libarrow_glib_la_headers)) > enums.c
222279
touch $@
223280

224-
# libarrow-io-glib
225-
lib_LTLIBRARIES += \
226-
libarrow-io-glib.la
227-
228-
libarrow_io_glib_la_CXXFLAGS = \
229-
$(GLIB_CFLAGS) \
230-
$(ARROW_IO_CFLAGS) \
231-
$(GARROW_CXXFLAGS)
232-
233-
libarrow_io_glib_la_LIBADD = \
234-
$(GLIB_LIBS) \
235-
$(ARROW_IO_LIBS) \
236-
libarrow-glib.la
237-
238-
libarrow_io_glib_la_headers = \
239-
arrow-io-glib.h \
240-
io-file.h \
241-
io-file-mode.h \
242-
io-file-output-stream.h \
243-
io-input-stream.h \
244-
io-memory-mapped-file.h \
245-
io-output-stream.h \
246-
io-random-access-file.h \
247-
io-readable.h \
248-
io-writeable.h \
249-
io-writeable-file.h
250-
251-
libarrow_io_glib_la_generated_headers = \
252-
io-enums.h
253-
254-
libarrow_io_glib_la_generated_sources = \
255-
io-enums.c \
256-
$(libarrow_io_glib_la_generated_headers)
257-
258-
libarrow_io_glib_la_sources = \
259-
io-file.cpp \
260-
io-file-mode.cpp \
261-
io-file-output-stream.cpp \
262-
io-input-stream.cpp \
263-
io-memory-mapped-file.cpp \
264-
io-output-stream.cpp \
265-
io-random-access-file.cpp \
266-
io-readable.cpp \
267-
io-writeable.cpp \
268-
io-writeable-file.cpp \
269-
$(libarrow_io_glib_la_headers) \
270-
$(libarrow_io_glib_la_generated_sources)
271-
272-
libarrow_io_glib_la_cpp_headers = \
273-
arrow-io-glib.hpp \
274-
io-file.hpp \
275-
io-file-mode.hpp \
276-
io-file-output-stream.hpp \
277-
io-input-stream.hpp \
278-
io-memory-mapped-file.hpp \
279-
io-output-stream.hpp \
280-
io-random-access-file.hpp \
281-
io-readable.hpp \
282-
io-writeable.hpp \
283-
io-writeable-file.hpp
284-
285-
libarrow_io_glib_la_SOURCES = \
286-
$(libarrow_io_glib_la_sources) \
287-
$(libarrow_io_glib_la_cpp_headers)
288-
289-
BUILT_SOURCES += \
290-
$(libarrow_io_glib_la_genearted_sources) \
291-
stamp-io-enums.c \
292-
stamp-io-enums.h
293-
294-
EXTRA_DIST += \
295-
io-enums.c.template \
296-
io-enums.h.template
297-
298-
io-enums.h: stamp-io-enums.h
299-
@true
300-
stamp-io-enums.h: $(libarrow_io_glib_la_headers) io-enums.h.template
301-
$(AM_V_GEN) \
302-
(cd $(srcdir) && \
303-
$(GLIB_MKENUMS) \
304-
--identifier-prefix GArrowIO \
305-
--symbol-prefix garrow_io \
306-
--template io-enums.h.template \
307-
$(libarrow_io_glib_la_headers)) > io-enums.h
308-
touch $@
309-
310-
io-enums.c: stamp-io-enums.c
311-
@true
312-
stamp-io-enums.c: $(libarrow_io_glib_la_headers) io-enums.c.template
313-
$(AM_V_GEN) \
314-
(cd $(srcdir) && \
315-
$(GLIB_MKENUMS) \
316-
--identifier-prefix GArrowIO \
317-
--symbol-prefix garrow_io \
318-
--template io-enums.c.template \
319-
$(libarrow_io_glib_la_headers)) > io-enums.c
320-
touch $@
321-
322-
# libarrow-ipc-glib
323-
lib_LTLIBRARIES += \
324-
libarrow-ipc-glib.la
325-
326-
libarrow_ipc_glib_la_CXXFLAGS = \
327-
$(GLIB_CFLAGS) \
328-
$(ARROW_IPC_CFLAGS) \
329-
$(GARROW_CXXFLAGS)
330-
331-
libarrow_ipc_glib_la_LIBADD = \
332-
$(GLIB_LIBS) \
333-
$(ARROW_IPC_LIBS) \
334-
libarrow-glib.la \
335-
libarrow-io-glib.la
336-
337-
libarrow_ipc_glib_la_headers = \
338-
arrow-ipc-glib.h \
339-
ipc-file-reader.h \
340-
ipc-file-writer.h \
341-
ipc-stream-reader.h \
342-
ipc-stream-writer.h \
343-
ipc-metadata-version.h
344-
345-
libarrow_ipc_glib_la_generated_headers = \
346-
ipc-enums.h
347-
348-
libarrow_ipc_glib_la_generated_sources = \
349-
ipc-enums.c \
350-
$(libarrow_ipc_glib_la_generated_headers)
351-
352-
libarrow_ipc_glib_la_sources = \
353-
ipc-file-reader.cpp \
354-
ipc-file-writer.cpp \
355-
ipc-metadata-version.cpp \
356-
ipc-stream-reader.cpp \
357-
ipc-stream-writer.cpp \
358-
$(libarrow_ipc_glib_la_headers) \
359-
$(libarrow_ipc_glib_la_generated_sources)
360-
361-
libarrow_ipc_glib_la_cpp_headers = \
362-
arrow-ipc-glib.hpp \
363-
ipc-file-reader.hpp \
364-
ipc-file-writer.hpp \
365-
ipc-metadata-version.hpp \
366-
ipc-stream-reader.hpp \
367-
ipc-stream-writer.hpp
368-
369-
libarrow_ipc_glib_la_SOURCES = \
370-
$(libarrow_ipc_glib_la_sources) \
371-
$(libarrow_ipc_glib_la_cpp_headers)
372-
373-
BUILT_SOURCES += \
374-
$(libarrow_ipc_glib_la_genearted_sources) \
375-
stamp-ipc-enums.c \
376-
stamp-ipc-enums.h
377-
378-
EXTRA_DIST += \
379-
ipc-enums.c.template \
380-
ipc-enums.h.template
381-
382-
ipc-enums.h: stamp-ipc-enums.h
383-
@true
384-
stamp-ipc-enums.h: $(libarrow_ipc_glib_la_headers) ipc-enums.h.template
385-
$(AM_V_GEN) \
386-
(cd $(srcdir) && \
387-
$(GLIB_MKENUMS) \
388-
--identifier-prefix GArrowIPC \
389-
--symbol-prefix garrow_ipc \
390-
--template ipc-enums.h.template \
391-
$(libarrow_ipc_glib_la_headers)) > ipc-enums.h
392-
touch $@
393-
394-
ipc-enums.c: stamp-ipc-enums.c
395-
@true
396-
stamp-ipc-enums.c: $(libarrow_ipc_glib_la_headers) ipc-enums.c.template
397-
$(AM_V_GEN) \
398-
(cd $(srcdir) && \
399-
$(GLIB_MKENUMS) \
400-
--identifier-prefix GArrowIPC \
401-
--symbol-prefix garrow_ipc \
402-
--template ipc-enums.c.template \
403-
$(libarrow_ipc_glib_la_headers)) > ipc-enums.c
404-
touch $@
405-
406281
arrow_glib_includedir = $(includedir)/arrow-glib
407-
arrow_glib_include_HEADERS = \
408-
$(libarrow_glib_la_headers) \
409-
$(libarrow_glib_la_cpp_headers) \
410-
$(libarrow_glib_la_generated_headers) \
411-
$(libarrow_io_glib_la_headers) \
412-
$(libarrow_io_glib_la_cpp_headers) \
413-
$(libarrow_io_glib_la_generated_headers) \
414-
$(libarrow_ipc_glib_la_headers) \
415-
$(libarrow_ipc_glib_la_cpp_headers) \
416-
$(libarrow_ipc_glib_la_generated_headers)
282+
arrow_glib_include_HEADERS = \
283+
$(libarrow_glib_la_headers) \
284+
$(libarrow_glib_la_cpp_headers) \
285+
$(libarrow_glib_la_generated_headers)
417286

418287
pkgconfigdir = $(libdir)/pkgconfig
419288
pkgconfig_DATA = \
420-
arrow-glib.pc \
421-
arrow-io-glib.pc \
422-
arrow-ipc-glib.pc
289+
arrow-glib.pc
423290

424291
# GObject Introspection
425292
-include $(INTROSPECTION_MAKEFILE)
@@ -443,44 +310,6 @@ Arrow_1_0_gir_SCANNERFLAGS = \
443310
--symbol-prefix=garrow
444311
INTROSPECTION_GIRS += Arrow-1.0.gir
445312

446-
ArrowIO-1.0.gir: libarrow-io-glib.la
447-
ArrowIO-1.0.gir: Arrow-1.0.gir
448-
ArrowIO_1_0_gir_PACKAGES = \
449-
gobject-2.0
450-
ArrowIO_1_0_gir_EXPORT_PACKAGES = arrow-io
451-
ArrowIO_1_0_gir_INCLUDES = \
452-
GObject-2.0
453-
ArrowIO_1_0_gir_CFLAGS = \
454-
$(AM_CPPFLAGS)
455-
ArrowIO_1_0_gir_LIBS = libarrow-io-glib.la
456-
ArrowIO_1_0_gir_FILES = $(libarrow_io_glib_la_sources)
457-
ArrowIO_1_0_gir_SCANNERFLAGS = \
458-
--include-uninstalled=$(builddir)/Arrow-1.0.gir \
459-
--warn-all \
460-
--identifier-prefix=GArrowIO \
461-
--symbol-prefix=garrow_io
462-
INTROSPECTION_GIRS += ArrowIO-1.0.gir
463-
464-
ArrowIPC-1.0.gir: libarrow-ipc-glib.la
465-
ArrowIPC-1.0.gir: Arrow-1.0.gir
466-
ArrowIPC-1.0.gir: ArrowIO-1.0.gir
467-
ArrowIPC_1_0_gir_PACKAGES = \
468-
gobject-2.0
469-
ArrowIPC_1_0_gir_EXPORT_PACKAGES = arrow-ipc
470-
ArrowIPC_1_0_gir_INCLUDES = \
471-
GObject-2.0
472-
ArrowIPC_1_0_gir_CFLAGS = \
473-
$(AM_CPPFLAGS)
474-
ArrowIPC_1_0_gir_LIBS = libarrow-ipc-glib.la
475-
ArrowIPC_1_0_gir_FILES = $(libarrow_ipc_glib_la_sources)
476-
ArrowIPC_1_0_gir_SCANNERFLAGS = \
477-
--include-uninstalled=$(builddir)/Arrow-1.0.gir \
478-
--include-uninstalled=$(builddir)/ArrowIO-1.0.gir \
479-
--warn-all \
480-
--identifier-prefix=GArrowIPC \
481-
--symbol-prefix=garrow_ipc
482-
INTROSPECTION_GIRS += ArrowIPC-1.0.gir
483-
484313
girdir = $(datadir)/gir-1.0
485314
gir_DATA = $(INTROSPECTION_GIRS)
486315

‎c_glib/arrow-glib/arrow-glib.h‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,20 @@
7878
#include <arrow-glib/uint64-array.h>
7979
#include <arrow-glib/uint64-array-builder.h>
8080
#include <arrow-glib/uint64-data-type.h>
81+
82+
#include <arrow-glib/io-file.h>
83+
#include <arrow-glib/io-file-mode.h>
84+
#include <arrow-glib/io-file-output-stream.h>
85+
#include <arrow-glib/io-input-stream.h>
86+
#include <arrow-glib/io-memory-mapped-file.h>
87+
#include <arrow-glib/io-output-stream.h>
88+
#include <arrow-glib/io-random-access-file.h>
89+
#include <arrow-glib/io-readable.h>
90+
#include <arrow-glib/io-writeable.h>
91+
#include <arrow-glib/io-writeable-file.h>
92+
93+
#include <arrow-glib/ipc-file-reader.h>
94+
#include <arrow-glib/ipc-file-writer.h>
95+
#include <arrow-glib/ipc-metadata-version.h>
96+
#include <arrow-glib/ipc-stream-reader.h>
97+
#include <arrow-glib/ipc-stream-writer.h>

‎c_glib/arrow-glib/arrow-glib.hpp‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,19 @@
3535
#include <arrow-glib/schema.hpp>
3636
#include <arrow-glib/table.hpp>
3737
#include <arrow-glib/type.hpp>
38+
39+
#include <arrow-glib/io-file.hpp>
40+
#include <arrow-glib/io-file-mode.hpp>
41+
#include <arrow-glib/io-file-output-stream.hpp>
42+
#include <arrow-glib/io-input-stream.hpp>
43+
#include <arrow-glib/io-memory-mapped-file.hpp>
44+
#include <arrow-glib/io-output-stream.hpp>
45+
#include <arrow-glib/io-random-access-file.hpp>
46+
#include <arrow-glib/io-readable.hpp>
47+
#include <arrow-glib/io-writeable.hpp>
48+
49+
#include <arrow-glib/ipc-file-reader.hpp>
50+
#include <arrow-glib/ipc-file-writer.hpp>
51+
#include <arrow-glib/ipc-metadata-version.hpp>
52+
#include <arrow-glib/ipc-stream-reader.hpp>
53+
#include <arrow-glib/ipc-stream-writer.hpp>

0 commit comments

Comments
 (0)