Make 5.7 RelWithDebInfo build type define NDEBUG

Registered by George Ormond Lorch III on 2017-10-11

See https://jira.percona.com/browse/BLD-847
We need to make Percona Server 5.7 RelWithDebInfo define NDEBUG so that debug specific assertions/code are not compiled into the release build.

Analyzing a grep of NDEBUG in the codebase, here are the bits that are impacted :
- plugin/innodb_memcached uses NDEBUG (do we care?)
- storage/ndb uses NDEBUG (do we care?)
- storage/tokudb/PerconaFT can not build with NDEBUG defined and therefore intentionally UNDEFINES NDEBUG, and we can see in jenkins it builds and tests fine
- regex looks for NDEBUG but only if REDEBUG is not defined, seems OK
- extra/yassl uses NDEBUG, not sure if this is an opportunity for a runtime improvement?
- extra/protobuf uses NDEBUG, I don't know what protobuf is and if this is something that needs investigation
- ./plugin/tokudb-backup-plugin/Percona-TokuBackup uses NDEBUG a little, use is OK.

Discussion among the team and desk testing a prototype along with a preliminary Jenkins run reveals that this seems to be a fairly low risk change.

Blueprint information

Status:
Complete
Approver:
George Ormond Lorch III
Priority:
High
Drafter:
George Ormond Lorch III
Direction:
Approved
Assignee:
George Ormond Lorch III
Definition:
Approved
Series goal:
Accepted for 5.7
Implementation:
Implemented
Milestone target:
milestone icon 5.7.20-18
Started by
George Ormond Lorch III on 2017-10-11
Completed by
George Ormond Lorch III on 2017-10-13

Related branches

Sprints

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.