<!-- Kamailio Pull Request Template -->

<!--
IMPORTANT:
  - for detailed contributing guidelines, read:
    https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
  - pull requests must be done to master branch, unless they are backports
    of fixes from master branch to a stable branch
  - backports to stable branches must be done with 'git cherry-pick -x 
...'
  - code is contributed under BSD for core and main components (tm, sl, auth, 
tls)
  - code is contributed GPLv2 or a compatible license for the other components
  - GPL code is contributed with OpenSSL licensing exception
-->

#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the 
checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING 
guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on 
sr-dev mailing list -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] Commits are split per component (core, individual modules, libs, utils, 
...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [ ] No commits to README files for modules (changes must be done to docbook 
files
in `doc/` subfolder, the README file is autogenerated)

#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)

#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the 
checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)

#### Description
<!-- Describe your changes in detail -->
Include the nessecary headers so that the preprocessor definitions regarding 
memory debug are available when printing the list of compiled options.

`DBG_[Q|F|TLSF]_MALLOC` are all defined in the respective headers when 
`DBG_SR_MEMORY` is defined 
(https://github.com/kamailio/kamailio/blob/1b4da61baa592a306235cb838e1082fd31f4ec46/src/core/mem/tlsf_malloc.h#L24-L26)
 but `ver_defs.h` does not see it due to missing headers.

Therefore `kamailio -I` will not print them when `DBG_SR_MEMORY` is defined. 
(If it's provided by the user as a definition it will show up ofc but we 
still miss the information if not).

Before patch and only `DBG_SR_MEMORY` provided:
```
sbin/kamailio -I 

Print out of kamailio internals
  Version: kamailio 6.1.0-dev1 (x86_64/Linux) 17d577-dirty
  Default config: 
/home/xenofon/kamailio-installs/permissions_group/etc/kamailio/kamailio.cfg
  Default paths to modules: 
/home/xenofon/kamailio-installs/permissions_group/lib/kamailio/modules
  Default path to runtime dir: /run/kamailio
  Compile flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, 
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, 
F_MALLOC, TLSF_MALLOC, 
**DBG_SR_MEMORY**
, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, 
USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
```
After patch and only `DBG_SR_MEMORY` provided:
```
sbin/kamailio -I        

Print out of kamailio internals
  Version: kamailio 6.1.0-dev1 (x86_64/Linux) ae8fcb-dirty
  Default config: 
/home/xenofon/kamailio-installs/http_client_leak/etc/kamailio/kamailio.cfg
  Default paths to modules: 
/home/xenofon/kamailio-installs/http_client_leak/lib/kamailio/modules
  Default path to runtime dir: /run/kamailio
  Compile flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, 
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, DBG_SYS_MEMORY, Q_MALLOC, 
F_MALLOC, TLSF_MALLOC, 
**DBG_SR_MEMORY, DBG_QM_MALLOC, DBG_F_MALLOC, DBG_TLSF_MALLOC**,
 FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, 
USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
```
---

Also added the `EXTRA_DEFS` cmake cache variable that one can provide for yet 
to be defined as an option in the cmake for a convenience.
You can view, comment on, or merge this pull request online at:

  https://github.com/kamailio/kamailio/pull/4310

-- Commit Summary --

  * core: Include memcore so that defintions of can be added to compile flags
  * cmake: Update and add options

-- File Changes --

    M cmake/defs.cmake (42)
    M src/core/mem/f_malloc.h (2)
    M src/core/mem/memcore.h (3)
    M src/core/mem/q_malloc.h (2)
    M src/core/ver.c (1)

-- Patch Links --

https://github.com/kamailio/kamailio/pull/4310.patch
https://github.com/kamailio/kamailio/pull/4310.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4310
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/pull/4...@github.com>
_______________________________________________
Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to