aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-02-03 23:32:06 +0100
committervan Hauser <vh@thc.org>2020-02-03 23:32:06 +0100
commit7c506d2e9ea006d56967f99f8ed292d1a42dfe33 (patch)
treedc28026c2ac19be4e750171e63b529180822615f
parentb66543bb29d417d12ec39ed0692c71d2a4beeb40 (diff)
downloadafl++-7c506d2e9ea006d56967f99f8ed292d1a42dfe33.tar.gz
python fix
-rw-r--r--Makefile16
1 files changed, 12 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 13981a06..13be4ec9 100644
--- a/Makefile
+++ b/Makefile
@@ -66,17 +66,26 @@ AFL_FUZZ_FILES = $(wildcard src/afl-fuzz*.c)
ifneq "$(shell which python3m)" ""
ifneq "$(shell which python3m-config)" ""
PYTHON_INCLUDE ?= $(shell python3m-config --includes)
- # Sarting with python3.8, we need to pass the `embed` flag. Earier versions didn't know this flag.
- PYTHON_LIB ?= $(shell python3m-config --libs --embed 2>/dev/null || python3m-config --ldflags)
PYTHON_VERSION ?= $(strip $(shell python3m --version 2>&1))
+ # Starting with python3.8, we need to pass the `embed` flag. Earier versions didn't know this flag.
+ ifeq "$(shell python3m-config --embed --libs 2>/dev/null | grep -q lpython && echo 1 )" "1"
+ PYTHON_LIB ?= $(shell python3m-config --libs --embed)
+ else
+ PYTHON_LIB ?= $(shell python3m-config --ldflags)
+ endif
endif
endif
ifneq "$(shell which python3)" ""
ifneq "$(shell which python3-config)" ""
PYTHON_INCLUDE ?= $(shell python3-config --includes)
- PYTHON_LIB ?= $(shell python3-config --libs --embed 2>/dev/null || python3-config --ldflags)
PYTHON_VERSION ?= $(strip $(shell python3 --version 2>&1))
+ # Starting with python3.8, we need to pass the `embed` flag. Earier versions didn't know this flag.
+ ifeq "$(shell python3-config --embed --libs 2>/dev/null | grep -q lpython && echo 1 )" "1"
+ PYTHON_LIB ?= $(shell python3-config --libs --embed)
+ else
+ PYTHON_LIB ?= $(shell python3-config --ldflags)
+ endif
endif
endif
@@ -114,7 +123,6 @@ endif
COMM_HDR = include/alloc-inl.h include/config.h include/debug.h include/types.h
-
ifeq "$(shell echo '\#include <Python.h>@int main() {return 0; }' | tr @ '\n' | $(CC) -x c - -o .test $(PYTHON_INCLUDE) $(LDFLAGS) $(PYTHON_LIB) 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1"
PYTHON_OK=1
PYFLAGS=-DUSE_PYTHON $(PYTHON_INCLUDE) $(LDFLAGS) $(PYTHON_LIB) -DPYTHON_VERSION="\"$(PYTHON_VERSION)\""