@ -42,13 +42,13 @@ There are also some platform-specific system libraries that do need to be linked
PLATFORM | platform dependencies | Notes
--- | :---: | ---
`PLATFORM_DESKTOP:Windows` | `OpenGL`, `WinMM`, `GDI32`, `user32`, `kernel32` | Required for window creation. Note that `WinMM` is only used to get a hi-res timer and it can be avoided commenting [`SUPPORT_WINMM_HIGHRES_TIMER`](https://github.com/raysan5/raylib/blob/master/src/config.h#L45) config flag.
`PLATFORM_DESKTOP:Linux` | `OpenGL`, `X11` | Also requires linkage with `libm`(math), `pthreads`(POSIX threads), `dl`(dynamic loading) and `X11` window system specific libs: `X11`, `Xrandr`, `Xinerama`, `Xi`, `Xxf86vm` and `Xcursor`
`PLATFORM_DESKTOP:FreeBSD` | `OpenGL`, `X11` | Also requires linkage with `libm`(math), `pthreads`(POSIX threads), `dl`(dynamic loading) and `X11` window system specific libs: `X11`, `Xrandr`, `Xinerama`, `Xi`, `Xxf86vm` and `Xcursor`
`PLATFORM_DESKTOP:macOS` | `OpenGL`, `Cocoa` | Required for window creation
`PLATFORM_DESKTOP:Windows` | `OpenGL`, `GDI32`, `WinMM`, `user32`, `kernel32` | Required for window creation. Note that `WinMM` is only used to get a hi-res timer and it can be avoided commenting [`SUPPORT_WINMM_HIGHRES_TIMER`](https://github.com/raysan5/raylib/blob/master/src/config.h#L45) config flag.
`PLATFORM_DESKTOP:Linux` | `OpenGL`, `X11` | Also requires linkage with `libm`(math), `pthreads`(POSIX threads), `dl`(dynamic loading), `rt` (realtime extensions: `nanosleep()`) and `X11` specific libs: `X11`, `Xrandr`, `Xinerama`, `Xi`, `Xxf86vm` and `Xcursor`
`PLATFORM_DESKTOP:FreeBSD` | `OpenGL`, `X11` | Also requires linkage with `libm`(math), `pthreads`(POSIX threads), `dl`(dynamic loading), `rt` (realtime extensions: `nanosleep()`) and `X11` window system specific libs: `X11`, `Xrandr`, `Xinerama`, `Xi`, `Xxf86vm` and `Xcursor`
`PLATFORM_ANDROID` | `EGL`, `OpenGLES2.0`, `OpenSLES` | Code must be compiled using `Android NDK` libraries. Requires linkage with `native_app_glue`, `log`, `android`, `atomic`, `libc`, `libm`(math) and `dl`(dynamic loading)
`PLATFORM_RPI` | `EGL`, `OpenGLES2.0`, `bcm_host` | Graphics run in native mode using `bcm_host` (no `XWindows` required) and inputs are also natively read (no `XWindows` input events), also requires linkage with `libm`(math), `pthreads`(POSIX threads) and `dl`(dynamic loading).
`PLATFORM_DRM` | `EGL`, `OpenGLES2.0`, `DRM`, `GBM` | Graphics run in native mode using `DRM` (no `XWindows` required) and inputs are also natively read (no `XWindows` input events), also requires linkage with `libm`(math), `pthreads`(POSIX threads) and `dl`(dynamic loading).
`PLATFORM_RPI` | `EGL`, `OpenGLES2.0`, `bcm_host` | Graphics run in native mode using `bcm_host` (no `XWindows` required) and inputs are also natively read (no `XWindows` input events), also requires linkage with `libm`(math), `pthreads`(POSIX threads), `rt` (realtime extensions: `nanosleep()`) and `dl`(dynamic loading).
`PLATFORM_DRM` | `EGL`, `OpenGLES2.0`, `DRM`, `GBM` | Graphics run in native mode using `DRM` (no `XWindows` required) and inputs are also natively read (no `XWindows` input events), also requires linkage with `libm`(math), `pthreads`(POSIX threads), `rt` (realtime extensions: `nanosleep()`) and `dl`(dynamic loading).
`PLATFORM_WEB (HTML5)` | `WebGL` | Code must be compiled using `emscripten SDK`, dependencies linkage is automatically detected.
raylib is [highly modular by design](https://github.com/raysan5/raylib/wiki/raylib-architecture). Many modules can be omitted when they are not being used, and consequently, the libraries used by those modules will also be redundant.