Commit Graph

189 Commits

Author SHA1 Message Date
Sam Lantinga
b8d85c6939 Update for SDL3 coding style (#6717)
I updated .clang-format and ran clang-format 14 over the src and test directories to standardize the code base.

In general I let clang-format have it's way, and added markup to prevent formatting of code that would break or be completely unreadable if formatted.

The script I ran for the src directory is added as build-scripts/clang-format-src.sh

This fixes:
#6592
#6593
#6594

(cherry picked from commit 5750bcb174300011b91d1de20edb288fcca70f8c)
2022-11-30 12:57:41 -08:00
Sam Lantinga
44975d40ef Update SDL info and Xcode marketing version with version update scripts 2022-11-22 09:18:05 -08:00
Sam Lantinga
8ae46a49ea Save the version in VERSION.txt instead of VERSION
Fixes https://github.com/libsdl-org/SDL/issues/6558
2022-11-21 06:57:02 -08:00
Ryan C. Gordon
98dfc9296a
build-scripts/fnsince.pl: Deal with new point-release system.
This ignores 2.x.1 (etc) releases, which prevents it from thinking
the next official non-point-release version is 2.26.1, when it
should be 2.26.0, because it saw the "latest" release is 2.24.1.

This fixes the wiki ending up with imaginary version numbers for
the "this function is available since SDL 2.x.y" sections.

Fixes #6343.
2022-10-25 14:03:32 -04:00
Simon McVittie
4ca5ea5b7e build: Add a mechanism to mark builds with vendor info
Downstream distributors can use this to mark a version with their
preferred version information, like a Linux distribution package version
or the Steam revision it was built to be bundled into, or just to mark
it with the vendor it was built by or the environment it's intended to
be used in.

For instance, in Debian I'd use this by configuring with:

    --enable-vendor-info="${DEB_VENDOR} ${DEB_VERSION}"

to get a SDL_REVISION like:

    release-2.24.1-0-ga1d1946dc (Debian 2.24.1+dfsg-2)

which gives a Debian user enough information to track down the patches
and build-time configuration that were used for package revision 2.

In Autotools and CMake, this is a configure-time option like any other,
and will go into both SDL_REVISION (via SDL_revision.h) and
SDL_GetRevision().

In other build systems (MSVC, Xcode, etc.), defining the
SDL_VENDOR_INFO macro will get it into the output of SDL_GetRevision(),
although not SDL_REVISION.

Resolves: https://github.com/libsdl-org/SDL/issues/6418
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-10-22 09:27:10 -07:00
Simon McVittie
2dc788cb9f build: Expand version info in SDL_REVISION and SDL_GetRevision()
Instead of using a URL and git sha1, this uses `git describe` to
describe the version relative to the nearest previous git tag, which
gives a better indication of whether this is a release, a prerelease,
a slightly patched prerelease, or a long way after the last release
during active development.

This serves two purposes: it makes those APIs more informative, and it
also puts this information into the binary in a form that is easy to
screen-scrape using strings(1). For instance, if the bundled version of
SDL in a game has this, we can see at a glance what version it is.

It's also shorter than using the web address of the origin git
repository and the full git commit sha1.

Also write the computed version into a file ./VERSION in `make dist`
tarballs, so that when we build from a tarball on a system that doesn't
have git available, we still get the version details.

For the Perforce code path in showrev.sh, output the version number
followed by the Perforce revision, in a format reminiscent of
`git describe` (with p instead of g to indicate Perforce).

For the code path with no VCS available at all, put a suffix on the
version number to indicate that this is just a guess (we can't know
whether this SDL version is actually a git snapshot or has been
patched locally or similar).

Resolves: https://github.com/libsdl-org/SDL/issues/6418
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-10-22 09:27:10 -07:00
Sam Lantinga
5291e5cb76 Added version checking to SDLActivity.java
Make sure the SDL java and C code match when updating SDL in a game.
Right now we're assuming that we only have to make sure release versions match. We can extend the version string with an interface version if we need more fine grained sanity checking.

Fixes https://github.com/libsdl-org/SDL/issues/1540
2022-10-03 17:36:17 -07:00
Anonymous Maarten
bac54b3d26 Android: add script for building prefab archive 2022-10-01 22:26:46 -07:00
Ryan C. Gordon
f648c000bd
build: Fixed some references to renamed test-versioning.sh 2022-09-28 09:37:21 -04:00
Ryan C. Gordon
d843d61cc1
Moved test/versioning.sh to build-scripts/test-versioning.sh
Reference Issue #6171.
2022-09-28 09:09:43 -04:00
Ryan C. Gordon
8e14647759
build-scripts: Added update-version.sh
Fixes #6171.
2022-09-27 22:04:07 -04:00
Ryan C. Gordon
51be30f3cd
emscripten-buildbot.sh: force -s USE_SDL=0
This avoids using Emscripten-provided SDL headers from its own
sysroot instead of the headers in our own include directory!

Reference https://github.com/emscripten-core/emscripten/discussions/17647
2022-08-17 21:39:59 -04:00
Ryan C. Gordon
3a9295e14f
build-scripts: Removed winrtbuild.*, no longer used.
WinRT/UWP is still supported, but you have to use the VS2019
project files, now.

Fixes #5639.
2022-08-09 16:17:28 -04:00
Sam Lantinga
f789bc7d5f Updated minimum OS targets on Apple platforms to match supported platforms using Xcode 13 2022-07-26 11:36:01 -07:00
Anonymous Maarten
2fdedd17be Revert 6fa7d62 and 856c99e5 2022-07-23 17:29:45 +02:00
Anonymous Maarten
856c99e583 android: target android-19 by default when building with build-scripts/androidbuildlibs.sh 2022-07-23 16:28:50 +02:00
Ryan C. Gordon
bec721f08a audio: Fixed dst pointer on channel conversions that grow in-place. 2022-07-20 18:41:53 -04:00
Ryan C. Gordon
49ec8db5f8 audio: Generate the channel converter code from a program. 2022-07-20 18:41:53 -04:00
Ryan C. Gordon
118a2189fb
build-scripts/wikiheaders.pl: ignore the 'FrontPage' wiki pages. 2022-06-23 16:07:35 -04:00
Ryan C. Gordon
48a232969d
wikiheaders: Strip [[wiki hyperlink]] from See Also fields. 2022-06-19 00:15:41 -04:00
Ryan C. Gordon
83b766174c
build-scripts/wikiheaders.pl: ignore "Category" wiki pages. 2022-06-17 17:35:52 -04:00
Ryan C. Gordon
20c622f090
build-scripts/wikiheaders.pl: Allow a wiki preamble.
This is so we can have everything in SDL_net (etc) start with a
"This is not part of the core SDL API" message.
2022-06-17 14:40:35 -04:00
Sam Lantinga
b004133f08 Updated to version 2.23.1 for pre-release checkpoint 2022-06-16 12:50:19 -07:00
Ryan C. Gordon
94f6080895
wikiheaders.pl: changes to make this usable with external projects. 2022-06-15 23:26:24 -04:00
Ozkan Sezer
6bd49fc00c revert mode changes from commit d58d637ac 2022-06-08 21:58:10 +03:00
Sam Lantinga
d58d637ac6 Added support for the Qanba Obsidian Arcade Joystick on Linux 2022-06-08 11:07:36 -07:00
Ryan C. Gordon
5968f3d828
gen_audio_resampler_filter.c: Precalculate loop-invariant bessel(beta).
Minor optimization in offline code.
2022-05-26 10:44:01 -04:00
Ozkan Sezer
822cf0b34b updated config.guess from mainstream. 2022-05-26 01:33:32 +03:00
Ryan C. Gordon
bed96482fa
wikiheaders.pl: Deal with links better. 2022-05-25 10:42:11 -04:00
Ryan C. Gordon
96a04cb910
wikiheaders.pl: Don't wordwrap truly massive words.
Usually, these are going to be URLs that you don't want to split
across lines.
2022-05-25 09:30:29 -04:00
Sam Lantinga
aa6ea607d9 Fixed whitespace
Whitespace inconsistencies reported in https://github.com/libsdl-org/SDL/pull/5673
2022-05-18 06:58:14 -07:00
Ryan C. Gordon
e78a72ec38
fnsince.pl: Fix next version value to match new versioning scheme. 2022-05-15 23:50:41 -04:00
Alex Szpakowski
d35c737f1c macOS: change min supported OS from 10.6 to 10.7. 2022-05-09 21:53:40 -07:00
Ozkan Sezer
6422a5d259 updated config.guess and config.sub from mainstream 2022-05-10 07:33:32 +03:00
Simon McVittie
cd7c2f1de7 Switch versioning scheme to be the same as GLib and Flatpak
For stable releases, this gives us the ability to make bugfix-only point
releases such as 2.24.1 if we want to, and distinguish between them
programmatically. For example, this ability could have been useful after
2.0.16 to fix Xwayland regressions, and after 2.0.18 to fix event loop
regressions.

For development releases, this gives us the ability to make multiple
prereleases during the same feature cycle, and distinguish between them
programmatically. For example, this would have been useful during 2.0.22
development, which went through three prereleases before reaching the
final release.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 09:55:35 -07:00
Ryan C. Gordon
5066910bf5 audio: Make pregenerated resampler kaiser filter more precise. 2022-04-26 13:32:42 -04:00
Ryan C. Gordon
de019568dc audio: Prebake the resampler's kaiser table instead of doing it at runtime. 2022-04-26 13:32:42 -04:00
Sam Lantinga
fa29e2d7f7 Updated to version 2.0.23 for development 2022-04-25 13:45:51 -07:00
Ozkan Sezer
55a4e1d336 CI: update os2.yml to use open-watcom/setup-watcom
also remove os2-buildbot.sh -- not needed anymore.
2022-04-14 10:10:02 +03:00
Sam Lantinga
505d6a4a05 Update version to 2.0.22 for release 2022-04-08 18:18:56 -07:00
Ozkan Sezer
1c1f5c180f imported two libtool mainstream commits 28fbcb6a and b55b1cc8 2022-03-16 17:15:20 +03:00
Sam Lantinga
a0e3c884d4 Updated to version 2.0.21 for development 2022-01-17 15:32:27 -08:00
Ryan C. Gordon
ae9e2149a5
os2-buildbot.sh: Use the 64-bit Watcom binaries.
GitHub Actions is a 64-bit Ubuntu instance. It was only using the 32-bit
binaries because our buildbot put this on the 32-bit Linux host to spread
the CPU load around more evenly.
2022-01-11 21:32:07 -05:00
Ozkan Sezer
63d10a0ac2 updates to config.guess and config.sub from mainstream. 2022-01-08 23:00:32 +03:00
Ozkan Sezer
836a4ec7b1 updates to os/2 build 2022-01-08 22:35:02 +03:00
Ryan C. Gordon
f62b807174
wikiheaders.pl: Put the manpages in man/man3 2022-01-07 21:39:10 -05:00
Sam Lantinga
9294634840 Updated to version 2.0.20 for release 2022-01-07 18:29:40 -08:00
Ryan C. Gordon
5d3f6b0215
wikiheaders.pl: Added support for export to Unix manpages.
This mostly works, but likely needs some tweaking as we examine the output
of various pages.

Fixes #5163.
2022-01-06 15:37:05 -05:00
Ozkan Sezer
3355464079 libtool upgrade to 2.4.6 - 18/n: SDL customizations
removed os/2 versioning support.
2021-12-01 01:55:40 +03:00
Ozkan Sezer
5ae2f0fd19 libtool upgrade to 2.4.6 - 17/n: SDL customizations
fixes Windows linkage and the DLL name convention.
2021-12-01 01:55:32 +03:00