aboutsummaryrefslogtreecommitdiffstats
path: root/icetime
diff options
context:
space:
mode:
authorSebastian Bøe <sebastianbooe@gmail.com>2016-01-23 12:25:59 +0100
committerSebastian Bøe <sebastianbooe@gmail.com>2016-01-23 12:25:59 +0100
commitf22f94619cad9db5757320f731becf0a988998d6 (patch)
tree43b7bb13bd67ddc33638426e8c7637805d276399 /icetime
parent7a1e662a3f676f408f79127459be95b37e959f47 (diff)
downloadicestorm-f22f94619cad9db5757320f731becf0a988998d6.tar.gz
icestorm-f22f94619cad9db5757320f731becf0a988998d6.tar.bz2
icestorm-f22f94619cad9db5757320f731becf0a988998d6.zip
icetime: fixed chipdb path issue for Arch Linux
Icetime was hardcoding the path to chipdb as /usr/local/share causing icetime to not find the chip db on Arch Linux where the prefix is just /usr/share. With this commit the PREFIX is passed as a preprocessor define and used in icetime.cc to create the correct path. I don't know what the canonical way of dealing with this is, but this was the least intrusive way I could think of to get this fixed.
Diffstat (limited to 'icetime')
-rw-r--r--icetime/Makefile2
-rw-r--r--icetime/icetime.cc5
2 files changed, 5 insertions, 2 deletions
diff --git a/icetime/Makefile b/icetime/Makefile
index d2daee3..de3b44b 100644
--- a/icetime/Makefile
+++ b/icetime/Makefile
@@ -1,6 +1,6 @@
include ../config.mk
LDLIBS = -lm -lstdc++
-CXXFLAGS = -MD -O0 -ggdb -Wall -std=c++11 -I/usr/local/include
+CXXFLAGS = -MD -O0 -ggdb -Wall -std=c++11 -I/usr/local/include -DPREFIX=$(PREFIX)
all: icetime
diff --git a/icetime/icetime.cc b/icetime/icetime.cc
index 0676a8b..e9bfc55 100644
--- a/icetime/icetime.cc
+++ b/icetime/icetime.cc
@@ -31,6 +31,9 @@
// add this number of ns as estimate for clock distribution mismatch
#define GLOBAL_CLK_DIST_JITTER 0.1
+#define STRINGIFY(x) #x
+#define TOSTRING(x) STRINGIFY(x)
+
FILE *fin = nullptr, *fout = nullptr, *frpt = nullptr;
bool verbose = false;
bool max_span_hack = false;
@@ -265,7 +268,7 @@ void read_config()
void read_chipdb()
{
char buffer[1024];
- snprintf(buffer, 1024, "/usr/local/share/icebox/chipdb-%s.txt", config_device.c_str());
+ snprintf(buffer, 1024, TOSTRING(PREFIX) "/share/icebox/chipdb-%s.txt", config_device.c_str());
FILE *fdb = fopen(buffer, "r");
if (fdb == nullptr) {