verilator/src/V3PreShell.h

48 lines
1.6 KiB
C
Raw Normal View History

// -*- C++ -*-
//*************************************************************************
// DESCRIPTION: Verilator: Preprocessing wrapper program
//
// Code available from: http://www.veripool.org/verilator
//
// AUTHORS: Wilson Snyder with Paul Wasson, Duane Gabli
//
//*************************************************************************
//
2011-01-01 23:21:19 +00:00
// Copyright 2004-2011 by Wilson Snyder. This program is free software; you can
// redistribute it and/or modify it under the terms of either the GNU
// Lesser General Public License Version 3 or the Perl Artistic License
// Version 2.0.
//
// Verilator 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.
//
//*************************************************************************
#ifndef _V3PRESHELL_H_
#define _V3PRESHELL_H_ 1
#include "config_build.h"
#include "verilatedos.h"
#include "V3Error.h"
class V3ParseImp;
class V3InFilter;
//============================================================================
class V3PreShell {
// Static class for calling preprocessor
public:
static void boot(char** env);
static bool preproc(FileLine* fileline, const string& module, V3InFilter* filterp,
V3ParseImp* parsep, const string& errmsg);
static void preprocInclude(FileLine* fileline, const string& module);
static string dependFiles() { return ""; } // Perl only
2009-12-21 03:26:48 +00:00
static void defineCmdLine(const string& name, const string& value);
static void undef(const string& name);
};
#endif // Guard