Commit 31993b32 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

polarssl: new package

parent b163ca39
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -276,6 +276,7 @@ source "package/libgcrypt/Config.in"
source "package/libgpg-error/Config.in"
source "package/libnss/Config.in"
source "package/openssl/Config.in"
source "package/polarssl/Config.in"
endmenu

menu "Database"
+28 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_POLARSSL
	bool "polarssl"
	help
	  PolarSSL is an SSL library written in ANSI C. PolarSSL makes
	  it easy for developers to include cryptographic and SSL/TLS
	  capabilities in their (embedded) products with as little
	  hassle as possible. It is designed to be readable,
	  documented, tested, loosely coupled and portable.

	  Warning: PolarSSL is licensed under the GPL. If you want to
	  use it in your own proprietary applications, you have to
	  purchase a commercial license.

	  http://polarssl.org/

config BR2_PACKAGE_POLARSSL_PROGRAMS
	bool "polarssl programs"
	depends on BR2_PACKAGE_POLARSSL
	help
	  This option enables the installation and the build of
	  PolarSSL companion programs: aescrypt2, benchmark, cert_app,
	  crl_app, crypt_and_hash, dh_client, dh_genprime, dh_server,
	  gen_entropy, generic_sum, gen_random_ctr_drbg,
	  gen_random_havege, hello, key_app, md5sum, mpi_demo,
	  rsa_decrypt, rsa_encrypt, rsa_genkey, rsa_sign, rsa_verify,
	  selftest, sha1sum, sha2sum, ssi-cgi, ssl_cert_test,
	  ssl_client1, ssl_client2, ssl_fork_server, ssl_mail_client,
	  ssl_server, ssl_test
+26 −0
Original line number Diff line number Diff line
Add the BUILD_PROGRAMS option to disable programs build

By default, PolarSSL builds and installs a large set of companions
programs, which in some cases are not useful. This patch adds the
BUILD_PROGRAMS option which allows to disable the build and
installation of such programs when not needed.

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

Index: polarssl-1.1.1/CMakeLists.txt
===================================================================
--- polarssl-1.1.1.orig/CMakeLists.txt
+++ polarssl-1.1.1/CMakeLists.txt
@@ -33,7 +33,11 @@
   add_subdirectory(tests)
 endif(CMAKE_COMPILER_IS_GNUCC AND BUILD_TESTS)
 
-add_subdirectory(programs)
+option(BUILD_PROGRAMS "Build programs." ON)
+
+if(BUILD_PROGRAMS)
+  add_subdirectory(programs)
+endif(BUILD_PROGRAMS)
 
 ADD_CUSTOM_TARGET(apidoc
                   COMMAND doxygen doxygen/polarssl.doxyfile
+26 −0
Original line number Diff line number Diff line
Add BUILD_TESTS option to disable test suite

By default, PolarSSL builds a fairly extensive test suite to validate
the library. In the context of Buildroot, building this test suite is
not really useful, so we add a BUILD_TESTS to disable its build.

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

Index: polarssl-1.1.1/CMakeLists.txt
===================================================================
--- polarssl-1.1.1.orig/CMakeLists.txt
+++ polarssl-1.1.1/CMakeLists.txt
@@ -27,9 +27,11 @@
 add_subdirectory(library)
 add_subdirectory(include)
 
-if(CMAKE_COMPILER_IS_GNUCC)
+option(BUILD_TESTS "Build tests." ON)
+
+if(CMAKE_COMPILER_IS_GNUCC AND BUILD_TESTS)
   add_subdirectory(tests)
-endif(CMAKE_COMPILER_IS_GNUCC)
+endif(CMAKE_COMPILER_IS_GNUCC AND BUILD_TESTS)
 
 add_subdirectory(programs)
 
+52 −0
Original line number Diff line number Diff line
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.1 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)
Loading