Skip to content

Add non-release builds #284

@wesgarland

Description

@wesgarland

Describe your feature request here.

Our build system is hard-coded for Release builds right now.

I added a hook in the cmake so I could override cxx flags via the environment, but this really isn't enough. We should be producing at least two, and ideally four, kinds of builds with our build system

Release

  • Symbols Stripped
  • Annotations for tools like Breakpad if possible
  • Maximum Compiler Optimization (eg -Ofast)
  • Assertions disabled

DRelease

  • Same as Release
  • Except symbols not stripped

Debug

  • No optimizations that affect debugging (eg -O0)
  • Assertions enabled

Profile

  • Same as Debug
  • except profiling enabled (eg -pg)

We should also

  • have the ability to modify flags for the build steps from the environment
  • flags for compiling and linking should be different (eg CXXFLAGS vs LDFLAGS)
  • have a C preprocessor symbol which tells us the build type

warning warning warning - older version of SpiderMonkey had different-sized classes based on build type, and I wouldn't be surprised if current versions do. I suggest keeping our build type completely separate from Spidermonkey's.

Code example

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions