diff options
-rw-r--r-- | Makefile | 34 | ||||
-rw-r--r-- | kernel/posix_compatibility.cc | 134 | ||||
-rw-r--r-- | kernel/posix_compatibility.h | 40 | ||||
-rw-r--r-- | libs/minisat/System.cc | 6 | ||||
-rw-r--r-- | libs/minisat/UPDATE.sh | 3 |
5 files changed, 15 insertions, 202 deletions
@@ -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 d3fb00873..000000000 --- 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 d6eaade05..000000000 --- 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 59e65fb56..df4155af3 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 88fcf759a..539ee23f8 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 |