summaryrefslogtreecommitdiffstats
path: root/package/polarssl/polarssl-shared-and-static-library.patch
blob: 562b9005af350b1f8ed64b22f972dcba783e6b08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Allow both shared and static PolarSSL library

By default, PolarSSL is built as a static library. If the option
USE_SHARED_POLARSSL_LIBRARY is set, then it is build as a shared
library. But there is no way of building both the shared and static
versions.

This patch adds the USE_STATIC_POLARSSL_LIBRARY (which defaults to ON)
in addition to the existing USE_SHARED_POLARSSL_LIBRARY (which
defaults to OFF). Both options can be manipulated independently.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: polarssl-1.1.1/library/CMakeLists.txt
===================================================================
--- polarssl-1.1.1.orig/library/CMakeLists.txt
+++ polarssl-1.1.1/library/CMakeLists.txt
@@ -1,4 +1,5 @@
 option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL as a shared library." OFF)
+option(USE_STATIC_POLARSSL_LIBRARY "Build PolarSSL as a static library." ON)
 
 set(src
      aes.c
@@ -40,17 +41,21 @@
      xtea.c
 )
 
-if(NOT USE_SHARED_POLARSSL_LIBRARY)
-
-add_library(polarssl STATIC ${src})
-
-else(NOT USE_SHARED_POLARSSL_LIBRARY)
+if(USE_SHARED_POLARSSL_LIBRARY)
 
 add_library(polarssl SHARED ${src})
 set_target_properties(polarssl PROPERTIES VERSION 1.1.3 SOVERSION 1)
+set_target_properties(polarssl PROPERTIES OUTPUT_NAME polarssl)
+
+endif(USE_SHARED_POLARSSL_LIBRARY)
+
+if(USE_STATIC_POLARSSL_LIBRARY)
+
+add_library(polarssl-static STATIC ${src})
+set_target_properties(polarssl-static PROPERTIES OUTPUT_NAME polarssl)
 
-endif(NOT USE_SHARED_POLARSSL_LIBRARY)
+endif(USE_STATIC_POLARSSL_LIBRARY)
 
-install(TARGETS polarssl
+install(TARGETS polarssl polarssl-static
         DESTINATION ${LIB_INSTALL_DIR}
         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)