diff options
author | midipix <writeonce@midipix.org> | 2018-12-25 13:00:09 -0500 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2018-12-25 13:27:15 -0500 |
commit | b6fc94063f6933d42c08cfc329c91e4837dc2249 (patch) | |
tree | 975e70e91792069470e8c0fe5069b30b2830d7a0 /project/config | |
parent | 49db7eda7f0695f3aa5927d0b7965d20c73ef5e1 (diff) | |
download | sbpython3-b6fc94063f6933d42c08cfc329c91e4837dc2249.tar.bz2 sbpython3-b6fc94063f6933d42c08cfc329c91e4837dc2249.tar.xz |
project: custom config: support --with[out]-pycompile, --with[out]-pydebug.
Diffstat (limited to 'project/config')
-rw-r--r-- | project/config/cfgdefs.in | 3 | ||||
-rw-r--r-- | project/config/cfgdefs.sh | 47 |
2 files changed, 49 insertions, 1 deletions
diff --git a/project/config/cfgdefs.in b/project/config/cfgdefs.in index 2491c47..651a155 100644 --- a/project/config/cfgdefs.in +++ b/project/config/cfgdefs.in @@ -3,6 +3,7 @@ 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) PYTHON_SOEXT = .$(PYTHON_SOABI)$(OS_LIB_SUFFIX) 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 |