aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/UConfig.pas
diff options
context:
space:
mode:
authormogguh <mogguh@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-09-02 17:25:26 +0000
committermogguh <mogguh@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-09-02 17:25:26 +0000
commit7a01b05b3861a667eb32ce2e0fc88ff3bacb99ae (patch)
tree3ceaf345e679ad993c5e1a78f9b5a84c1f0ac134 /src/classes/UConfig.pas
parent4859734e7e6699e5c88added2df53ba3ff168300 (diff)
downloadusdx-7a01b05b3861a667eb32ce2e0fc88ff3bacb99ae.tar.gz
usdx-7a01b05b3861a667eb32ce2e0fc88ff3bacb99ae.tar.xz
usdx-7a01b05b3861a667eb32ce2e0fc88ff3bacb99ae.zip
Moved: The folder classes has been renamed to base
Updated: ultrastardx.dpr has been changed accordingly git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1339 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'src/classes/UConfig.pas')
-rw-r--r--src/classes/UConfig.pas199
1 files changed, 0 insertions, 199 deletions
diff --git a/src/classes/UConfig.pas b/src/classes/UConfig.pas
deleted file mode 100644
index b77c2a5a..00000000
--- a/src/classes/UConfig.pas
+++ /dev/null
@@ -1,199 +0,0 @@
-unit UConfig;
-
-// -------------------------------------------------------------------
-// Note on version comparison (for developers only):
-// -------------------------------------------------------------------
-// Delphi (in contrast to FPC) DOESN'T support MACROS. So we
-// can't define a macro like VERSION_MAJOR(version) to extract
-// parts of the version-number or to create version numbers for
-// comparison purposes as with a MAKE_VERSION(maj, min, rev) macro.
-// So we have to define constants for every part of the version here.
-//
-// In addition FPC (in contrast to delphi) DOES NOT support floating-
-// point numbers in $IF compiler-directives (e.g. {$IF VERSION > 1.23})
-// It also DOESN'T support arithmetic operations so we aren't able to
-// compare versions this way (brackets aren't supported too):
-// {$IF VERSION > ((VER_MAJ*2)+(VER_MIN*23)+(VER_REL*1))}
-//
-// Hence we have to use fixed numbers in the directives. At least
-// Pascal allows leading 0s so 0005 equals 5 (octals are
-// preceded by & and not by 0 in FPC).
-// We also fix the count of digits for each part of the version number
-// to 3 (aaaiiirrr with aaa=major, iii=minor, rrr=release version)
-//
-// A check for a library with at least a version of 2.5.11 would look
-// like this:
-// {$IF LIB_VERSION >= 002005011}
-//
-// If you just need to check the major version do this:
-// {$IF LIB_VERSION_MAJOR >= 23}
-//
-// IMPORTANT:
-// Because this unit must be included in a uses-section it is
-// not possible to use the version-numbers in this uses-clause.
-// Example:
-// interface
-// uses
-// versions, // include this file
-// {$IF USE_UNIT_XYZ}xyz;{$IFEND} // Error: USE_UNIT_XYZ not defined
-// const
-// {$IF USE_UNIT_XYZ}test = 2;{$IFEND} // OK
-// uses
-// {$IF USE_UNIT_XYZ}xyz;{$IFEND} // OK
-//
-// Even if this file was an include-file no constants could be declared
-// before the interface's uses clause.
-// In FPC macros {$DEFINE VER:= 3} could be used to declare the version-numbers
-// but this is incompatible to Delphi. In addition macros do not allow expand
-// arithmetic expressions. Although you can define
-// {$DEFINE FPC_VER:= FPC_VERSION*1000000+FPC_RELEASE*1000+FPC_PATCH}
-// the following check would fail:
-// {$IF FPC_VERSION_INT >= 002002000}
-// would fail because FPC_VERSION_INT is interpreted as a string.
-//
-// PLEASE consider this if you use version numbers in $IF compiler-
-// directives. Otherwise you might break portability.
-// -------------------------------------------------------------------
-
-interface
-
-{$IFDEF FPC}
- {$MODE Delphi}
- {$MACRO ON} // for evaluation of FPC_VERSION/RELEASE/PATCH
-{$ENDIF}
-
-{$I switches.inc}
-
-uses
- Sysutils;
-
-const
- // IMPORTANT:
- // If IncludeConstants is defined, the const-sections
- // of the config-file will be included too.
- // This switch is necessary because it is not possible to
- // include the const-sections in the switches.inc.
- // switches.inc is always included before the first uses-
- // section but at that place no const-section is allowed.
- // So we have to include the config-file in switches.inc
- // with IncludeConstants undefined and in UConfig.pas with
- // IncludeConstants defined (see the note above).
- {$DEFINE IncludeConstants}
-
- // include config-file (defines + constants)
- {$IF Defined(MSWindows)}
- {$I ../config-win.inc}
- {$ELSEIF Defined(Linux)}
- {$I ../config-linux.inc}
- {$ELSEIF Defined(Darwin)}
- {$I ../config-darwin.inc}
- {$ELSE}
- {$MESSAGE Fatal 'Unknown OS'}
- {$IFEND}
-
-{* Libraries *}
-
- VERSION_MAJOR = 1000000;
- VERSION_MINOR = 1000;
- VERSION_RELEASE = 1;
-
- (*
- * Current version of UltraStar Deluxe
- *)
- USDX_VERSION_MAJOR = 1;
- USDX_VERSION_MINOR = 1;
- USDX_VERSION_RELEASE = 0;
- USDX_VERSION_STATE = 'Alpha';
- USDX_STRING = 'UltraStar Deluxe';
-
- (*
- * FPC version numbers are already defined as built-in macros:
- * FPC_VERSION (MAJOR)
- * FPC_RELEASE (MINOR)
- * FPC_PATCH (RELEASE)
- * Since FPC_VERSION is already defined, we will use FPC_VERSION_INT as
- * composed version number.
- *)
- {$IFNDEF FPC}
- // Delphi 7 evaluates every $IF-directive even if it is disabled by a surrounding
- // $IF or $IFDEF so the follwing will give you an error in delphi:
- // {$IFDEF FPC}{$IF (FPC_VERSION > 2)}...{$IFEND}{$ENDIF}
- // The reason for this error is that FPC_VERSION is not a valid constant.
- // To avoid this error, we define dummys here.
- FPC_VERSION = 0;
- FPC_RELEASE = 0;
- FPC_PATCH = 0;
- {$ENDIF}
-
- FPC_VERSION_INT = (FPC_VERSION * VERSION_MAJOR) +
- (FPC_RELEASE * VERSION_MINOR) +
- (FPC_PATCH * VERSION_RELEASE);
-
-
- {$IFDEF HaveFFmpeg}
-
- LIBAVCODEC_VERSION = (LIBAVCODEC_VERSION_MAJOR * VERSION_MAJOR) +
- (LIBAVCODEC_VERSION_MINOR * VERSION_MINOR) +
- (LIBAVCODEC_VERSION_RELEASE * VERSION_RELEASE);
-
- LIBAVFORMAT_VERSION = (LIBAVFORMAT_VERSION_MAJOR * VERSION_MAJOR) +
- (LIBAVFORMAT_VERSION_MINOR * VERSION_MINOR) +
- (LIBAVFORMAT_VERSION_RELEASE * VERSION_RELEASE);
-
- LIBAVUTIL_VERSION = (LIBAVUTIL_VERSION_MAJOR * VERSION_MAJOR) +
- (LIBAVUTIL_VERSION_MINOR * VERSION_MINOR) +
- (LIBAVUTIL_VERSION_RELEASE * VERSION_RELEASE);
-
- {$IFDEF HaveSWScale}
- LIBSWSCALE_VERSION = (LIBSWSCALE_VERSION_MAJOR * VERSION_MAJOR) +
- (LIBSWSCALE_VERSION_MINOR * VERSION_MINOR) +
- (LIBSWSCALE_VERSION_RELEASE * VERSION_RELEASE);
- {$ENDIF}
-
- {$ENDIF}
-
- {$IFDEF HaveProjectM}
- PROJECTM_VERSION = (PROJECTM_VERSION_MAJOR * VERSION_MAJOR) +
- (PROJECTM_VERSION_MINOR * VERSION_MINOR) +
- (PROJECTM_VERSION_RELEASE * VERSION_RELEASE);
- {$ENDIF}
-
- {$IFDEF HavePortaudio}
- PORTAUDIO_VERSION = (PORTAUDIO_VERSION_MAJOR * VERSION_MAJOR) +
- (PORTAUDIO_VERSION_MINOR * VERSION_MINOR) +
- (PORTAUDIO_VERSION_RELEASE * VERSION_RELEASE);
- {$ENDIF}
-
- {$IFDEF HaveLibsamplerate}
- LIBSAMPLERATE_VERSION = (LIBSAMPLERATE_VERSION_MAJOR * VERSION_MAJOR) +
- (LIBSAMPLERATE_VERSION_MINOR * VERSION_MINOR) +
- (LIBSAMPLERATE_VERSION_RELEASE * VERSION_RELEASE);
- {$ENDIF}
-
-function USDXVersionStr(): string;
-function USDXShortVersionStr(): string;
-
-implementation
-
-uses
- StrUtils, Math;
-
-function USDXShortVersionStr(): string;
-begin
- Result :=
- USDX_STRING +
- IfThen(USDX_VERSION_STATE <> '', ' '+USDX_VERSION_STATE);
-end;
-
-function USDXVersionStr(): string;
-begin
- Result :=
- USDX_STRING + ' V ' +
- IntToStr(USDX_VERSION_MAJOR) + '.' +
- IntToStr(USDX_VERSION_MINOR) + '.' +
- IntToStr(USDX_VERSION_RELEASE) +
- IfThen(USDX_VERSION_STATE <> '', ' '+USDX_VERSION_STATE) +
- ' Build';
-end;
-
-end.