summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile34
-rw-r--r--kernel/posix_compatibility.cc134
-rw-r--r--kernel/posix_compatibility.h40
-rw-r--r--libs/minisat/System.cc6
-rw-r--r--libs/minisat/UPDATE.sh3
5 files changed, 15 insertions, 202 deletions
diff --git a/Makefile b/Makefile
index b7bf4485..73051e52 100644
--- a/Makefile
+++ b/Makefile
@@ -18,26 +18,15 @@ INSTALL_SUDO :=
OBJS =
GENFILES =
EXTRA_TARGETS =
-TARGETS =
+TARGETS = yosys yosys-config
all: top-all
-CXXFLAGS = -Wall -Wextra -ggdb -I"$(shell pwd)" -I${DESTDIR}/include -MD -D_YOSYS_ -fPIC -include kernel/posix_compatibility.h
-LDFLAGS = -L${DESTDIR}/lib
-LDLIBS = -lstdc++ -lreadline -lm -ldl
-
-ifeq (Darwin,$(findstring Darwin,$(shell uname)))
- # add macports include and library path to search directories, don't use '-rdynamic' and '-lrt':
- CXXFLAGS += -I/opt/local/include
- LDFLAGS += -L/opt/local/lib
- QMAKE = qmake
- SED = gsed
-else
- LDFLAGS += -rdynamic
- LDLIBS += -lrt
- QMAKE = qmake-qt4
- SED = sed
-endif
+CXXFLAGS = -Wall -Wextra -ggdb -I"$(shell pwd)" -MD -D_YOSYS_ -fPIC
+LDFLAGS = -rdynamic
+LDLIBS = -lstdc++ -lreadline -lm -ldl -lrt
+QMAKE = qmake-qt4
+SED = sed
YOSYS_VER := 0.2.0+
GIT_REV := $(shell git rev-parse --short HEAD || echo UNKOWN)
@@ -56,12 +45,12 @@ ABCPULL = 1
ifeq ($(CONFIG),clang-debug)
CXX = clang
-CXXFLAGS += -std=c++11 -O0 -Wall
+CXXFLAGS += -std=c++11 -Os
endif
ifeq ($(CONFIG),gcc-debug)
CXX = gcc
-CXXFLAGS += -std=gnu++0x -O0 -Wall
+CXXFLAGS += -std=gnu++0x -Os
endif
ifeq ($(CONFIG),release)
@@ -96,10 +85,7 @@ CXXFLAGS += $(patsubst %,-I$(VERIFIC_DIR)/%,$(VERIFIC_COMPONENTS)) -D'VERIFIC_DI
LDLIBS += $(patsubst %,$(VERIFIC_DIR)/%/*-linux.a,$(VERIFIC_COMPONENTS))
endif
-# Build yosys after abc (we need to access the the downloaded/installed header files and libraries when building yosys).
-TARGETS += yosys yosys-config
-
-OBJS += kernel/driver.o kernel/register.o kernel/rtlil.o kernel/log.o kernel/calc.o kernel/posix_compatibility.o
+OBJS += kernel/driver.o kernel/register.o kernel/rtlil.o kernel/log.o kernel/calc.o
OBJS += libs/bigint/BigIntegerAlgorithms.o libs/bigint/BigInteger.o libs/bigint/BigIntegerUtils.o
OBJS += libs/bigint/BigUnsigned.o libs/bigint/BigUnsignedInABase.o
@@ -135,7 +121,7 @@ yosys-config: yosys-config.in
yosys-svgviewer: libs/svgviewer/*.h libs/svgviewer/*.cpp
cd libs/svgviewer && $(QMAKE) && make
- cp `find libs/svgviewer -name svgviewer -type f` yosys-svgviewer
+ cp libs/svgviewer/svgviewer yosys-svgviewer
abc/abc-$(ABCREV):
ifneq ($(ABCREV),default)
diff --git a/kernel/posix_compatibility.cc b/kernel/posix_compatibility.cc
deleted file mode 100644
index d3fb0087..00000000
--- a/kernel/posix_compatibility.cc
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * yosys -- Yosys Open SYnthesis Suite
- *
- * Copyright (C) 2012 Clifford Wolf <clifford@clifford.at>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-/**
- * POSIX.2008 fake implementation for pre-POSIX.2008 systems. (OSX, BSD, MINGW, CYGWIN, older Linux &c.)
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#if !(_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L)
-typedef struct memstream {
- off_t pos;
- off_t size;
- char * buffer;
- char ** bufp;
- size_t * sizep;
- bool realloc;
-} memstream_t;
-
-static int memstream_read (void * cookie, char * buf, int size)
-{
- memstream_t * mem = (memstream_t *) cookie;
- off_t available = mem->size - mem->pos;
- if (available < 0)
- available = 0;
- if (size > available)
- size = available;
- memcpy(buf, mem->buffer + mem->pos, size);
- mem->pos += size;
- return size;
-}
-
-static int memstream_write (void * cookie, const char * buf, int size)
-{
- memstream_t * mem = (memstream_t *) cookie;
- off_t available = mem->size - mem->pos;
- if (size > available) {
- if (mem->realloc) {
- mem->buffer = (char *) realloc(mem->buffer, mem->pos + size + 1);
- memset(mem->buffer + mem->size, 0, mem->pos + size + 1 - mem->size);
- mem->size = mem->pos + size;
- if (mem->bufp)
- *(mem->bufp) = mem->buffer;
- if (mem->sizep)
- *(mem->sizep) = mem->size;
- } else {
- size = available;
- }
- }
- memcpy(mem->buffer + mem->pos, buf, sizeof(char) * size);
- mem->pos += size;
- return size;
-}
-
-static fpos_t memstream_seek (void * cookie, fpos_t offset, int whence)
-{
- memstream_t * mem = (memstream_t *) cookie;
- switch (whence) {
- case SEEK_SET:
- if (offset < 0)
- goto error_inval;
- mem->pos = offset;
- return 0;
- case SEEK_CUR:
- if (mem->pos + offset < 0)
- goto error_inval;
- mem->pos += offset;
- return 0;
- case SEEK_END:
- if (mem->size + offset < 0)
- goto error_inval;
- mem->pos = mem->size + offset;
- break;
- default:
- goto error_inval;
- }
- return mem->pos;
-error_inval:
- errno = EINVAL;
- return -1;
-}
-
-static int memstream_close (void * cookie)
-{
- memstream_t * mem = (memstream_t *) cookie;
- if (mem->bufp)
- *(mem->bufp) = mem->buffer;
- if (mem->sizep)
- *(mem->sizep) = mem->size;
- free(cookie);
- return 0;
-}
-
-FILE * fmemopen (void * buf, size_t size, const char * mode)
-{
- memstream_t * mem = (memstream_t *) malloc(sizeof(memstream_t));
- memset(mem, 0, sizeof(memstream_t));
- mem->size = size;
- mem->buffer = (char *) buf;
- (void) mode;
- return funopen(mem, memstream_read, memstream_write, memstream_seek, memstream_close);
-}
-
-FILE * open_memstream (char ** bufp, size_t * sizep)
-{
- memstream_t * mem = (memstream_t *) malloc(sizeof(memstream_t));
- memset(mem, 0, sizeof(memstream_t));
- mem->bufp = bufp;
- mem->sizep = sizep;
- mem->realloc = true;
- return funopen(mem, memstream_read, memstream_write, memstream_seek, memstream_close);
-}
-
-#endif
-
diff --git a/kernel/posix_compatibility.h b/kernel/posix_compatibility.h
deleted file mode 100644
index d6eaade0..00000000
--- a/kernel/posix_compatibility.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * yosys -- Yosys Open SYnthesis Suite
- *
- * Copyright (C) 2012 Clifford Wolf <clifford@clifford.at>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-#ifndef POSIX_COMPATIBILITY_H
-#define POSIX_COMPATIBILITY_H
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#if !(_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L)
-FILE * open_memstream (char ** bufp, size_t * sizep);
-FILE * fmemopen (void * buf, size_t size, const char * mode);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif
-
diff --git a/libs/minisat/System.cc b/libs/minisat/System.cc
index 59e65fb5..df4155af 100644
--- a/libs/minisat/System.cc
+++ b/libs/minisat/System.cc
@@ -79,7 +79,7 @@ double Minisat::memUsed() {
struct rusage ru;
getrusage(RUSAGE_SELF, &ru);
return (double)ru.ru_maxrss / 1024; }
-double Minisat::memUsedPeak(bool strictlyPeak) { (void) strictlyPeak; return memUsed(); }
+double Minisat::memUsedPeak(bool) { return memUsed(); }
#elif defined(__APPLE__)
@@ -89,11 +89,11 @@ double Minisat::memUsed() {
malloc_statistics_t t;
malloc_zone_statistics(NULL, &t);
return (double)t.max_size_in_use / (1024*1024); }
-double Minisat::memUsedPeak(bool strictlyPeak) { (void) strictlyPeak; return memUsed(); }
+double Minisat::memUsedPeak(bool) { return memUsed(); }
#else
double Minisat::memUsed() { return 0; }
-double Minisat::memUsedPeak(bool strictlyPeak) { (void) strictlyPeak; return 0; }
+double Minisat::memUsedPeak(bool) { return 0; }
#endif
diff --git a/libs/minisat/UPDATE.sh b/libs/minisat/UPDATE.sh
index 88fcf759..539ee23f 100644
--- a/libs/minisat/UPDATE.sh
+++ b/libs/minisat/UPDATE.sh
@@ -7,6 +7,7 @@ mv minisat_upstream/LICENSE minisat_upstream/minisat/*/*.{h,cc} .
rm -rf minisat_upstream
sed -i -e 's,^#include *"minisat/[^/]\+,#include "libs/minisat,' *.cc *.h
-sed -i -e 's/PRIi64/ & /' Options.h
+sed -i -e 's/Minisat::memUsedPeak()/Minisat::memUsedPeak(bool)/' System.cc
+sed -i -e 's/PRI[iu]64/ & /' Options.h Solver.cc
sed -i -e '1 i #define __STDC_LIMIT_MACROS' *.cc
sed -i -e '1 i #define __STDC_FORMAT_MACROS' *.cc