Moved version vars from base/main.cpp to base/version.cpp; thus now version.o is always rebuilt on every change, not main.o
svn-id: r21687
This commit is contained in:
parent
8cf8acfd63
commit
4572d0ba16
4 changed files with 115 additions and 88 deletions
|
@ -70,10 +70,10 @@ CPPFLAGS:= $(DEFINES) $(INCLUDES)
|
||||||
DEPDIRS = $(addsuffix /$(DEPDIR),$(MODULE_DIRS))
|
DEPDIRS = $(addsuffix /$(DEPDIR),$(MODULE_DIRS))
|
||||||
DEPFILES =
|
DEPFILES =
|
||||||
|
|
||||||
# Make main.o depend on all other object files. This way if anything is
|
# Make base/version.o depend on all other object files. This way if anything is
|
||||||
# changed, it causes main.cpp to be recompiled. This in turn ensures that
|
# changed, it causes version.cpp to be recompiled. This in turn ensures that
|
||||||
# the build date in gScummVMBuildDate is correct.
|
# the build date in gScummVMBuildDate is correct.
|
||||||
base/main.o: $(filter-out base/libbase.a,$(OBJS))
|
base/version.o: $(filter-out base/libbase.a,$(OBJS))
|
||||||
|
|
||||||
# The build rule for the ScummVM executable
|
# The build rule for the ScummVM executable
|
||||||
$(EXECUTABLE): $(OBJS)
|
$(EXECUTABLE): $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include "base/engine.h"
|
#include "base/engine.h"
|
||||||
#include "base/gameDetector.h"
|
#include "base/gameDetector.h"
|
||||||
#include "base/plugins.h"
|
#include "base/plugins.h"
|
||||||
#include "base/internal_version.h"
|
|
||||||
#include "base/version.h"
|
#include "base/version.h"
|
||||||
#include "common/config-manager.h"
|
#include "common/config-manager.h"
|
||||||
#include "common/file.h"
|
#include "common/file.h"
|
||||||
|
@ -59,89 +58,6 @@
|
||||||
#include "gui/Actions.h"
|
#include "gui/Actions.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* Version string and build date string. These can be used by anything that
|
|
||||||
* wants to display this information to the user (e.g. about dialog).
|
|
||||||
*
|
|
||||||
* Note: it would be very nice if we could instead of (or in addition to) the
|
|
||||||
* build date present a date which corresponds to the date our source files
|
|
||||||
* were last changed. To understand the difference, imagine that a user
|
|
||||||
* makes a checkout of CVS on January 1, then after a week compiles it
|
|
||||||
* (e.g. after doing a 'make clean'). The build date then will say January 8
|
|
||||||
* even though the files were last changed on January 1.
|
|
||||||
*
|
|
||||||
* Another problem is that __DATE__/__TIME__ depend on the local time zone.
|
|
||||||
*
|
|
||||||
* It's clear that such a "last changed" date would be much more useful to us
|
|
||||||
* for feedback purposes. After all, when somebody files a bug report, we
|
|
||||||
* don't care about the build date, we want to know which date their checkout
|
|
||||||
* was made. This is even more important now since anon CVS lags a few
|
|
||||||
* days behind developer CVS.
|
|
||||||
*
|
|
||||||
* So, how could we implement this? At least on unix systems, a special script
|
|
||||||
* could do it. Basically, that script would run over all .cpp/.h files and
|
|
||||||
* parse the CVS 'Header' keyword we have in our file headers.
|
|
||||||
* That line contains a date/time in GMT. Now, the script just has to collect
|
|
||||||
* all these times and find the latest. This time then would be inserted into
|
|
||||||
* a header file or so (common/date.h ?) which engine.cpp then could
|
|
||||||
* include and put into a global variable analog to gScummVMBuildDate.
|
|
||||||
*
|
|
||||||
* Drawback: scanning all source/header files will be rather slow. Also, this
|
|
||||||
* only works on systems which can run powerful enough scripts (so I guess
|
|
||||||
* Visual C++ would be out of the game here? don't know VC enough to be sure).
|
|
||||||
*
|
|
||||||
* Another approach would be to somehow get CVS to update a global file
|
|
||||||
* (e.g. LAST_CHANGED) whenever any checkins are made. That would be
|
|
||||||
* faster and work w/o much "logic" on the client side, in particular no
|
|
||||||
* scripts have to be run. The problem with this is that I am not even
|
|
||||||
* sure it's actually possible! Modifying files during commit time is trivial
|
|
||||||
* to setup, but I have no idea if/how one can also change files which are not
|
|
||||||
* currently being commit'ed.
|
|
||||||
*/
|
|
||||||
const char *gScummVMVersion = SCUMMVM_VERSION;
|
|
||||||
const char *gScummVMBuildDate = __DATE__ " " __TIME__;
|
|
||||||
const char *gScummVMVersionDate = SCUMMVM_VERSION " (" __DATE__ " " __TIME__ ")";
|
|
||||||
const char *gScummVMFullVersion = "ScummVM " SCUMMVM_VERSION " (" __DATE__ " " __TIME__ ")";
|
|
||||||
const char *gScummVMFeatures = ""
|
|
||||||
#ifdef USE_TREMOR
|
|
||||||
"Tremor "
|
|
||||||
#else
|
|
||||||
#ifdef USE_VORBIS
|
|
||||||
"Vorbis "
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef USE_FLAC
|
|
||||||
"FLAC "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef USE_MAD
|
|
||||||
"MP3 "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef USE_ALSA
|
|
||||||
"ALSA "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef USE_ZLIB
|
|
||||||
"zLib "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef USE_MPEG2
|
|
||||||
"MPEG2 "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef USE_FLUIDSYNTH
|
|
||||||
"FluidSynth "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __SYMBIAN32__
|
|
||||||
// we want a list of compiled in engines visible in the program,
|
|
||||||
// because we also release special builds with only one engine
|
|
||||||
#include "backends/symbian/src/main_features.inl"
|
|
||||||
#endif
|
|
||||||
;
|
|
||||||
|
|
||||||
/** List all supported game IDs, i.e. all games which any loaded plugin supports. */
|
/** List all supported game IDs, i.e. all games which any loaded plugin supports. */
|
||||||
void listGames() {
|
void listGames() {
|
||||||
const PluginList &plugins = PluginManager::instance().getPlugins();
|
const PluginList &plugins = PluginManager::instance().getPlugins();
|
||||||
|
|
|
@ -4,7 +4,8 @@ MODULE_OBJS := \
|
||||||
engine.o \
|
engine.o \
|
||||||
gameDetector.o \
|
gameDetector.o \
|
||||||
main.o \
|
main.o \
|
||||||
plugins.o
|
plugins.o \
|
||||||
|
version.o
|
||||||
|
|
||||||
MODULE_DIRS += \
|
MODULE_DIRS += \
|
||||||
base
|
base
|
||||||
|
|
110
base/version.cpp
Normal file
110
base/version.cpp
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
/* ScummVM - Scumm Interpreter
|
||||||
|
* Copyright (C) 2001 Ludvig Strigeus
|
||||||
|
* Copyright (C) 2001-2006 The ScummVM project
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*
|
||||||
|
* $URL$
|
||||||
|
* $Id: main.cpp 21627 2006-04-05 06:58:18Z sev $
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "common/stdafx.h"
|
||||||
|
#include "base/internal_version.h"
|
||||||
|
#include "base/version.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version string and build date string. These can be used by anything that
|
||||||
|
* wants to display this information to the user (e.g. about dialog).
|
||||||
|
*
|
||||||
|
* Note: it would be very nice if we could instead of (or in addition to) the
|
||||||
|
* build date present a date which corresponds to the date our source files
|
||||||
|
* were last changed. To understand the difference, imagine that a user
|
||||||
|
* makes a checkout of CVS on January 1, then after a week compiles it
|
||||||
|
* (e.g. after doing a 'make clean'). The build date then will say January 8
|
||||||
|
* even though the files were last changed on January 1.
|
||||||
|
*
|
||||||
|
* Another problem is that __DATE__/__TIME__ depend on the local time zone.
|
||||||
|
*
|
||||||
|
* It's clear that such a "last changed" date would be much more useful to us
|
||||||
|
* for feedback purposes. After all, when somebody files a bug report, we
|
||||||
|
* don't care about the build date, we want to know which date their checkout
|
||||||
|
* was made. This is even more important now since anon CVS lags a few
|
||||||
|
* days behind developer CVS.
|
||||||
|
*
|
||||||
|
* So, how could we implement this? At least on unix systems, a special script
|
||||||
|
* could do it. Basically, that script would run over all .cpp/.h files and
|
||||||
|
* parse the CVS 'Header' keyword we have in our file headers.
|
||||||
|
* That line contains a date/time in GMT. Now, the script just has to collect
|
||||||
|
* all these times and find the latest. This time then would be inserted into
|
||||||
|
* a header file or so (common/date.h ?) which engine.cpp then could
|
||||||
|
* include and put into a global variable analog to gScummVMBuildDate.
|
||||||
|
*
|
||||||
|
* Drawback: scanning all source/header files will be rather slow. Also, this
|
||||||
|
* only works on systems which can run powerful enough scripts (so I guess
|
||||||
|
* Visual C++ would be out of the game here? don't know VC enough to be sure).
|
||||||
|
*
|
||||||
|
* Another approach would be to somehow get CVS to update a global file
|
||||||
|
* (e.g. LAST_CHANGED) whenever any checkins are made. That would be
|
||||||
|
* faster and work w/o much "logic" on the client side, in particular no
|
||||||
|
* scripts have to be run. The problem with this is that I am not even
|
||||||
|
* sure it's actually possible! Modifying files during commit time is trivial
|
||||||
|
* to setup, but I have no idea if/how one can also change files which are not
|
||||||
|
* currently being commit'ed.
|
||||||
|
*/
|
||||||
|
const char *gScummVMVersion = SCUMMVM_VERSION;
|
||||||
|
const char *gScummVMBuildDate = __DATE__ " " __TIME__;
|
||||||
|
const char *gScummVMVersionDate = SCUMMVM_VERSION " (" __DATE__ " " __TIME__ ")";
|
||||||
|
const char *gScummVMFullVersion = "ScummVM " SCUMMVM_VERSION " (" __DATE__ " " __TIME__ ")";
|
||||||
|
const char *gScummVMFeatures = ""
|
||||||
|
#ifdef USE_TREMOR
|
||||||
|
"Tremor "
|
||||||
|
#else
|
||||||
|
#ifdef USE_VORBIS
|
||||||
|
"Vorbis "
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_FLAC
|
||||||
|
"FLAC "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_MAD
|
||||||
|
"MP3 "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_ALSA
|
||||||
|
"ALSA "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_ZLIB
|
||||||
|
"zLib "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_MPEG2
|
||||||
|
"MPEG2 "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_FLUIDSYNTH
|
||||||
|
"FluidSynth "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __SYMBIAN32__
|
||||||
|
// we want a list of compiled in engines visible in the program,
|
||||||
|
// because we also release special builds with only one engine
|
||||||
|
#include "backends/symbian/src/main_features.inl"
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue