summaryrefslogtreecommitdiffstats
path: root/src/base/cmd
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2022-07-04 16:02:44 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2022-07-04 16:02:44 +0200
commit163af36fee3bdc3fe0e8ce629cba333cb2cff199 (patch)
treec4004a295813151478fe8b36a41725457cc6ea17 /src/base/cmd
parent18634305282c81b0f4a08de4ebca6ccc95b11748 (diff)
parentc23cd0a7c5f4264b3209f127885b8d5432f2fd5a (diff)
downloadabc-163af36fee3bdc3fe0e8ce629cba333cb2cff199.tar.gz
abc-163af36fee3bdc3fe0e8ce629cba333cb2cff199.tar.bz2
abc-163af36fee3bdc3fe0e8ce629cba333cb2cff199.zip
Merge remote-tracking branch 'upstream/master' into yosys-experimental
Diffstat (limited to 'src/base/cmd')
-rw-r--r--src/base/cmd/cmd.c8
-rw-r--r--src/base/cmd/cmdLoad.c3
-rw-r--r--src/base/cmd/cmdUtils.c87
3 files changed, 92 insertions, 6 deletions
diff --git a/src/base/cmd/cmd.c b/src/base/cmd/cmd.c
index 259c9d78..98368ef8 100644
--- a/src/base/cmd/cmd.c
+++ b/src/base/cmd/cmd.c
@@ -1161,7 +1161,7 @@ int CmdCommandScanDir( Abc_Frame_t * pAbc, int argc, char **argv )
struct _finddata_t c_file;
char * pDirStr = NULL;
char* pDirCur = NULL;
- long hFile;
+ ABC_PTRINT_T hFile;
char c;
Extra_UtilGetoptReset();
@@ -1354,7 +1354,7 @@ void CnfDupFileUnzip( char * pOldName )
int CmdCommandRenameFiles( Abc_Frame_t * pAbc, int argc, char **argv )
{
struct _finddata_t c_file;
- long hFile;
+ ABC_PTRINT_T hFile;
char pNewName[1000];
char * pDirStr = NULL;
char * pDirCur = NULL;
@@ -1515,7 +1515,7 @@ usage:
int CmdCommandLs( Abc_Frame_t * pAbc, int argc, char **argv )
{
struct _finddata_t c_file;
- long hFile;
+ ABC_PTRINT_T hFile;
int fLong = 0;
int fOnlyBLIF = 0;
char Buffer[25];
@@ -1618,7 +1618,7 @@ usage:
int CmdCommandScrGen( Abc_Frame_t * pAbc, int argc, char **argv )
{
struct _finddata_t c_file;
- long hFile;
+ ABC_PTRINT_T hFile;
FILE * pFile = NULL;
char * pFileStr = "test.s";
char * pDirStr = NULL;
diff --git a/src/base/cmd/cmdLoad.c b/src/base/cmd/cmdLoad.c
index accd9440..bd511fec 100644
--- a/src/base/cmd/cmdLoad.c
+++ b/src/base/cmd/cmdLoad.c
@@ -114,7 +114,8 @@ Vec_Ptr_t * CmdCollectFileNames()
{
Vec_Ptr_t * vFileNames;
struct _finddata_t c_file;
- long hFile;
+ //long hFile;
+ ABC_PTRINT_T hFile;
if( (hFile = _findfirst( "*.exe", &c_file )) == -1L )
{
// Abc_Print( 0, "No files with extention \"%s\" in the current directory.\n", "exe" );
diff --git a/src/base/cmd/cmdUtils.c b/src/base/cmd/cmdUtils.c
index c10e9134..0759ca9c 100644
--- a/src/base/cmd/cmdUtils.c
+++ b/src/base/cmd/cmdUtils.c
@@ -20,6 +20,7 @@
#include "base/abc/abc.h"
#include "base/main/mainInt.h"
+#include "misc/util/utilSignal.h"
#include "cmdInt.h"
#include <ctype.h>
@@ -462,7 +463,7 @@ FILE * CmdFileOpen( Abc_Frame_t * pAbc, char *sFileName, char *sMode, char **pFi
else
{
// print the path/name of the resource file 'abc.rc' that is being loaded
- if ( !silent && strlen(sRealName) >= 6 && strcmp( sRealName + strlen(sRealName) - 6, "abc.rc" ) == 0 )
+ if ( !silent && strlen(sRealName) >= 6 && strcmp( sRealName + strlen(sRealName) - 6, "abc.rc" ) == 0 )
Abc_Print( 1, "Loading resource file \"%s\".\n", sRealName );
}
}
@@ -752,6 +753,90 @@ void CmdPrintTable( st__table * tTable, int fAliases )
ABC_FREE( ppNames );
}
+/**Function*************************************************************
+
+ Synopsis []
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+void Gia_ManKissatCall( Abc_Frame_t * pAbc, char * pFileName, char * pArgs, int nConfs, int nTimeLimit, int fSat, int fUnsat, int fPrintCex, int fVerbose )
+{
+ char Command[1000], Buffer[100];
+ char * pNameWin = "kissat.exe";
+ char * pNameUnix = "kissat";
+ char * pKissatName = NULL;
+ //FILE * pFile = NULL;
+
+ // get the names from the resource file
+ if ( Cmd_FlagReadByName(pAbc, "kissatwin") )
+ pNameWin = Cmd_FlagReadByName(pAbc, "kissatwin");
+ if ( Cmd_FlagReadByName(pAbc, "kissatunix") )
+ pNameUnix = Cmd_FlagReadByName(pAbc, "kissatunix");
+/*
+ // check if the binary is available
+ if ( (pFile = fopen( pNameWin, "r" )) )
+ pKissatName = pNameWin;
+ else if ( (pFile = fopen( pNameUnix, "r" )) )
+ pKissatName = pNameUnix;
+ else if ( pFile == NULL )
+ {
+ fprintf( stdout, "Cannot find Kissat binary \"%s\" or \"%s\" in the current directory.\n", pNameWin, pNameUnix );
+ return;
+ }
+ fclose( pFile );
+*/
+
+#ifdef _WIN32
+ pKissatName = pNameWin;
+#else
+ pKissatName = pNameUnix;
+#endif
+
+ sprintf( Command, "%s", pKissatName );
+ if ( pArgs )
+ {
+ strcat( Command, " " );
+ strcat( Command, pArgs );
+ }
+ if ( !pArgs || (strcmp(pArgs, "-h") && strcmp(pArgs, "--help")) )
+ {
+ if ( !fVerbose )
+ strcat( Command, " -q" );
+ if ( !fPrintCex )
+ strcat( Command, " -n" );
+ if ( fSat )
+ strcat( Command, " --sat" );
+ if ( fUnsat )
+ strcat( Command, " --unsat" );
+ if ( nConfs )
+ {
+ sprintf( Buffer, " --conflicts=%d", nConfs );
+ strcat( Command, Buffer );
+ }
+ if ( nTimeLimit )
+ {
+ sprintf( Buffer, " --time=%d", nTimeLimit );
+ strcat( Command, Buffer );
+ }
+ strcat( Command, " " );
+ strcat( Command, pFileName );
+ }
+ if ( fVerbose )
+ printf( "Running command: %s\n", Command );
+ if ( Util_SignalSystem( Command ) == -1 )
+ {
+ fprintf( stdout, "The following command has returned a strange exit status:\n" );
+ fprintf( stdout, "\"%s\"\n", Command );
+ }
+}
+
+
+
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
////////////////////////////////////////////////////////////////////////