Commit Graph

52 Commits

Author SHA1 Message Date
Alvin Moore d8d8708821 Disabled another clang warning to not allow to become an error 2019-08-06 07:21:23 -07:00
Alvin Moore 91f3b3a1d5 Fixed the compilation option for clang 2019-08-06 03:05:22 -07:00
Alvin Moore 959bb8befe Added compilation flag to allow clang to compile warning without causing error until they can all be identified and resolved 2019-08-06 02:58:48 -07:00
Jingyu Zhou a92478ffc8 Suppress warnings for clang on Linux 2019-07-30 21:43:54 -07:00
Alvin Moore b78632a00e Changed min macos version to support due to use of std::get requirement 2019-05-15 09:08:24 -07:00
Alvin Moore 7421d7808d Set MacOS compilation flag to c++17 2019-05-15 02:38:16 -07:00
Alvin Moore 2ed1176d6a Add support for statically linking stdc++ to libfdbc_c on Centos while using custom hack for Ubuntu
Set compilationn flag to c++17
2019-05-15 02:37:16 -07:00
Alvin Moore 1d041222ec Suppress error message for missing tool binaries 2019-05-10 12:58:10 -07:00
Stephen Atherton 7f8475cf27 Removed flow/boost.cpp and the copied boost files it was using, added boost macros to makefile and cmake stuff to hopefully enable building without them. 2019-03-15 21:03:03 -07:00
Vishesh Yadav fd34626009 boost: Remove log from Makefile and version check in flow.h 2019-03-05 22:06:12 -08:00
Alex Miller 224744c473 Log BOOSTDIR 2019-03-05 22:06:12 -08:00
Alex Miller df30904e27 Change default boost to 1.67.0 2019-03-05 22:06:12 -08:00
Alex Miller f12497232f Split BOOSTDIR into BOOSTDIR_BASEDIR and BOOSTDIR_BASENAME (optionally).
This is to give us a way to let which boost to use toggleable in the
source code as BOOSTDIR_BASENAME, and let build enviornments configure
where to find appropriately named boost folders via BOOSTDIR_BASEDIR.

This isn't pretty, and CMake's FindBoost is a far better way to do this,
but it'll work for now.
2019-03-05 22:06:12 -08:00
Vishesh Yadav 96ee95b9ad fix: macOS build #963
Use the boost representation of IPv6 address internally
and make sure it uses std::array.
2019-03-05 14:03:14 -08:00
Alex Miller 83629b4d47 Force Make to push $CC into the environment.
This fixes a long standing weird issue of doing non-docker builds of FDB
can hit problems of $CC not being defined in link-wrapper.sh.  It turns
out that this is because the official docker image defines CC in the
environment, and no one else does that.

Instead, we can just force Make to propagate its setting of CC into the
environment, thus requiring no extra configuration to be able to do a
build.
2019-02-28 14:50:22 -08:00
mpilman d1e3c2d71e Reintroduce libstdc++.a target for backwards compatabilty 2019-02-28 14:24:52 -08:00
mpilman d0c06ec8c0 Make old build system work on build/cmake/Dockerfile 2019-02-28 14:24:52 -08:00
Simon Zhou f8657f5cde Prefer MCS instead of DMCS which has been deprecated in Mono 2019-01-01 18:53:54 -08:00
A.J. Beamon 4d39509034
Merge pull request #774 from apple/release-6.0
Merge release-6.0 into master
2018-09-18 15:01:26 -07:00
Alvin Moore 15b0f56bc4 Added fdb-c-tests target to bindings target 2018-09-17 13:41:55 -07:00
Alec Grieser 10a8e67266
Merge remote-tracking branch 'upstream/release-6.0' into merge-release-6.0 2018-09-11 21:49:59 -07:00
A.J. Beamon fa8b629ed6 docpreview_clean, which is part of our normal clean target, no longer prints extra messages. Tried to make a couple other documentation related targets nicer as well. 2018-09-06 13:13:37 -07:00
Alex Miller 9bcc7685d2 Add creating compile_commands.json to the build system.
I'm really not proud of how I did this though.

It must be run from the same environment as one's editor (ie. not in the
docker image) so that the paths are correct.
2018-08-14 15:50:26 -07:00
Alex Miller 57fa7244b4 Don't compile FDBLibTLS if TLS_DISABLED is defined. 2018-07-30 17:15:40 -07:00
Alex Miller 6c98aa8aac Fix not depending on FDBLibTLS.a and default TLS_LIBDIR to a sensible place. 2018-07-05 13:23:20 -07:00
Alvin Moore ab255b444f Added support for specifying location of LibreSSL libraries via define TLS_LIBDIR 2018-07-03 09:01:01 -07:00
Alvin Moore c3f88dbfe1 Merge branch 'master' of github.com:apple/foundationdb into tls-static 2018-07-01 23:13:57 -07:00
Alvin Moore 132e2d9267 Defined TLS build flags for projects
Updated TLS documentation
2018-07-01 22:49:39 -07:00
Alex Miller 8dee95a282 My previous `find` line was actually just wrong. 2018-06-21 17:19:59 -07:00
Alex Miller f52e143aa9 I am bad at this. 2018-06-20 19:44:16 -07:00
Alex Miller 31b4c89c7a find doesn't work on Evan's machine 2018-06-20 16:37:45 -07:00
Alex Miller 8da30c8b13 I am good at typing things I look at. 2018-06-20 16:30:21 -07:00
Alex Miller 7fef061e51 Clean up old .g.cpp and .g.h files to avoid dependency issues. 2018-06-20 16:22:09 -07:00
Julien Blache dc498f2309 Use mcs instead of dmcs when dmcs is not available
According to <http://www.mono-project.com/docs/about-mono/languages/csharp/>, mcs replaces
dmcs and all previous versions of the Mono compiler.
2018-05-07 15:16:22 -07:00
Alex Miller fd588bd3b8
Merge pull request #151 from alexmiller-apple/tlsplugin51
LibreSSL TLS Plugin
2018-04-13 16:51:07 -07:00
John Brownlee 7bd9324092
Merge pull request #125 from brownleej/go-doc-build-removal
Removes the steps to build godoc from our Makefile
2018-04-13 08:55:35 -07:00
Alex Miller 5efd9fe3c4 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.
2018-04-12 14:13:02 -07:00
Alec Grieser ff956c3fde
removed references to nodejs bindings
issue: Node.js Bindings #129
2018-04-06 17:17:45 -07:00
John Brownlee ca34f924f3 Removes the step to build the go docs from the Makefile. 2018-03-30 11:16:19 -07:00
AlvinMooreSr 53438477c1
Documenation Package Fix (#113)
* Moved clean up to external makefile

* Fixed the name of the documentation package

* Fixed name of the documentation package
2018-03-22 07:50:56 -07:00
Alvin Moore 5e95497401 Removed package version from documentation file name 2018-03-21 10:55:43 -07:00
Alvin Moore 8af451dae5 Added clean targets
Merged upstream into branch
2018-03-20 15:43:14 -07:00
Alvin Moore b52cae3d6a Modified the name of the documentation artifact to vary in release and snapshot build 2018-03-19 13:27:09 -07:00
Alvin Moore b284caa2d7 Added support for copying documentation package to package directory 2018-03-15 16:07:23 -07:00
Alvin Moore 7006f878c1 Integrated documentation building into root Makefile 2018-03-13 13:09:52 -07:00
A.J. Beamon a5d63ce1e1 Patch up the makefiles and remove references to the completable bindings 2017-12-13 11:07:19 -08:00
Alex Miller 34b626d120 Revert adding hardening options to compile.
This appears to have caused performance regressions, which will need to be investigated.

This reverts commit 0b0284ba21989a0b8377f0a4d1057e3e7cd5fae1.
This reverts commit 4bde728b0eb8d277c8f59bfaf24869da67c68c47.
2017-12-11 17:12:46 -08:00
Alex Miller 1be6fdf687 Fix hardening compile under MacOS.
...via moving it all to linux-only.  Clang is picky about flags, and the osx
linker doesn't accept -z flags.  Technically, this will likely break
clang-on-linux, but that's not a config that we run and I'll probably end up
fixing it later.
2017-12-05 14:19:29 -08:00
Alex Miller f57880607a Add hardening flags to our compile.
This makes us fully position independant and have a noexec stack.  There's a
small chance that the former part of that can interfere with
gdb/corefiles/stackdumps, but we'll handle that if it becomes a problem.
2017-12-01 19:47:55 -08:00
Alex Miller 16e5b50685 Replace backtrace with absl::GetStackTrace on non-MacOS platforms.
backtrace() gives a list of return addresses, which means that addr2line will
print out the line after the caller. GetStackTrace returns the list of caller
addresses, so the addr2line results should be accurate.  The flow profiler was
also changed to use the new backtracing code, so flow profiles will now be
accurate as well.  Unfortunately, the abseil code doesn't work on MacOS, so we
still fall back to backtrace() in this case.

For the stack unwinder to work, we must disable -fomit-frame-pointer.  This can
result in a small performance penalty, as it effectively reduces the number of
general purpose registers available by one.  (I'm also curious if this has
anything to do with the overly frequent "<value optimized out>" messages from
gdb.)  If this shows up as a problem, we can make release builds still have
-fomit-frame-pointer, and fall back to backtrace when it's enabled then as
well.
2017-10-16 16:05:02 -07:00