-
Notifications
You must be signed in to change notification settings - Fork 41
Closed
Milestone
Description
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
Type
Projects
Status
Done