Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Added a revision number for easy compile-time tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
slouken committed Feb 20, 2011
1 parent 96cfb6a commit 45693ea
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 4 deletions.
2 changes: 2 additions & 0 deletions build-scripts/updaterev.sh
Expand Up @@ -9,7 +9,9 @@ header=$outdir/include/SDL_revision.h

rev=`sh showrev.sh 2>/dev/null`
if [ "$rev" != "" -a "$rev" != "hg-0:baadf00d" ]; then
revnum=`echo $rev | sed 's,hg-\([0-9]*\).*,\1,'`
echo "#define SDL_REVISION \"$rev\"" >$header.new
echo "#define SDL_REVISION_NUMBER $revnum" >>$header.new
if diff $header $header.new >/dev/null 2>&1; then
rm $header.new
else
Expand Down
1 change: 1 addition & 0 deletions include/SDL_revision.h
@@ -1 +1,2 @@
#define SDL_REVISION "hg-0:aaaaaaaaaaah"
#define SDL_REVISION_NUMBER 0
10 changes: 10 additions & 0 deletions include/SDL_version.h
Expand Up @@ -144,6 +144,16 @@ extern DECLSPEC void SDLCALL SDL_GetVersion(SDL_version * ver);
*/
extern DECLSPEC const char *SDLCALL SDL_GetRevision(void);

/**
* \brief Get the revision number of SDL that is linked against your program.
*
* Returns a number uniquely identifying the exact revision of the SDL
* library in use. It is an incrementing number based on commits to
* hg.libsdl.org.
*/
extern DECLSPEC int SDLCALL SDL_GetRevisionNumber(void);


/* Ends C function definitions when using C++ */
#ifdef __cplusplus
/* *INDENT-OFF* */
Expand Down
7 changes: 7 additions & 0 deletions src/SDL.c
Expand Up @@ -236,6 +236,13 @@ SDL_GetRevision(void)
return SDL_REVISION;
}

/* Get the library source revision number */
int
SDL_GetRevisionNumber(void)
{
return SDL_REVISION_NUMBER;
}

/* Get the name of the platform */
const char *
SDL_GetPlatform()
Expand Down
10 changes: 6 additions & 4 deletions test/testver.c
Expand Up @@ -21,11 +21,13 @@ main(int argc, char *argv[])
printf("Compiled with SDL older than 1.3\n");
#endif
SDL_VERSION(&compiled);
printf("Compiled version: %d.%d.%d (%s)\n",
compiled.major, compiled.minor, compiled.patch, SDL_REVISION);
printf("Compiled version: %d.%d.%d.%d (%s)\n",
compiled.major, compiled.minor, compiled.patch,
SDL_REVISION_NUMBER, SDL_REVISION);
SDL_GetVersion(&linked);
printf("Linked version: %d.%d.%d (%s)\n",
linked.major, linked.minor, linked.patch, SDL_GetRevision());
printf("Linked version: %d.%d.%d.%d (%s)\n",
linked.major, linked.minor, linked.patch,
SDL_GetRevisionNumber(), SDL_GetRevision());
SDL_Quit();
return (0);
}

0 comments on commit 45693ea

Please sign in to comment.