Integrate FDBLibTLS into the FoundationDB build system.
This includes... * A minimal vcxproj file to list all the source files required for the build. Some future Visual Studio user can come along and replace it with a real actual vcxproj file with all the other metadata that I didn't bother to copy. * A local.mk file to specify all the custom flags and libraries we need for the build/link of the TLS plugin. * Including the project in the list of all FDB sub-projects * Fixes `make clean` to wipe all of lib/, including libFDBLibTLS.so And offers a target of `bin/FDBLibTLS.so` that can be built, and I have verified that it works with simulation. Note that this requires a build image that contains the previous Dockerfile changes.
This commit is contained in:
parent
5c65584aac
commit
5efd9fe3c4
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|X64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>X64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|X64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>X64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="FDBLibTLSPlugin.h" />
|
||||
<ClCompile Include="FDBLibTLSPlugin.cpp" />
|
||||
<ClInclude Include="FDBLibTLSPolicy.h" />
|
||||
<ClCompile Include="FDBLibTLSPolicy.cpp" />
|
||||
<ClInclude Include="FDBLibTLSSession.h" />
|
||||
<ClCompile Include="FDBLibTLSSession.cpp" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,11 @@
|
|||
FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR)
|
||||
FDBLibTLS_STATIC_LIBS := -ltls -lssl -lcrypto
|
||||
FDBLibTLS_LDFLAGS := -L/usr/local/lib -static-libstdc++ -static-libgcc -lrt
|
||||
FDBLibTLS_LDFLAGS += -Wl,-soname,FDBLibTLS.so -Wl,--version-script=FDBLibTLS/FDBLibTLS.map
|
||||
|
||||
# The plugin isn't a typical library, so it feels more sensible to have a copy
|
||||
# of it in bin/.
|
||||
bin/FDBLibTLS.$(DLEXT): lib/libFDBLibTLS.$(DLEXT)
|
||||
@cp $< $@
|
||||
|
||||
TARGETS += bin/FDBLibTLS.$(DLEXT)
|
4
Makefile
4
Makefile
|
@ -92,7 +92,7 @@ STATIC_LIBS :=
|
|||
VPATH += $(addprefix :,$(filter-out lib,$(patsubst -L%,%,$(filter -L%,$(LDFLAGS)))))
|
||||
|
||||
CS_PROJECTS := flow/actorcompiler flow/coveragetool fdbclient/vexillographer
|
||||
CPP_PROJECTS := flow fdbrpc fdbclient fdbbackup fdbserver fdbcli bindings/c bindings/java fdbmonitor bindings/flow/tester bindings/flow
|
||||
CPP_PROJECTS := flow fdbrpc fdbclient fdbbackup fdbserver fdbcli bindings/c bindings/java fdbmonitor bindings/flow/tester bindings/flow FDBLibTLS
|
||||
OTHER_PROJECTS := bindings/python bindings/ruby bindings/go
|
||||
|
||||
CS_MK_GENERATED := $(CS_PROJECTS:=/generated.mk)
|
||||
|
@ -148,7 +148,7 @@ clean: $(CLEAN_TARGETS) docpreview_clean
|
|||
@echo "Cleaning toplevel"
|
||||
@rm -rf $(OBJDIR)
|
||||
@rm -rf $(DEPSDIR)
|
||||
@rm -rf lib/libstdc++.a
|
||||
@rm -rf lib/
|
||||
@rm -rf bin/coverage.*.xml
|
||||
|
||||
targets:
|
||||
|
|
Loading…
Reference in New Issue