RFR: 8254569: Remove hard dependency on Dispman in Monocle fb rendering [v6]
John Neffenger
github.com+1413266+jgneff at openjdk.java.net
Thu Nov 5 19:30:55 UTC 2020
On Thu, 5 Nov 2020 18:16:58 GMT, Jose Pereda <jpereda at openjdk.org> wrote:
>> Johan Vos has updated the pull request incrementally with one additional commit since the last revision:
>>
>> change invocation of getEGLDisplayHandle into getEglDisplayHandle
>> Conditionally add dlfcn
>
> Marked as reviewed by jpereda (Committer).
The fix for the compile-time error still fails for target *armv6hf*: `MonocleGLFactory.c:110:19: error: ‘RTLD_DEFAULT’ undeclared (first use in this function)`. Here's one solution:
--- a/modules/javafx.graphics/src/main/native-prism-es2/monocle/MonocleGLFactory.c
+++ b/modules/javafx.graphics/src/main/native-prism-es2/monocle/MonocleGLFactory.c
@@ -29,16 +29,13 @@
#include <string.h>
#include <math.h>
+#ifndef ANDROID_NDK
+#define __USE_GNU
+#endif
#include <EGL/egl.h>
#include "eglUtils.h"
-#include "../PrismES2Defs.h"
-
#include "com_sun_prism_es2_MonocleGLContext.h"
-#ifndef ANDROID
-#define __USE_GNU
-#include <dlfcn.h>
-#endif
extern void *get_dlsym(void *handle, const char *symbol, int warn);
```
Turns out `eglUtils.h` already includes `../PrismES2Defs.h`, which also includes `<dlfcn.h>` and defines `__USE_GNU` if it's not already defined.
I'm still trying to understand why we need to define `__USE_GNU` ahead of time right at the top there. I'll add another comment if I figure it out.
-------------
PR: https://git.openjdk.java.net/jfx/pull/343
More information about the openjfx-dev
mailing list