build-webkit always passes every ENABLE_FOO macro that it knows about through to xcodebuild. This leads to the default values in FeatureDefines.xcconfig being ignored. Since build-webkit is used solely by OpenSource-only builds this results in non-obvious problems:
1) Mismatched ENABLE_FOO settings across projects are not apparent.
2) Inconsistent default values between build-webkit and FeatureDefines.xcconfig results in world builds when switching between the different means of building.
build-webkit should only be passing ENABLE_FOO settings to xcodebuild if their values are explicitly being overridden.
The symptoms of 1) are particularly nasty: vtable layouts for classes can differ between projects, which at worst results in mysterious behavior but often simply results in a crash on launch.
I landed a change in r59181 that has build-webkit not pass ENABLE_FOO settings to xcodebuild if the value matches the default. This should help reveal both classes of issue.