[webkit-dev] ENABLE define purging
Eric Seidel
eseidel at google.com
Thu Apr 28 01:21:39 PDT 2011
We have 127 ENABLE defines. As discussed in Maciej's "Saying No"
talk, we should make an effort to reduce that number so as to reduce
complexity in our build process and testing matrix.
% find Source -name "*.cpp" | xargs grep -r "#if ENABLE" -h | awk
'{print $2}' | sort | uniq
ENABLE(3D_RENDERING)
ENABLE(ACCELERATED_2D_CANVAS)
ENABLE(APPLICATION_CACHE_DYNAMIC_ENTRIES)
ENABLE(ASSEMBLER)
ENABLE(ASSEMBLER_WX_EXCLUSIVE)
ENABLE(BLOB)
ENABLE(CHANNEL_MESSAGING)
ENABLE(CLIENT_BASED_GEOLOCATION)
ENABLE(CODEBLOCK_SAMPLING)
ENABLE(COMPUTED_GOTO_INTERPRETER)
ENABLE(CONTEXT_MENUS)
ENABLE(Condition1)
ENABLE(DASHBOARD_SUPPORT)
ENABLE(DATABASE)
ENABLE(DATALIST)
ENABLE(DATA_TRANSFER_ITEMS)
ENABLE(DEBUG_MATH_LAYOUT)
ENABLE(DEBUG_WITH_BREAKPOINT)
ENABLE(DETAILS)
ENABLE(DEVICE_ORIENTATION)
ENABLE(DFG_JIT)
ENABLE(DFG_JIT_RESTRICTIONS)
ENABLE(DIRECTORY_UPLOAD)
ENABLE(DOM_STORAGE)
ENABLE(DRAG_SUPPORT)
ENABLE(EVENTSOURCE)
ENABLE(EXECUTABLE_ALLOCATOR_DEMAND)
ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
ENABLE(FAST_MALLOC_MATCH_VALIDATION)
ENABLE(FAST_MOBILE_SCROLLING)
ENABLE(FILE_SYSTEM)
ENABLE(FILTERS)
ENABLE(FTPDIR)
ENABLE(FULLSCREEN_API)
ENABLE(GEOLOCATION)
ENABLE(GESTURE_EVENTS)
ENABLE(GESTURE_RECOGNIZER)
ENABLE(GLIB_SUPPORT)
ENABLE(GLOBAL_FASTMALLOC_NEW)
ENABLE(ICONDATABASE)
ENABLE(IMAGE_DECODER_DOWN_SAMPLING)
ENABLE(IMAGE_RESIZER)
ENABLE(INDEXED_DATABASE)
ENABLE(INPUT_SPEECH)
ENABLE(INSPECTOR)
ENABLE(INTERPRETER)
ENABLE(JAVASCRIPT_DEBUGGER)
ENABLE(JAVASCRIPT_I18N_API)
ENABLE(JAVA_BRIDGE)
ENABLE(JIT)
ENABLE(JIT_OPTIMIZE_CALL)
ENABLE(JIT_OPTIMIZE_METHOD_CALLS)
ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
ENABLE(JIT_USE_SOFT_MODULO)
ENABLE(JSC_MULTIPLE_THREADS)
ENABLE(JSC_ZOMBIES)
ENABLE(LEVELDB)
ENABLE(LINK_PREFETCH)
ENABLE(MAC_JAVA_BRIDGE)
ENABLE(MATHML)
ENABLE(MEDIA_STATISTICS)
ENABLE(MEDIA_STREAM)
ENABLE(MEMORY_SAMPLER)
ENABLE(METER_TAG)
ENABLE(NETSCAPE_PLUGIN_API)
ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
ENABLE(NOTIFICATIONS)
ENABLE(NO_LISTBOX_RENDERING)
ENABLE(OFFLINE_WEB_APPLICATIONS)
ENABLE(ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL)
ENABLE(OPCODE_SAMPLING)
ENABLE(OPCODE_STATS)
ENABLE(OPENTYPE_SANITIZER)
ENABLE(ORIENTATION_EVENTS)
ENABLE(PAN_SCROLLING)
ENABLE(PARALLEL_JOBS)
ENABLE(PLUGIN_PACKAGE_SIMPLE_HASH)
ENABLE(PLUGIN_PROCESS)
ENABLE(PLUGIN_PROXY_FOR_VIDEO)
ENABLE(PROGRESS_TAG)
ENABLE(PURGEABLE_MEMORY)
ENABLE(QT_BEARER)
ENABLE(QT_USERAGENT_DEVICEMODEL)
ENABLE(QUOTA)
ENABLE(REGEXP_TRACING)
ENABLE(REGISTER_PROTOCOL_HANDLER)
ENABLE(REPAINT_THROTTLING)
ENABLE(REQUEST_ANIMATION_FRAME)
ENABLE(SAMPLING_COUNTERS)
ENABLE(SAMPLING_FLAGS)
ENABLE(SAMPLING_THREAD)
ENABLE(SHARED_WORKERS)
ENABLE(SINGLE_THREADED)
ENABLE(SKIA_TEXT)
ENABLE(SMOOTH_SCROLLING)
ENABLE(SPEECH_INPUT)
ENABLE(SPELLCHECK)
ENABLE(SVG)
ENABLE(SVG_ANIMATION)
ENABLE(SVG_AS_IMAGE)
ENABLE(SVG_FONTS)
ENABLE(SVG_FOREIGN_OBJECT)
ENABLE(SVG_USE)
ENABLE(SYMBIAN_DIALOG_PROVIDERS)
ENABLE(TEXT_CARET)
ENABLE(TILED_BACKING_STORE)
ENABLE(TOUCH_EVENTS)
ENABLE(VIDEO)
ENABLE(VIDEO_TRACK)
ENABLE(WBXML)
ENABLE(WCSS)
ENABLE(WEBGL)
ENABLE(WEB_ARCHIVE)
ENABLE(WEB_AUDIO)
ENABLE(WEB_PROCESS_SANDBOX)
ENABLE(WEB_SOCKETS)
ENABLE(WEB_TIMING)
ENABLE(WML)
ENABLE(WORKERS)
ENABLE(WTF_MULTIPLE_THREADS)
ENABLE(XHR_RESPONSE_BLOB)
ENABLE(XHTMLMP)
ENABLE(XPATH)
ENABLE(XSLT)
ENABLE(YARR_JIT)
ENABLE(YARR_JIT_DEBUG)
ENABLE_NOTIFICATIONS
It's unclear to me how many of these we can easily remove (or should remove?)
If anyone has suggestions, I have the beginning of a spreadsheet here:
https://spreadsheets.google.com/ccc?key=0AlC4tS7Ao1fIdHFVNUpFSDBudEF5WGM3WDNzQjI3Ync&hl=en&authkey=CJCDiooK
More information about the webkit-dev
mailing list