Feature/mbedtls (#84)
* try to import mbedtls and build it * add stubs socket class * some boilterplate, read and write function implemented * more boilterplate / current error in handshake because no CA cert is setup * add something so skip ca verification, can ws curl https://google.com ! * cleanup / close implemented * tweak CMakefiles * typo in include * update readme * disable unittests
This commit is contained in:
committed by
GitHub
parent
ba4a9e1586
commit
06cbebe22e
155
third_party/mbedtls/crypto/library/Makefile
vendored
Normal file
155
third_party/mbedtls/crypto/library/Makefile
vendored
Normal file
@ -0,0 +1,155 @@
|
||||
|
||||
# Also see "include/mbedtls/config.h"
|
||||
|
||||
CFLAGS ?= -O2
|
||||
WARNING_CFLAGS ?= -Wall -W -Wdeclaration-after-statement
|
||||
LDFLAGS ?=
|
||||
|
||||
CRYPTO_INCLUDES ?= -I../include
|
||||
LOCAL_CFLAGS = $(WARNING_CFLAGS) $(CRYPTO_INCLUDES) -D_FILE_OFFSET_BITS=64
|
||||
LOCAL_LDFLAGS =
|
||||
|
||||
ifdef DEBUG
|
||||
LOCAL_CFLAGS += -g3
|
||||
endif
|
||||
|
||||
# MicroBlaze specific options:
|
||||
# CFLAGS += -mno-xl-soft-mul -mxl-barrel-shift
|
||||
|
||||
# To compile on Plan9:
|
||||
# CFLAGS += -D_BSD_EXTENSION
|
||||
|
||||
# if were running on Windows build for Windows
|
||||
ifdef WINDOWS
|
||||
WINDOWS_BUILD=1
|
||||
else ifeq ($(shell uname -s),Darwin)
|
||||
ifeq ($(AR),ar)
|
||||
APPLE_BUILD ?= 1
|
||||
endif
|
||||
endif
|
||||
|
||||
# To compile as a shared library:
|
||||
ifdef SHARED
|
||||
# all code is position-indep with mingw, avoid warning about useless flag
|
||||
ifndef WINDOWS_BUILD
|
||||
LOCAL_CFLAGS += -fPIC -fpic
|
||||
endif
|
||||
endif
|
||||
|
||||
SOEXT_CRYPTO=so.3
|
||||
|
||||
# Set AR_DASH= (empty string) to use an ar implementation that does not accept
|
||||
# the - prefix for command line options (e.g. llvm-ar)
|
||||
AR_DASH ?= -
|
||||
|
||||
ARFLAGS = $(AR_DASH)src
|
||||
ifdef APPLE_BUILD
|
||||
ifneq ($(APPLE_BUILD),0)
|
||||
ARFLAGS = $(AR_DASH)Src
|
||||
RLFLAGS = -no_warning_for_no_symbols -c
|
||||
RL ?= ranlib
|
||||
endif
|
||||
endif
|
||||
|
||||
DLEXT ?= so
|
||||
ifdef WINDOWS_BUILD
|
||||
# Windows shared library extension:
|
||||
DLEXT = dll
|
||||
else ifdef APPLE_BUILD
|
||||
ifneq ($(APPLE_BUILD),0)
|
||||
# Mac OS X shared library extension:
|
||||
DLEXT = dylib
|
||||
endif
|
||||
endif
|
||||
|
||||
OBJS_CRYPTO= aes.o aesni.o arc4.o \
|
||||
aria.o asn1parse.o asn1write.o \
|
||||
base64.o bignum.o blowfish.o \
|
||||
camellia.o ccm.o chacha20.o \
|
||||
chachapoly.o cipher.o cipher_wrap.o \
|
||||
cmac.o ctr_drbg.o des.o \
|
||||
dhm.o ecdh.o ecdsa.o \
|
||||
ecjpake.o ecp.o \
|
||||
ecp_curves.o entropy.o entropy_poll.o \
|
||||
gcm.o havege.o \
|
||||
hkdf.o \
|
||||
hmac_drbg.o md.o md2.o \
|
||||
md4.o md5.o md_wrap.o \
|
||||
memory_buffer_alloc.o nist_kw.o \
|
||||
oid.o padlock.o pem.o \
|
||||
pk.o pk_wrap.o pkcs12.o \
|
||||
pkcs5.o pkparse.o pkwrite.o \
|
||||
platform.o platform_util.o poly1305.o \
|
||||
psa_crypto.o \
|
||||
psa_crypto_slot_management.o \
|
||||
psa_crypto_storage.o \
|
||||
psa_its_file.o \
|
||||
ripemd160.o rsa_internal.o rsa.o \
|
||||
sha1.o sha256.o sha512.o \
|
||||
threading.o timing.o \
|
||||
xtea.o
|
||||
|
||||
# For files generated by the parent project (Mbed TLS) when building Mbed
|
||||
# Crypto as a submodule, ensure that the parent project instance is used.
|
||||
ifeq ($(USE_CRYPTO_SUBMODULE), 1)
|
||||
OBJS_CRYPTO += $(patsubst %.c,%.o, $(realpath ../../library/error.c))
|
||||
OBJS_CRYPTO += $(patsubst %.c,%.o, $(realpath ../../library/version.c))
|
||||
OBJS_CRYPTO += $(patsubst %.c,%.o, $(realpath ../../library/version_features.c))
|
||||
else
|
||||
OBJS_CRYPTO += error.o
|
||||
OBJS_CRYPTO += version.o
|
||||
OBJS_CRYPTO += version_features.o
|
||||
endif
|
||||
|
||||
.SILENT:
|
||||
|
||||
.PHONY: all static shared clean
|
||||
|
||||
ifndef SHARED
|
||||
all: static
|
||||
else
|
||||
all: shared static
|
||||
endif
|
||||
|
||||
static: libmbedcrypto.a
|
||||
|
||||
shared: libmbedcrypto.$(DLEXT)
|
||||
|
||||
# crypto
|
||||
libmbedcrypto.a: $(OBJS_CRYPTO)
|
||||
echo " AR $@"
|
||||
$(AR) $(ARFLAGS) $@ $(OBJS_CRYPTO)
|
||||
ifdef APPLE_BUILD
|
||||
ifneq ($(APPLE_BUILD),0)
|
||||
echo " RL $@"
|
||||
$(RL) $(RLFLAGS) $@
|
||||
endif
|
||||
endif
|
||||
|
||||
libmbedcrypto.$(SOEXT_CRYPTO): $(OBJS_CRYPTO)
|
||||
echo " LD $@"
|
||||
$(CC) -shared -Wl,-soname,$@ $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_CRYPTO)
|
||||
|
||||
libmbedcrypto.so: libmbedcrypto.$(SOEXT_CRYPTO)
|
||||
echo " LN $@ -> $<"
|
||||
ln -sf $< $@
|
||||
|
||||
libmbedcrypto.dylib: $(OBJS_CRYPTO)
|
||||
echo " LD $@"
|
||||
$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_CRYPTO)
|
||||
|
||||
libmbedcrypto.dll: $(OBJS_CRYPTO)
|
||||
echo " LD $@"
|
||||
$(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_CRYPTO) -lws2_32 -lwinmm -lgdi32 -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
|
||||
|
||||
.c.o:
|
||||
echo " CC $<"
|
||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
ifndef WINDOWS
|
||||
rm -f *.o libmbed*
|
||||
else
|
||||
if exist *.o del /Q /F *.o
|
||||
if exist libmbed* del /Q /F libmbed*
|
||||
endif
|
Reference in New Issue
Block a user