Build bmalloc on Mac
Created attachment 228784 [details] Patch
Comment on attachment 228784 [details] Patch rs=me
Comment on attachment 228784 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=228784&action=review > Source/bmalloc/bmalloc.xcodeproj/project.pbxproj:346 > + ALWAYS_SEARCH_USER_PATHS = NO; > + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; > + CLANG_CXX_LIBRARY = "libc++"; > + CLANG_ENABLE_MODULES = YES; > + CLANG_ENABLE_OBJC_ARC = YES; > + CLANG_WARN_BOOL_CONVERSION = YES; > + CLANG_WARN_CONSTANT_CONVERSION = YES; This all should live in .xcconfig files and be consistent with our other projects.
Created attachment 228786 [details] Patch
Comment on attachment 228786 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=228786&action=review > Source/bmalloc/ChangeLog:22 > +2014-04-07 Geoffrey Garen <ggaren@apple.com> > + > + Build bmalloc on Mac > + https://bugs.webkit.org/show_bug.cgi?id=131333 > + > + Reviewed by NOBODY (OOPS!). > + > + * Makefile: Added. > + * bmalloc.xcodeproj/project.pbxproj: > + Too many ChangeLog entries. > Source/bmalloc/bmalloc.xcodeproj/project.pbxproj:366 > + MACOSX_DEPLOYMENT_TARGET = 10.9; This isn't right. > Source/bmalloc/bmalloc.xcodeproj/project.pbxproj:367 > + SDKROOT = macosx; For our other projects we build them against the internal SDK when it's available, and the public ones otherwise. > Source/bmalloc/bmalloc.xcodeproj/project.pbxproj:536 > defaultConfigurationName = Release; I think the default configuration of all of these targets needs to be Production, or it won't do the right thing for our production builds.
Created attachment 228797 [details] Patch
Created attachment 228798 [details] Patch
Comment on attachment 228798 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=228798&action=review It looks like you're missing the magic in the Xcode project itself that'll actually set the optimization level / debug defines to the right values between configurations: DEAD_CODE_STRIPPING = "$(DEAD_CODE_STRIPPING_debug)"; DEBUG_DEFINES = "$(DEBUG_DEFINES_debug)"; GCC_OPTIMIZATION_LEVEL = "$(GCC_OPTIMIZATION_LEVEL_debug)"; STRIP_INSTALLED_PRODUCT = "$(STRIP_INSTALLED_PRODUCT_debug)"; Those should be set in the Debug configuration at the project level. Take a look at WTF's for comparison. Other than that, things look good! > Source/bmalloc/Configurations/Base.xcconfig:88 > +HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(DSTROOT)/$(INSTALL_PATH_PREFIX)/usr/local/include icu $(HEADER_SEARCH_PATHS); I suspect you don't need these header search paths. > Source/bmalloc/Configurations/Base.xcconfig:94 > +JAVASCRIPTCORE_FRAMEWORKS_DIR = $(SYSTEM_LIBRARY_DIR)/Frameworks; Or this.
Created attachment 228804 [details] Patch
Committed r166910: <http://trac.webkit.org/changeset/166910>