summaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2018-12-25 13:00:09 -0500
committermidipix <writeonce@midipix.org>2018-12-25 13:28:11 -0500
commit1489635e20f35236840fb3701dc74de718bd12ce (patch)
tree4648c93aa0be679c5c264665f5c12298d75a8021 /project
parent9824cf521aebb6537e1ea1e2d94878fe70454e95 (diff)
downloadsbpython2-1489635e20f35236840fb3701dc74de718bd12ce.tar.bz2
sbpython2-1489635e20f35236840fb3701dc74de718bd12ce.tar.xz
project: custom config: support --with[out]-pycompile, --with[out]-pydebug.
Diffstat (limited to 'project')
-rw-r--r--project/config/cfgdefs.in3
-rw-r--r--project/config/cfgdefs.sh47
-rw-r--r--project/extras.mk1
-rw-r--r--project/pycompile.mk1
4 files changed, 51 insertions, 1 deletions
diff --git a/project/config/cfgdefs.in b/project/config/cfgdefs.in
index fa42373..7239352 100644
--- a/project/config/cfgdefs.in
+++ b/project/config/cfgdefs.in
@@ -3,5 +3,6 @@ PYTHON_VER = @python_ver@
PYTHON_MAJOR = @python_major@
PYTHON_MINOR = @python_minor@
PYTHON_MICRO = @python_micro@
-PYTHON_SOABI = cpython-$(PYTHON_MAJOR)$(PYTHON_MINOR)-$(CCHOST)
+PYTHON_ABIFL = @python_abifl@
+PYTHON_SOABI = cpython-$(PYTHON_MAJOR)$(PYTHON_MINOR)$(PYTHON_ABIFL)-$(CCHOST)
diff --git a/project/config/cfgdefs.sh b/project/config/cfgdefs.sh
index cde8eb6..ecb0625 100644
--- a/project/config/cfgdefs.sh
+++ b/project/config/cfgdefs.sh
@@ -19,8 +19,23 @@
. "$mb_project_dir/sofort/cfgtest/cfgtest.sh"
+pycfg_pydebug=
+pycfg_pymalloc=
+
for arg ; do
case "$arg" in
+ --with-pydebug )
+ pycfg_pydebug='d' ;;
+
+ --without-pydebug )
+ pycfg_pydebug= ;;
+
+ --with-pymalloc )
+ pycfg_pymalloc='m' ;;
+
+ --without-pymalloc )
+ pycfg_pymalloc= ;;
+
*)
error_msg ${arg#}: "unsupported config argument."
exit 2
@@ -64,6 +79,24 @@ cfgdefs_detect_python_version()
}
+cfgdefs_set_option_variables()
+{
+ python_abifl=$pycfg_pydebug$pycfg_pymalloc
+}
+
+
+cfgdefs_output_options()
+{
+ if [ -n "$pycfg_pydebug" ]; then
+ cfgtest_cflags_append '-DPy_DEBUG'
+ fi
+
+ if [ -n "$pycfg_pymalloc" ]; then
+ cfgtest_cflags_append '-DWITH_PYMALLOC'
+ fi
+}
+
+
cfgdefs_output_custom_defs()
{
sed \
@@ -71,6 +104,7 @@ cfgdefs_output_custom_defs()
-e 's/@python_major@/'"$python_major"'/g' \
-e 's/@python_minor@/'"$python_minor"'/g' \
-e 's/@python_micro@/'"$python_micro"'/g' \
+ -e 's/@python_abifl@/'"$python_abifl"'/g' \
"$mb_project_dir/project/config/cfgdefs.in" \
>> "$mb_pwd/cfgdefs.mk"
}
@@ -377,6 +411,11 @@ cfgdefs_perform_target_tests()
[ $python_major = '3' ] && \
cfgtest_makevar_append '-Wl,--as-needed -llzma -Wl,--no-as-needed'
+ # options
+ cfgtest_newline
+ cfgtest_comment 'target options'
+ cfgdefs_output_options
+
# pretty cfgdefs.mk
cfgtest_newline
}
@@ -393,6 +432,11 @@ cfgdefs_perform_native_tests()
# ncurses libs
cfgtest_ldflags_append $mb_ncurses_libs
+ # options
+ cfgtest_newline
+ cfgtest_comment '(native) pycompile options'
+ cfgdefs_output_options
+
# pretty cfgdefs.mk
cfgtest_newline
}
@@ -404,6 +448,9 @@ cfgdefs_set_cfghost_flavors
# python version info
cfgdefs_detect_python_version
+# python-specific configuration
+cfgdefs_set_option_variables
+
# cfgdefs.in --> cfgdefs.mk
cfgdefs_output_custom_defs
diff --git a/project/extras.mk b/project/extras.mk
index e3a161d..19242da 100644
--- a/project/extras.mk
+++ b/project/extras.mk
@@ -8,6 +8,7 @@ CFLAGS_CONFIG += -DPREFIX=\"$(PREFIX)\"
CFLAGS_CONFIG += -DEXEC_PREFIX=\"$(EXEC_PREFIX)\"
CFLAGS_CONFIG += -DVPATH=\"$(SOURCE_DIR)\"
CFLAGS_CONFIG += -DPYTHONPATH=\"$(PYTHON_PATH)\"
+CFLAGS_CONFIG += -DABIFLAGS=\"$(PYTHON_ABIFL)\"
LDFLAGS_DEPS += -Wl,--as-needed
LDFLAGS_DEPS += -lm -lpthread -lutil -ldl -lcrypt
diff --git a/project/pycompile.mk b/project/pycompile.mk
index c1b59d2..7ec7664 100644
--- a/project/pycompile.mk
+++ b/project/pycompile.mk
@@ -21,6 +21,7 @@ PYCOMPILE_CFLAGS += -DPLATFORM=\"$(NATIVE_OS)\"
PYCOMPILE_CFLAGS += -DPREFIX=\"$(PYCOMPILE_PREFIX)\"
PYCOMPILE_CFLAGS += -DEXEC_PREFIX=\"$(PYCOMPILE_PREFIX)\"
PYCOMPILE_CFLAGS += -DPYTHONPATH=\"$(PYCOMPILE_PATH)\"
+PYCOMPILE_CFLAGS += -DABIFLAGS=\"$(PYTHON_ABIFL)\"
PYCOMPILE_CFLAGS += $(NATIVE_CC_CFLAGS)
PYCOMPILE_LDFLAGS += -lreadline -lm -lutil -lpthread