fclaude/libcds2 — pull request #12 by lyda (2013-11-16 19:59:29+00:00)
Title: Autotools

Hey there. We're using libcds at NUI Galway in a project and I just wanted to clean up the build system. This is a rough draft but I wanted to get some feedback first before I went too much further.

Some specific bits:

I changed your include file layout a bit.
* I'm not yet fully familiar with libcds/libcds2 so am not sure if libcds2 should have a different include path. I've set it up so it does but I can undo that.
* I'm not sure if all these header files need to be installed.

I notice there's been a bit more activity on the libcds project lately. Would you like me to make the same changes there?

Not all the targets in Makefile.orig have been ported over. Let me know if there are specific ones you want and I can try to make that happen.

I've set the version of the library to 2. This isn't a big issue yet since I haven't enabled shared libraries, but that's easy to fix. For more info on libtool's library versioning scheme: http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning The key takeaway is that library versions should reflect changes in the library; not the version number of the project.

The gtest package is available for a lot of platforms. I could take it out of the tree and then add tests for it. So that tests would need to be explicitly enabled (`./configure --enable-tests`) or it could try to find the `gtest` library and emit a warning or fatally exit if it's missing (with an option to disable it). The downside to it being in there is that `make check` merrilly runs the gtest test suite as well as the ones you wrote.

I added a COPYING file which was copied from the COPYRIGHT file in the libcds project. Not sure if that's the license you want.

TODO:
* enable shared libs.
* test out the install and dist targets.
* Fill out the other template files - NEWS, AUTHORS, etc.