]>
Commit | Line | Data |
---|---|---|
93aa811e SS |
1 | >From 1f9659b55013f222046b9d161fd5a0f2fc399cb8 Mon Sep 17 00:00:00 2001 |
2 | From: Michael Tremer <michael.tremer@ipfire.org> | |
3 | Date: Thu, 21 Apr 2011 12:48:41 +0200 | |
4 | Subject: [PATCH] Make libsatsolver{,ext} a versioned shared lib. | |
5 | ||
6 | Most distributions only do accept shared libraries because of | |
7 | relro and hardening stuff. | |
8 | ||
9 | Previously, libsatsolver was statically compiled because the ABI | |
10 | was assumed to be changed from time to time but has now become | |
11 | very stable. | |
12 | ||
13 | Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> | |
14 | --- | |
15 | ext/CMakeLists.txt | 6 +++++- | |
16 | src/CMakeLists.txt | 6 +++++- | |
17 | tools/CMakeLists.txt | 12 ++++++------ | |
18 | 3 files changed, 16 insertions(+), 8 deletions(-) | |
19 | ||
20 | diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt | |
21 | index 8e71eee..68e1c3c 100644 | |
22 | --- a/ext/CMakeLists.txt | |
23 | +++ b/ext/CMakeLists.txt | |
24 | @@ -8,7 +8,11 @@ SET(libsatsolverext_SRCS | |
25 | ${libsatsolverext_SRCS} pool_fileconflicts.c repo_rpmdb.c) | |
26 | ENDIF (NOT DEBIAN) | |
27 | ||
28 | -ADD_LIBRARY(satsolverext STATIC ${libsatsolverext_SRCS}) | |
29 | +ADD_LIBRARY(satsolverext SHARED ${libsatsolverext_SRCS}) | |
30 | +SET_TARGET_PROPERTIES(satsolverext PROPERTIES | |
31 | + VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}" | |
32 | + SOVERSION "${LIBSATSOLVER_MAJOR}" | |
33 | +) | |
34 | ||
35 | SET(libsatsolverext_HEADERS | |
36 | pool_fileconflicts.h repo_content.h repo_deltainfoxml.h repo_helix.h repo_products.h | |
37 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | |
38 | index 9bd0fde..6a14d10 100644 | |
39 | --- a/src/CMakeLists.txt | |
40 | +++ b/src/CMakeLists.txt | |
41 | @@ -6,7 +6,11 @@ SET(libsatsolver_SRCS | |
42 | transaction.c rules.c problems.c | |
43 | chksum.c md5.c sha1.c sha2.c satversion.c) | |
44 | ||
45 | -ADD_LIBRARY(satsolver STATIC ${libsatsolver_SRCS}) | |
46 | +ADD_LIBRARY(satsolver SHARED ${libsatsolver_SRCS}) | |
47 | +SET_TARGET_PROPERTIES(satsolver PROPERTIES | |
48 | + VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}" | |
49 | + SOVERSION "${LIBSATSOLVER_MAJOR}" | |
50 | +) | |
51 | ||
52 | SET(libsatsolver_HEADERS | |
53 | bitmap.h evr.h hash.h policy.h poolarch.h poolvendor.h pool.h | |
54 | diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt | |
55 | index 79d4890..7696612 100644 | |
56 | --- a/tools/CMakeLists.txt | |
57 | +++ b/tools/CMakeLists.txt | |
58 | @@ -20,19 +20,19 @@ ADD_EXECUTABLE(rpmmd2solv rpmmd2solv.c) | |
59 | TARGET_LINK_LIBRARIES(rpmmd2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY}) | |
60 | ||
61 | ADD_EXECUTABLE(helix2solv helix2solv.c) | |
62 | -TARGET_LINK_LIBRARIES(helix2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY}) | |
63 | +TARGET_LINK_LIBRARIES(helix2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY}) | |
64 | ||
65 | ADD_EXECUTABLE(susetags2solv susetags2solv.c) | |
66 | -TARGET_LINK_LIBRARIES(susetags2solv toolstuff satsolverext satsolver ${ZLIB_LIBRARY}) | |
67 | +TARGET_LINK_LIBRARIES(susetags2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY}) | |
68 | ||
69 | ADD_EXECUTABLE(updateinfoxml2solv updateinfoxml2solv.c) | |
70 | -TARGET_LINK_LIBRARIES(updateinfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY}) | |
71 | +TARGET_LINK_LIBRARIES(updateinfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY}) | |
72 | ||
73 | ADD_EXECUTABLE(deltainfoxml2solv deltainfoxml2solv.c) | |
74 | -TARGET_LINK_LIBRARIES(deltainfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY}) | |
75 | +TARGET_LINK_LIBRARIES(deltainfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY}) | |
76 | ||
77 | ADD_EXECUTABLE(repomdxml2solv repomdxml2solv.c) | |
78 | -TARGET_LINK_LIBRARIES(repomdxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY}) | |
79 | +TARGET_LINK_LIBRARIES(repomdxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY}) | |
80 | ||
81 | ADD_EXECUTABLE(installcheck installcheck.c) | |
82 | TARGET_LINK_LIBRARIES(installcheck satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY}) | |
83 | @@ -44,7 +44,7 @@ ADD_EXECUTABLE(dumpsolv dumpsolv.c ) | |
84 | TARGET_LINK_LIBRARIES(dumpsolv satsolver) | |
85 | ||
86 | ADD_EXECUTABLE(mergesolv mergesolv.c ) | |
87 | -TARGET_LINK_LIBRARIES(mergesolv toolstuff satsolverext satsolver) | |
88 | +TARGET_LINK_LIBRARIES(mergesolv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY}) | |
89 | ||
90 | install(TARGETS | |
91 | mergesolv | |
92 | -- | |
93 | 1.7.4.4 | |
94 |