Change angle_util to be a shared library
So that there will be one instance of static thread synchronization variables
in AndroidWindow.
Previously there was one instance in lib_angle_deqp_gles2_tests__library
and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
waiting forever.
Also make the change in GYP build to fix standalone build,
and fix rpath issues on Mac.
BUG=angleproject:1471
TEST=end2end and deqp tests on standalone Win10 and end2end on GN Mac 10.11
Change-Id: I731578459400bb47d269df129aabed9b67b555e6
Reviewed-on: https://chromium-review.googlesource.com/376202
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
diff --git a/util/shader_utils.h b/util/shader_utils.h
index fde05d5..b0ed01b 100644
--- a/util/shader_utils.h
+++ b/util/shader_utils.h
@@ -7,6 +7,7 @@
#ifndef SAMPLE_UTIL_SHADER_UTILS_H
#define SAMPLE_UTIL_SHADER_UTILS_H
+#include <export.h>
#include <GLES3/gl31.h>
#include <GLES3/gl3.h>
#include <GLES2/gl2.h>
@@ -19,15 +20,17 @@
#define SHADER_SOURCE(...) #__VA_ARGS__
-GLuint CompileShader(GLenum type, const std::string &source);
-GLuint CompileShaderFromFile(GLenum type, const std::string &sourcePath);
+ANGLE_EXPORT GLuint CompileShader(GLenum type, const std::string &source);
+ANGLE_EXPORT GLuint CompileShaderFromFile(GLenum type, const std::string &sourcePath);
-GLuint CompileProgramWithTransformFeedback(
- const std::string &vsSource,
- const std::string &fsSource,
- const std::vector<std::string> &transformFeedbackVaryings,
- GLenum bufferMode);
-GLuint CompileProgram(const std::string &vsSource, const std::string &fsSource);
-GLuint CompileProgramFromFiles(const std::string &vsPath, const std::string &fsPath);
-GLuint CompileComputeProgram(const std::string &csSource, bool outputErrorMessages = true);
+ANGLE_EXPORT GLuint
+CompileProgramWithTransformFeedback(const std::string &vsSource,
+ const std::string &fsSource,
+ const std::vector<std::string> &transformFeedbackVaryings,
+ GLenum bufferMode);
+ANGLE_EXPORT GLuint CompileProgram(const std::string &vsSource, const std::string &fsSource);
+ANGLE_EXPORT GLuint CompileProgramFromFiles(const std::string &vsPath, const std::string &fsPath);
+ANGLE_EXPORT GLuint CompileComputeProgram(const std::string &csSource,
+ bool outputErrorMessages = true);
+
#endif // SAMPLE_UTIL_SHADER_UTILS_H