-
Notifications
You must be signed in to change notification settings - Fork 192
Add option for external C++ development toolchain, use C++11, configure libparquet library / header installation #13
Conversation
…talled system libraries
Can someone let me know what are the appropriate copyright headers to use in these files? In copy-pasting from other Apache / Apache-licensed Cloudera C++ projects like Impala and Kudu I've transferred a few Cloudera copyright headers |
@wesm I think the license header should contain only the Apache license information. You may want to remove the Cloudera copyright as Parquet is now part of the Apache community. A header like this may be pasted on those cpp or cmake files: /**
|
Thanks -- since this codebase never got "shipped" in the past this has not been an issue. I can fix the copyright headers in a follow up patch so avoid adding any more noise to this patch if that is OK. |
…ries for out of source builds
d5f2d6f
to
3268411
Compare
Hi Wes, |
@asandryh I completely agree — per #10 and PARQUET-267 I am going to ensure that building with system-installed libraries or indicating 3rd party dependencies via cmake options is the default and simplest option. The motivation in adding an external toolchain option was to facilitate development and linking with other C++ libraries sharing a common portable Linux toolchain. |
@wesm Thank you for the clarification. It looks like @kalaxy in #10 has exactly the same concerns as I. |
@wesm can you split this patch in two? I think the one that rearranges the source structure, headers, #define cleanups etc are not controversial and can go in. The build step needs more discussion. |
@wesm can you participate in the discussion here |
@nongli no problem, I'll spend some time this afternoon and open a new build environment patch per discussion in PARQUET-267. |
Closing in favor of #14 and follow up patch re: more flexible build environment configuration. |
…on targets Reorganize code into a top level src/parquet directly, add a libparquet shared library, and add install targets for libparquet and its header files. Add cpplint script and `make lint` target for code linting. Replaces earlier PR #13 Author: Wes McKinney <[email protected]> Closes #14 from wesm/libparquet-library and squashes the following commits: 2e356fd [Wes McKinney] PARQUET-416: Compile with C++11 and replace usages of boost::shared_ptr with std::shared_ptr and other C++11 fixes. Reorganize code into a top level src/parquet directly, add a libparquet shared library, and add install targets for libparquet and its header files. Add cpplint script and `make lint` target for code linting.
This PR makes no functional changes to the codebase, but is more a reorganization for using parquet-cpp as a building block for other native code projects. After this I'm going to start working on functional unit tests and working toward a complete reader / writer implementation.
Notably this patch removes the thirdparty packages and will rely either on cloudera/native-toolchain for development / linking or system-level dynamic libraries. You can also perform out-of-source builds.
I have not tried getting Travis CI to work with the native toolchain; I may enlist the help of @grundprinzip on this portion.