pjs/camino/config/PrefPane.xcconfig

49 строки
2.4 KiB
Plaintext

WRAPPER_EXTENSION = prefPane
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"
GCC_PREFIX_HEADER = src/includes/ChimeraPrefix.h
GCC_ENABLE_CPP_EXCEPTIONS = NO
GCC_ENABLE_CPP_RTTI = NO
// Needed because some preference panes still use libxpcom_core.dylib and
// related headers as an internal Mozilla user.
GCC_PREPROCESSOR_DEFINITIONS = OSTYPE=Darwin1.4 OSARCH=Darwin MOZILLA_INTERNAL_API=1
OTHER_CFLAGS = -fshort-wchar
GCC_TREAT_WARNINGS_AS_ERRORS = YES
GCC_WARN_SIGN_COMPARE = YES
WARNING_CFLAGS = -Wall -Wno-four-char-constants
OTHER_CPLUSPLUSFLAGS = $(OTHER_CPLUSPLUSFLAGS) -Wno-non-virtual-dtor
CONFIGURATION_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)/Camino.app/Contents/PreferencePanes
BUNDLE_LOADER = $(BUILD_DIR)/$(CONFIGURATION)/Camino.app/Contents/MacOS/Camino
OTHER_LDFLAGS = -Wl,-executable_path,$(BUILD_DIR)/$(CONFIGURATION)/Camino.app/Contents/MacOS
// -bundle_loader and -dead_strip interact poorly with one another in the Xcode
// 2.5 cctools, causing pref pane linking to fail with:
// ld: warning internal error: output_flush(offset = w, size = x) overlaps with flushed block(offset = y, size = z)
// This is not a problem in Xcode 3.0. This can be removed once Xcode 3.0 is
// the minimum build requirement.
DEAD_CODE_STRIPPING = NO
// Xcode 2.x ld creates huge __LINKEDIT segments when linking preference pane
// bundles against a static Camino. The segments seem to contain entries for
// each symbol in the main executable, resulting in 1MB-large executable files
// for a single architecture, even without any debugging symbols. Our
// preference panes are normally closer to 50kB.
// Use strip -X to bring these __LINKEDIT segments back under control. -X is
// intended to strip local symbols beginning with 'L'. Since ld does this by
// default anyway, this operation is a no-op as far as any symbols we care
// about go. This leaves other global, local, and debugging symbols intact.
// strip will rewrite the image with a much more reasonable __LINKEDIT segment.
// This is not a problem in Xcode 3.0. This can be removed once Xcode 3.0 is
// the minimum build requirement.
DEPLOYMENT_POSTPROCESSING = YES
STRIP_INSTALLED_PRODUCT = YES
SEPARATE_STRIP = YES
STRIPFLAGS = -X
STRIP_STYLE = none // Anything other than a recognized value (all, non-global,
// debugging) causes Xcode to not pass any flags to strip
// on its own. The only flags passed will be STRIPFLAGS.