source: sources/src/sc_ver.cc @ 38

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

Now detects if SystemCASS correctly handles runtime compilation with the current architecture. SystemCASS exits if runtime compilation is not supported. Use --nodynamiclink options if it exits. This may occur on 64 bits machines.

Usage help is more readable.

Code cleanup.

Add some code for the coming soon openMP feature.

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-2005 by all Contributors\n"
51    "                    ALL RIGHTS RESERVED";
52
53static
54const char systemc_version[] =
55    "SystemCASS alpha --- 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.