summaryrefslogtreecommitdiff
path: root/project/config/cfgdefs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'project/config/cfgdefs.sh')
-rw-r--r--project/config/cfgdefs.sh47
1 files changed, 47 insertions, 0 deletions
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