onetodo / cld2

Automatically exported from code.google.com/p/cld2
0 stars 0 forks source link

please provide a SONAME #29

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Can you please provide a SONAME for the library?

Installing something in usr/lib without a SONAME is so painful.

Original issue reported on code.google.com by costamag...@gmail.com on 10 Feb 2015 at 3:37

GoogleCodeExporter commented 9 years ago
thanks

Original comment by costamag...@gmail.com on 10 Feb 2015 at 3:37

GoogleCodeExporter commented 9 years ago
This is committed, along with some other minor tweaks (warning messages and the 
CFLAGS bits you asked for in issue 28) in r194.

I gave the libraries identical names to the files that the build system creates:
libcld2_dynamic.so
libcld2_full.so
libcld2.so

Original comment by andrewha...@google.com on 12 Feb 2015 at 11:27

GoogleCodeExporter commented 9 years ago
nope, you should give something like 0.0.0

something like this :)
gcc -shared -Wl,-soname,libmystuff.so.1 \
    -o libmystuff.so.1.0.1 a.o b.o -lc

(cmake handles it automatically, I'm trying to port the build script right now)

BTW not only chromium is using it, now also poedit!

thanks for the fixes so far!

Original comment by costamag...@gmail.com on 12 Feb 2015 at 11:38

GoogleCodeExporter commented 9 years ago
So, CLD2 doesn't have release versions like this. The closest that we have is 
the date of the data files, generally speaking. We could add a ".1" to make 
things happy, but that's really about the only sensible thing at the moment 
without actually having a "x.y.z." versioning scheme, which the project 
currently lacks.

I didn't mean to imply with my comments in issue #28 that *only* Chromium uses 
CLD; it's certainly not intended to be just for Chromium. The metapoint is that 
most of the projects that incorporate CLD that I'm currently aware of compile 
it at the same time as everything else, meaning they don't end up with a 
standalone CLD library to link at runtime. It's a totally valid use case, 
though, which is why I'm happy to take a makefile improvement :)

I'd like Dick's thoughts on versioning before committing to make it a ".1", 
because we're likely stuck with whatever we do there for the forseeable future. 
I'd hate to cause pain for the consumers of the library by mangling the version.

Original comment by andrewha...@google.com on 12 Feb 2015 at 12:12

GoogleCodeExporter commented 9 years ago
Ok, I fixed some issues, and created the cmake file.

It wasn't trivial, since your build scripts are *far* from ideal.

Now the cmake is *exactly* as the build scripts, just I avoided inclusion of 
headers files, since when you build the corresponding cc file the correspondant 
header is already included in the #include directive.

Now of course it is working, just with a *FULL* explanation about your system, 
I'll be glad to reduce it a lot, by using the created libraries for testing, 
instead of rebuilding everything again from scratch.

this will simplify a lot the CMake file. 

Original comment by costamag...@gmail.com on 12 Feb 2015 at 4:27

Attachments:

GoogleCodeExporter commented 9 years ago
oops, I did a typo

to build you can just
mkdir build
cd build
cmake ..
make -j whatever

of course we can add flags to build only parts of the cld2, like
-DENABLE_TESTS=ON or something like this.

tests still need to be run manually (I don't know how to handle pipes with 
cmake)

Original comment by costamag...@gmail.com on 12 Feb 2015 at 4:33

Attachments:

GoogleCodeExporter commented 9 years ago
ping :-)

what about providing a soname just if some cmake flag is enabled?

Original comment by costamag...@gmail.com on 3 Mar 2015 at 6:54

GoogleCodeExporter commented 9 years ago
changing SHARED to STATIC in CmakeLists.txt makes cmake build static libraries

Original comment by costamag...@gmail.com on 4 Mar 2015 at 4:37

GoogleCodeExporter commented 9 years ago
Ping again, can you please just provide a SONAME like the svn revision? 1.0.194 
for svn revision 194 for example.

You can change it at each commit, so everyone is happy (and I can create some 
cmake stuff to automatically add it)

let me know, thanks

(this is a showstopper for Debian packaging)

Original comment by costamag...@gmail.com on 26 Mar 2015 at 4:41

GoogleCodeExporter commented 9 years ago
Adding a new cmake file version, building faster (I link libraries rather than 
rebuilding the all files each time for the testsuite) and adding a SONAME like

0.0.194 where 194 is the svn revision

Original comment by costamag...@gmail.com on 30 Mar 2015 at 2:45

Attachments: