source: sources/src/sc_ver.cc @ 40

Last change on this file since 40 was 40, checked in by buchmann, 15 years ago

now use autoconf/automake variables (PACKAGE_STRING)

File size: 3.8 KB
Line 
1/*------------------------------------------------------------\
2|                                                             |
3| Tool    :                  systemcass                       |
4|                                                             |
5| File    :                 sc_ver.cc                         |
6|                                                             |
7| Author  :                 Taktak Sami                       |
8|                           Buchmann Richard                  |
9|                                                             |
10| Date    :                   09_07_2004                      |
11|                                                             |
12\------------------------------------------------------------*/
13
14/*
15 * This file is part of the Disydent Project
16 * Copyright (C) Laboratoire LIP6 - Département ASIM
17 * Universite Pierre et Marie Curie
18 *
19 * Home page          : http://www-asim.lip6.fr/disydent
20 * E-mail             : mailto:richard.buchmann@lip6.fr
21 *
22 * This library is free software; you  can redistribute it and/or modify it
23 * under the terms  of the GNU Library General Public  License as published
24 * by the Free Software Foundation; either version 2 of the License, or (at
25 * your option) any later version.
26 *
27 * Disydent is distributed  in the hope  that it  will be
28 * useful, but WITHOUT  ANY WARRANTY; without even the  implied warranty of
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
30 * Public License for more details.
31 *
32 * You should have received a copy  of the GNU General Public License along
33 * with the GNU C Library; see the  file COPYING. If not, write to the Free
34 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
35 */
36
37#include "sc_ver.h"
38#include <iostream>
39#include <cstring> //strcmp
40#include <cstdlib> //exit
41
42#ifdef HAVE_CONFIG_H
43#include "config.h"
44#endif
45
46namespace sc_core {
47
48static
49const char copyright[] =
50    "        Copyright (c) 2003-2009 by all Contributors\n"
51    "                    ALL RIGHTS RESERVED";
52
53static
54const char systemc_version[] =
55    PACKAGE_STRING " --- Compilation date : " __DATE__ " " __TIME__;
56
57static 
58const char splash_screen[] =
59        " ____            _                  ____    _    ____ ____  \n"
60        "/ ___| _   _ ___| |_ ___ _ __ ___  / ___|  / \\  / ___/ ___| \n"
61        "\\___ \\| | | / __| __/ _ \\ '_ ` _ \\| |     / _ \\ \\___ \\___ \\ \n"
62        " ___) | |_| \\__ \\ ||  __/ | | | | | |___ / ___ \\ ___) |__) |\n"
63        "|____/ \\__, |___/\\__\\___|_| |_| |_|\\____/_/   \\_\\____/____/ \n"
64        "       |___/                                                \n"
65        "\n"
66        "         Cycle Accurate System Simulator\n"
67#ifdef CONFIG_DEBUG
68  "            DEBUG version\n"
69#endif
70#ifdef USE_PORT_DEPENDENCY
71  "            using explicit port dependancy\n"
72#endif
73        "            ASIM/LIP6/UPMC\n"
74        "            E-mail support:  Richard.Buchmann@asim.lip6.fr\n"
75        "            Contributors : Richard Buchmann, Sami Taktak,\n"
76  "                           Paul-Jerome Kingbo, Frederic Pétrot,\n"
77  "                           Nicolas Pouillon\n"
78        "\n"
79        "                           Last change : " __DATE__ "\n"
80        "\n";
81
82const char*
83sc_copyright()
84{
85    return copyright;
86}
87
88const char*
89sc_version()
90{
91    return systemc_version;
92}
93
94const char*
95get_splash_screen()
96{
97    return splash_screen;
98}
99
100} // end of sc_core namespace
101
102bool
103casc_check_version (const char *runtime_ver)
104{
105  const char *lib_version = SYSTEMC_VERSION;
106  bool right_version =  strcmp (runtime_ver, lib_version) == 0;
107  if (right_version == false)
108  {
109    std::cerr << "Current SystemCASS library version doesn't match.\n";
110    std::cerr << "SystemCASS linked library is : " << lib_version << "\n";
111    std::cerr << "SystemCASS environnement variable points to : " << runtime_ver << "\n";
112    exit(125);
113  }
114 
115  return true;
116}
117
Note: See TracBrowser for help on using the repository browser.