Commit Graph

289 Commits

Author SHA1 Message Date
Ray
22c77d17b7 REVIEWED: WebGL2 (OpenGL ES 3.0) backend flags (PLATFORM_WEB) #4330 2024-10-26 00:51:37 +02:00
Ray
5706cfd600 Update Makefile 2024-10-24 11:50:42 +02:00
Ray
00c1f0836b Update Makefile 2024-10-24 01:35:37 +02:00
Anthony Carbajal
712ab798d1 updated makefile to disable wayland by default (#4369) 2024-10-08 18:33:33 +02:00
NishiOwO
fe9e371f27 [miniaudio] Fixing miniaudio and Makefile for NetBSD (#4212)
* fixing miniaudio

* another fix for NetBSD

* adding wl-r. should not affect other bsd
2024-08-09 09:04:18 +02:00
Ray
2f49250baf WARNING: UPDATE: Starting works on raylib 5.5 release 2024-07-01 18:31:16 +02:00
Ray
d243094ede WARNING: BREAKING: Renamed PLATFORM_DESKTOP to PLATFORM_DESKTOP_GLFW
This could potentially be a breaking change, for consistency, now every possible desktop backend has the proper name assigned: GLFW, SDL, RGFW
raylib build system has been reviewed to fallback to `PLATFORM_DESKTOP_GLFW` by default when `PLATFORM_DESKTOP` defined
2024-07-01 18:28:44 +02:00
Lázaro Albuquerque
c636618d77 Update Makefile (#4054)
Since the flag CUSTOM_CFLAGS should allow users customize things, in particular the optimization level, I figured it should come after other default ones.

Based on: "If you use multiple -O options, with or without level numbers, the last such option is the one that is effective."

Source: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
2024-06-10 20:50:09 +02:00
Colleague Riley
6ec925554c Fix Makefile issues (RGFW) (linux) (macOS) (#3969)
Co-authored-by: ColleagueRiley <ColleagueRiley@gmail.com>
2024-05-09 14:18:18 +02:00
Colleague Riley
9805fe0b1a make RGFW a custom platform (#3941)
* fix minor bugs and errors (x86) for the RGFW platform, update RGFW platform license, update makefile info for RGFW platform

* revert

* (RGFW) (winapi) fix mouse hide bug when cursor changes

* ensure PLATFORM_SHELL is defined (PLATFORM_RGFW)

---------

Co-authored-by: ColleagueRiley <ColleagueRiley@gmail.com>
2024-05-07 20:30:52 +02:00
Alexandre Almeida
9a8d73e6c3 Fix GLFW runtime platform detection (#3863)
* Fix GLFW runtime platform detection

* Add libwayland-dev package to workflows

* Add libxkbcommon-dev package to workflows

* Add libwayland-bin package to codeql.yml

* Add libwayland-client0 and libwayland-cursor0 packages to codeql.yml

* Use libwayland-dev in codeql.yml

* Add libxkbcommon-dev to codeql.yml

* Remove libwayland-bin from linux.yml and linux_examples.yml (libwayland-dev includes it as a dependency)

---------

Co-authored-by: Ray <raysan5@gmail.com>
2024-03-14 16:54:39 +01:00
Alexandre Almeida
6589311a0b Update GLFW to 3.4 (#3827)
* Update GLFW to 3.4 (draft)

* Add _glfwConnectNull() function to rglfw.c

* Update rglfw.c

* Update Makefile

* Makefile: Replace USE_WAYLAND_DISPLAY with DISABLE_WAYLAND

* Revert "Makefile: Replace USE_WAYLAND_DISPLAY with DISABLE_WAYLAND"

This reverts commit 9e79abde78.

* GlfwImport.cmake: Replace GLFW_USE_WAYLAND with GLFW_BUILD_WAYLAND

* Update rglfw.c

* Output platform selected by GLFW to TRACELOG

* GLFW has removed Mir support
2024-02-29 18:29:32 +01:00
Peter0x44
31c6a340ab Remove all uses of deps/mingw (#3805)
The purpose of this directory in GLFW is to provide some headers that
"mingw.org" doesn't. Raylib has long been unable to build with mingw.org
due to using certain symbols that aren't exposed in their headers.
(_ftelli64 and _access, among others.). Mingw-w64 already has the
necessary headers included, and doesn't need any of these external
implementations. For some reason, this also causes the following error
when building with Visual Studio's clang:

clang  -c rglfw.c -Wall -D_GNU_SOURCE -DPLATFORM_DESKTOP -DGRAPHICS_API_OPENGL_33 -Wno-missing-braces -Werror=pointer-arith -fno-strict-aliasing  -std=c99 -O1 -Werror=implicit-function-declaration -I. -Iexternal/glfw/include -Iexternal/glfw/deps/mingw
In file included from rglfw.c:61:
In file included from ./external/glfw/src/init.c:30:
In file included from ./external/glfw/src/internal.h:331:
In file included from ./external/glfw/src/platform.h:31:
In file included from ./external/glfw/src/win32_platform.h:70:
external/glfw/deps/mingw\xinput.h:227:26: error: a parameter list without types is only allowed in a function definition
  227 | void WINAPI XInputEnable(WINBOOL);
      |

If the last -Iexternal/glfw/deps/mingw is removed, the build works fine.

So, this workaround causes other problems, while not actually helping
raylib.

0bb605cd79/src/CMakeLists.txt (L272-L279)

GLFW's CMakeLists.txt first checks if either dinput.h or xinput.h are
provided by the toolchain, before telling the compiler to search for
headers in that directory. For EVERY compiler that can build raylib,
this is true.

In summary: This directory causes issues when building with some
compilers, and every toolchain that needs this workaround can't build
raylib anyway.
2024-02-22 23:06:22 +01:00
Ray
e52ae870f2 Reverted Makefile GL_ENABLE_GET_PROC_ADDRESS #3713 2024-02-05 21:38:13 +01:00
Ray
ea31bd47e5 REVIEWED: PLATFORM_WEB build flags, added GL_ENABLE_GET_PROC_ADDRESS
Reviewed flags formating
2024-02-05 21:12:57 +01:00
Ray
a4dc325a0c Reviewed Makefile SDL2 expected include/lib paths #3705 2024-01-05 22:51:46 +01:00
Ray
3f1e59a7cf Update copyright to 2024 2024-01-02 20:58:12 +01:00
Ray
8a586249d7 Fix Wrong Makefile flag #3593 2023-12-03 20:16:19 +01:00
Peter0x44
e7a486fa81 Hide unneeded internal symbols when building raylib as an so or dylib (#3573) 2023-11-28 20:43:45 +01:00
Emmanuel Méra
fc4b0c9aec Corrected the path of android ndk toolchains for OSX platforms (#3574) 2023-11-25 19:11:29 +01:00
JupiterRider
2252f747b7 Update Makefile (#3509) 2023-11-05 19:42:56 +01:00
Ray
b40f93b9e3 Comments tweaks 2023-11-02 18:12:22 +01:00
Ray
4625c41431 ADDED: Support for SDL building on Makefile 2023-10-29 20:44:18 +01:00
Ray
601e391b06 Remove physac library from raylib building
At this moment, physac is an external unmaintained library, better move out of raylib.
2023-10-29 20:43:52 +01:00
Peter0x44
b3028e4891 Review prerequisites of rcore.c (#3453)
rcore_desktop_sdl.c was not present in the list of prerequisites this
patch changes them to use a wildcard, so any other platforms added in
future will be tracked properly
2023-10-22 19:45:49 +02:00
Ray
65dd0afb60 Update Makefile 2023-10-19 13:41:09 +02:00
Ray
fc6152613f REVIEWED: raylib 5.0-dev version for a future release 2023-10-18 00:33:05 +02:00
Peter0x44
859c67792a Make sure rcore.o gets compiled in more situations (#3423)
Currently doing the following:
```
make
touch rcore_desktop.c
make
```

Will not result in rcore.o getting compiled again, despite that
rcore_desktop.c has changed

This commit resolves that
2023-10-16 14:08:55 +02:00
Ray
fecf56e15a WARNING: rcore module split per-platform **BIG CHANGE** (#3388)
* Submodules (#3311)

* Check in current state

* Add submodules to Makefile and clean up some imports

* Start moving InitGraphicsDeivce

* Move android_main and CloseWindow() out of rcore

* Move WindowShouldClose out of rcore

* Move IsWindowHidden out of rcore

* Move IsWindowMinimized out of rcore

* Move IsWindowMaximized, IsWindowFocused and IsWindowResized out of rcore

* Move ToggleFullscreen out of rcore

* Move MaximizeWindow, MinimizeWindow and RestoreWindow out of rcore

* Move 13 functions out of rcore:
ToggleBorderlessWindowed
SetWindowState
ClearWindowState
SetWindowIcon
SetWindowIcons
SetWindowTitle
SetWindowPosition
SetWindowMonitor
SetWindowMinSize
SetWindowMaxSize
SetWindowSize
SetWindowOpacity
SetWindowFocused

* Minor clean up, revert makefile change, include submodules directly in rcore

* Fix makefile comment

* Remove rcore.h from Makefile

* Remove debug include

* Move 18 functions from rcore to submodules
GetWindowHandle
GetMonitorCount
GetCurrentMonitor
GetMonitorPosition
GetMonitorWidth
GetMonitorHeight
GetMonitorPhysicalHeight
GetMonitorRefreshRate
GetWindowPosition
GetWindowScaleDPI
GetMonitorName
SetClipboardText
GetClipboardText
ShowCursor
HideCursor
EnableCursor
DisableCursor
GetTime

* Move TakeScreenshot, OpenURL, GetGamepadName out of rcore into submodules

* remove debugging #defines

* Move GetMonitorPhysicalWidth from rcore to submodule

* Move GetGamepadAxisCount from rcore

* Move SetGamepadMappings out of rcore

* Move GetMouseX, GetMouseY, GetMousePosition out of rcore

* Move SetMousePosition out of rcore

* Move GetMouseWheelMove out of rcore

* Move the last functions out of rcore

* Move shared function defs and some global var to rcore.h

* Clean up rcore.c and rcore.h a little more

* Remove unnecessary #define

---------

Co-authored-by: MichaelFiber <michael@cubeofb.org>

* REVIEWED: `PLATFORM_DESKTOP` Windows building

* Revert "REVIEWED: `PLATFORM_DESKTOP` Windows building"

This reverts commit 71a12171f7.

* Reviewed Windows building

* [split] Fix compilation for web (and desktop) (#3329)

* Fix compilation for web

* Remove EM_ASM_INT from core_input_gestures_web example

* Fix raymath undefined symbols for desktop and web

* Remove raylib_opengl_interop from examples Makefile

* Revert previous commit (8651c78)

* Fix TraceLog for web and desktop

* [split] `rcore`, `rcore_web` and `rcore_desktop` changes (batch 2) (#3334)

* Fix formatting

* Reapply commit 9d230d7 (#3305) that was missing

* Reapplies commits 719365f (#3309) and 8a1779b (#3312) that were missing

* Reapply commit 5c9cc3f (#3323) that was missing

* Reapply commit a2b3b1e that was missing

* Revert commit cef25c6 to fix macro redefined warning

* Move rcore.h #include to after config.h to fix macro redefinitions warnings

* [split] `rcore`, `web`, `desktop`, `android` changes (batch 3) (#3338)

* First pass to remove unneeded platform macros for web

* Second pass to remove unneeded platform macros for web

* Move GetTouchX, GetTouchY, GetTouchPosition from rcore to web, desktop, android

* Move SetMouseCursor from rcore to android, desktop, web

* [split] `rcore`, `web`, `desktop`, `android` changes (batch 4) (#3343)

* Fix ToggleBorderlessWindowed duplicated glfwSetWindowSize calls

* First pass to remove unneeded platform macros for android

* Second pass to remove unneeded platform macros for android

* Remove unneeded platform macros for desktop

* Relocate GetGamepadName and update SetGamepadMappings on android, desktop, web

* Add missing comment to web

* [split] `rcore`, `web`, `desktop`, `android` changes (batch 5) (#3345)

* Move SetExitKey from core to android, desktop, web

* Move some callbacks from core to desktop and web

* Relocate emscripten callbacks on web

* Relocate android callbacks on android

* Revert "Relocate android callbacks on android"

This reverts commit bbdbecc01e.

* Updates UnloadVrStereoConfig on rcore

* Update SetClipboardText on android

* Fix screenMin/Max default values for android

* [split] `rcore`, `drm` changes (#3347)

* Tweak makefiles for PLATFORM_DRM and move rcore_drm's dependencies to rcore.h

* Move drm functions to rcore_drm.c

* Fix a typo in rcore.c

* Add SetExitKey to rcore_drm.c

---------

Co-authored-by: MichaelFiber <michael@cubeofb.org>

* Fix compilation for android (#3360)

* Fix android include (#3364)

* Reviewed platform split #3313

 - Added file headers info
 - Added TRACELOG message for unimplemented functions
 - Reviewed code formatting and organization
 - Several code tweaks

* REVIEWED: `GetDirectoryPath()`

---------

Co-authored-by: MichaelFiber <42419558+michaelfiber@users.noreply.github.com>
Co-authored-by: MichaelFiber <michael@cubeofb.org>
Co-authored-by: ubkp <118854183+ubkp@users.noreply.github.com>
2023-10-08 18:36:07 +02:00
MichaelFiber
18e9784c6d Remove PLATFORM_RPI (#3232)
* Remove PLATFORM_RPI

* remove build artifacts

---------

Co-authored-by: MichaelFiber <michael@cubeofb.org>
Co-authored-by: Ray <raysan5@gmail.com>
2023-09-07 17:42:28 +02:00
SuperUserNameMan
8cf76ec113 Update Makefile : clean raygui.c & physac.c (#3296) 2023-09-07 17:35:02 +02:00
ndytts
44659b7ba8 Fix android soname in src/Makefile (#3211) 2023-07-29 13:46:04 +02:00
ashn
ac6f889dfc Fix misleading indentation in src/Makefile (#3202) 2023-07-26 17:50:07 +02:00
Ray
e0c80f5ddd Revert "Makefile change for cross compiling. (#3176)"
This reverts commit 70286c7cdc.
2023-07-16 20:18:38 +02:00
Michael Anghelone
70286c7cdc Makefile change for cross compiling. (#3176)
Working from wsl and compiling for windows this change makes it much easier to compile a static library for windows on arm.
To compile a static library for windows on arm:

```
make PLATFORM=PLATFORM_DESKTOP TARGET_OS=WINDOWS CROSS_CC=/llvm/bin/aarch64-w64-mingw32-gcc CROSS_AR=/llvm/bin/aarch64-w64-mingw32-ar
```

This does not work to compile a shared library yet, only static.
2023-07-16 13:08:55 +02:00
Chema Guerra
f385d0ce1c Continuation of support for ES3/WebGL2 (#3107)
* Continuation of support for ES3/WebGL2

* GetTouchPointState()

* Amends to the WebGL2 PR

---------

Co-authored-by: root <root@DESKTOP-GLOV9QV>
Co-authored-by: chemguerra <online@chemaguerra.com>
2023-06-12 08:18:31 +02:00
A Billy
a18667c2e9 cross compilation for PLATFORM_DRM (#3091)
* added cross compilation options for DRM

* fixed identation
2023-05-30 21:34:08 +02:00
ashn
fec96137e8 Update Makefile comment to indicate arm64 as a supported Linux desktop platform (#2965) 2023-03-18 17:37:04 +01:00
Ray
5a2c49b954 Updated Makefiles to include all missing new examples 2023-03-13 23:13:02 +01:00
Antonis Geralis
4adba0d3c3 Add wayland support (#2883) 2023-01-25 22:25:25 +01:00
Antonis Geralis
e539aad118 Fix android sound issue #2118 (#2875) 2023-01-21 18:52:31 +01:00
Ray
0ccc1d3686 Update year to 2023 2023-01-01 19:07:58 +01:00
Julianiolo
82e0644195 Fix Makefile emscripten path (#2785) 2022-11-10 11:51:51 +01:00
Ray
7f5567eec0 Reviewed GLFW compilation requirements on Linux: _GNU_SOURCE
Reasons to NOT define `_GNU_SOURCE`:

 - access to lots of nonstandard GNU/Linux extension functions
 - access to traditional functions which were omitted from the POSIX standard (often for good reason, such as being replaced with better alternatives, or being tied to particular legacy implementations)
 - access to low-level functions that cannot be portable, but that you sometimes need for implementing system utilities like mount, ifconfig, etc.
 - broken behavior for lots of POSIX-specified functions, where the GNU folks disagreed with the standards committee on how the functions should behave and decided to do their own thing.
2022-08-28 15:48:12 +02:00
Ray
be2328f848 Update Makefile 2022-08-28 15:39:22 +02:00
Ray
568fe42cb1 Reviewed GLFW issue with ppoll() function 2022-08-28 15:37:09 +02:00
Ray
482dbfc52e Avoid error on implicit-function-declaration 2022-08-28 15:28:57 +02:00
Ray
ae745e4fa8 ADDED: -latomic library on Linux (only required for ARM32)
This linkage is only required for arm 32bit but I don't know how to detect that specific architecture in the Makefile...
2022-08-22 11:25:35 +02:00
Rodrigo Escar
aa4111a3b2 Fix PATH for Web target (#2647) 2022-08-21 11:45:37 +02:00
Ray
d68ddda766 Added note for multi-threading web compilation 2022-08-02 09:59:12 +02:00