Allow shared libraries in the external CMake build.

It's trivial to add and someone requested it. Although we don't
generally take external requests, I suspect that gRPC will ask for it
soon enough so worth doing.

BUG=309

Change-Id: I59d6b4f8b26841a95ccf09c753e2afc28e13722b
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/39664
Commit-Queue: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/util/generate_build_files.py b/util/generate_build_files.py
index d805d4f..22e19e3 100644
--- a/util/generate_build_files.py
+++ b/util/generate_build_files.py
@@ -542,6 +542,13 @@
   endif()
 endif()
 
+if(BUILD_SHARED_LIBS)
+  add_definitions(-DBORINGSSL_SHARED_LIBRARY)
+  # Enable position-independent code globally. This is needed because
+  # some library targets are OBJECT libraries.
+  set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
+endif()
+
 include_directories(src/include)
 
 '''