RE: Weak link
RE: Weak link
- Subject: RE: Weak link
- From: "Chen Wang" <email@hidden>
- Date: Wed, 24 Oct 2007 15:23:30 -0400
- Thread-topic: Weak link
Thanks to Chris.
>You shouldn't have to do quite so much work. As long as you have
>MACOSX_DEPLOYMENT_TARGET=10.2 you should be able to just use
GetEventMonitorTarget
>from the 10.3.9 or 10.4u SDK without re- declaring it. The header file
containing
>its declaration should already specify that it was introduced in 10.3,
and therefore
>automatically mark it as weakly-imported if you're targeting an earlier
operating
>system.
If I build the project with MaxOCX10.2.8.sdk, and assume that the
application will mainly run on 10.3.9 or 10.4.x, is it possible for the
application to automatically take advantage of 10.3.9 APIs by using weak
link?
>If you share your customized build settings with this list, we should
be able to
>ensure they're set correctly. You can copy and paste build settings
from the build
>settings outline into a text editor like the Mail message window (and
do the opposite
>as well).
Below is a copy of my project and target build settings (excuse me for
such a messive message dump).
Thanks,
Chen
************ Project Build Settings
******************************************
ARCHS = ppc
SDKROOT = /Developer/SDKs/MacOSX10.2.8.sdk
SYMROOT = build
OBJROOT = $(SYMROOT)
CONFIGURATION_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)
CONFIGURATION_TEMP_DIR = $(PROJECT_TEMP_DIR)/$(CONFIGURATION)
SHARED_PRECOMPS_DIR =
/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders
HEADER_SEARCH_PATHS =
USER_HEADER_SEARCH_PATHS =
LIBRARY_SEARCH_PATHS =
FRAMEWORK_SEARCH_PATHS =
REZ_SEARCH_PATHS =
ALWAYS_SEARCH_USER_PATHS = YES
VERSIONING_SYSTEM =
CURRENT_PROJECT_VERSION =
BUILD_VARIANTS = normal
DEBUG_INFORMATION_FORMAT = stabs
SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = NO
GENERATE_PROFILING_CODE = NO
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES
MACH_O_TYPE =
INIT_ROUTINE =
PREBINDING = NO
ZERO_LINK = NO
LINK_WITH_STANDARD_LIBRARIES = YES
KEEP_PRIVATE_EXTERNS = NO
EXPORTED_SYMBOLS_FILE =
UNEXPORTED_SYMBOLS_FILE =
SEPARATE_SYMBOL_EDIT = NO
BUNDLE_LOADER =
DYLIB_CURRENT_VERSION =
DYLIB_COMPATIBILITY_VERSION =
SECTORDER_FLAGS =
DEAD_CODE_STRIPPING = NO
PRESERVE_DEAD_CODE_INITS_AND_TERMS = NO
ONLY_LINK_ESSENTIAL_SYMBOLS = NO
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic
LINKER_DISPLAYS_MANGLED_NAMES = NO
LINKER_DISPLAYS_FILES_FOR_UNDEFINED_SYMBOLS = YES
WARNING_LDFLAGS =
OTHER_LDFLAGS =
GENERATE_MASTER_OBJECT_FILE = NO
PRELINK_LIBS =
PRELINK_FLAGS =
PRODUCT_NAME =
EXECUTABLE_PREFIX =
EXECUTABLE_EXTENSION =
WRAPPER_EXTENSION =
PRIVATE_HEADERS_FOLDER_PATH =
PUBLIC_HEADERS_FOLDER_PATH =
GENERATE_PKGINFO_FILE = NO
INFOPLIST_FILE =
INFOPLIST_PREPROCESS = NO
INFOPLIST_EXPAND_BUILD_SETTINGS = YES
INFOPLIST_PREFIX_HEADER =
INFOPLIST_PREPROCESSOR_DEFINITIONS =
INFOPLIST_OTHER_PREPROCESSOR_FLAGS =
COPYING_PRESERVES_HFS_DATA = NO
FRAMEWORK_VERSION = A
MACOSX_DEPLOYMENT_TARGET = 10.2
DEPLOYMENT_LOCATION = NO
DEPLOYMENT_POSTPROCESSING = NO
DSTROOT = /tmp/$(PROJECT_NAME).dst
INSTALL_PATH =
SKIP_INSTALL = NO
STRIP_INSTALLED_PRODUCT = YES
SEPARATE_STRIP = NO
STRIP_STYLE = all
STRIPFLAGS =
COPY_PHASE_STRIP = YES
INSTALL_OWNER = $(USER)
INSTALL_GROUP = $(GROUP)
INSTALL_MODE_FLAG = a-w,a+rX
ALTERNATE_PERMISSIONS_FILES =
ALTERNATE_OWNER = $(INSTALL_OWNER)
ALTERNATE_GROUP = $(INSTALL_GROUP)
ALTERNATE_MODE = $(INSTALL_MODE_FLAG)
TEST_HOST =
TEST_RIG =
GCC_INPUT_FILETYPE = automatic
GCC_C_LANGUAGE_STANDARD = compiler-default
GCC_CHAR_IS_UNSIGNED_CHAR = NO
GCC_ENABLE_ASM_KEYWORD = YES
GCC_ENABLE_TRIGRAPHS = NO
GCC_ENABLE_CPP_EXCEPTIONS = YES
GCC_ENABLE_CPP_RTTI = YES
GCC_ENABLE_OBJC_EXCEPTIONS = NO
GCC_NO_NIL_RECEIVERS = NO
GCC_ENABLE_PASCAL_STRINGS = YES
GCC_SHORT_ENUMS = NO
GCC_ONE_BYTE_BOOL = NO
GCC_ALTIVEC_EXTENSIONS = NO
GCC_CW_ASM_SYNTAX = YES
GCC_PREFIX_HEADER =
GCC_PRECOMPILE_PREFIX_HEADER = NO
GCC_INCREASE_PRECOMPILED_HEADER_SHARING = NO
OTHER_CFLAGS =
OTHER_CPLUSPLUSFLAGS = $(OTHER_CFLAGS)
GCC_USE_GCC3_PFE_SUPPORT = YES
GCC_PFE_FILE_C_DIALECTS =
GCC_GENERATE_DEBUGGING_SYMBOLS = YES
GCC_DEBUGGING_SYMBOLS = default
GCC_OPTIMIZATION_LEVEL = s
GCC_NO_COMMON_BLOCKS = NO
GCC_REUSE_STRINGS = YES
GCC_DYNAMIC_NO_PIC = NO
GCC_ENABLE_FIX_AND_CONTINUE = NO
GCC_FAST_OBJC_DISPATCH = NO
GCC_UNROLL_LOOPS = NO
GCC_FAST_MATH = NO
GCC_STRICT_ALIASING = NO
GCC_MODEL_TUNING = G4
GCC_MODEL_PPC64 = NO
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO
GCC_GENERATE_TEST_COVERAGE_FILES = NO
GCC_TREAT_WARNINGS_AS_ERRORS = NO
GCC_TREAT_NONCONFORMANT_CODE_ERRORS_AS_WARNINGS = NO
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO
GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO
GCC_WARN_MISSING_PARENTHESES = NO
GCC_WARN_CHECK_SWITCH_STATEMENTS = NO
GCC_WARN_UNUSED_FUNCTION = NO
GCC_WARN_UNUSED_LABEL = NO
GCC_WARN_UNUSED_PARAMETER = NO
GCC_WARN_UNUSED_VARIABLE = YES
GCC_WARN_UNUSED_VALUE = NO
GCC_WARN_UNINITIALIZED_AUTOS = NO
GCC_WARN_UNKNOWN_PRAGMAS = NO
GCC_WARN_INHIBIT_ALL_WARNINGS = NO
GCC_WARN_PEDANTIC = NO
GCC_WARN_SHADOW = NO
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO
GCC_WARN_SIGN_COMPARE = NO
WARNING_CFLAGS =
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES
GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES
GCC_PREPROCESSOR_DEFINITIONS =
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS =
************ Target Build Settings
******************************************
ARCHS = <Multiple values>
SDKROOT = /Developer/SDKs/MacOSX10.2.8.sdk
SYMROOT = build
OBJROOT = $(SYMROOT)
CONFIGURATION_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)
CONFIGURATION_TEMP_DIR = $(PROJECT_TEMP_DIR)/$(CONFIGURATION)
SHARED_PRECOMPS_DIR = $(CACHE_ROOT)/SharedPrecompiledHeaders
HEADER_SEARCH_PATHS =
USER_HEADER_SEARCH_PATHS =
LIBRARY_SEARCH_PATHS =
FRAMEWORK_SEARCH_PATHS =
REZ_SEARCH_PATHS =
ALWAYS_SEARCH_USER_PATHS = YES
VERSIONING_SYSTEM =
CURRENT_PROJECT_VERSION =
BUILD_VARIANTS = normal
DEBUG_INFORMATION_FORMAT = stabs
SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = NO
GENERATE_PROFILING_CODE = NO
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES
MACH_O_TYPE = mh_execute
INIT_ROUTINE =
PREBINDING = NO
ZERO_LINK = NO
LINK_WITH_STANDARD_LIBRARIES = YES
KEEP_PRIVATE_EXTERNS = NO
EXPORTED_SYMBOLS_FILE =
UNEXPORTED_SYMBOLS_FILE =
SEPARATE_SYMBOL_EDIT = NO
BUNDLE_LOADER =
DYLIB_CURRENT_VERSION =
DYLIB_COMPATIBILITY_VERSION =
SECTORDER_FLAGS =
DEAD_CODE_STRIPPING = NO
PRESERVE_DEAD_CODE_INITS_AND_TERMS = NO
ONLY_LINK_ESSENTIAL_SYMBOLS = NO
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic
LINKER_DISPLAYS_MANGLED_NAMES = NO
LINKER_DISPLAYS_FILES_FOR_UNDEFINED_SYMBOLS = YES
WARNING_LDFLAGS =
OTHER_LDFLAGS =
GENERATE_MASTER_OBJECT_FILE = NO
PRELINK_LIBS =
PRELINK_FLAGS =
PRODUCT_NAME = WeakLinkTest
EXECUTABLE_PREFIX =
EXECUTABLE_EXTENSION =
WRAPPER_EXTENSION = app
PRIVATE_HEADERS_FOLDER_PATH = $(CONTENTS_FOLDER_PATH)/PrivateHeaders
PUBLIC_HEADERS_FOLDER_PATH = $(CONTENTS_FOLDER_PATH)/Headers
GENERATE_PKGINFO_FILE = YES
INFOPLIST_FILE = Info.plist
INFOPLIST_PREPROCESS = NO
INFOPLIST_EXPAND_BUILD_SETTINGS = YES
INFOPLIST_PREFIX_HEADER =
INFOPLIST_PREPROCESSOR_DEFINITIONS =
INFOPLIST_OTHER_PREPROCESSOR_FLAGS =
COPYING_PRESERVES_HFS_DATA = NO
FRAMEWORK_VERSION = A
MACOSX_DEPLOYMENT_TARGET = 10.2
DEPLOYMENT_LOCATION = NO
DEPLOYMENT_POSTPROCESSING = NO
DSTROOT = /tmp/$(PROJECT_NAME).dst
INSTALL_PATH = "$(HOME)/Applications"
SKIP_INSTALL = NO
STRIP_INSTALLED_PRODUCT =
SEPARATE_STRIP = NO
STRIP_STYLE = all
STRIPFLAGS =
COPY_PHASE_STRIP = <Multiple values>
INSTALL_OWNER = $(USER)
INSTALL_GROUP = $(GROUP)
INSTALL_MODE_FLAG = a-w,a+rX
ALTERNATE_PERMISSIONS_FILES =
ALTERNATE_OWNER = $(INSTALL_OWNER)
ALTERNATE_GROUP = $(INSTALL_GROUP)
ALTERNATE_MODE = $(INSTALL_MODE_FLAG)
TEST_HOST =
TEST_RIG =
GCC_INPUT_FILETYPE = automatic
GCC_C_LANGUAGE_STANDARD = compiler-default
GCC_CHAR_IS_UNSIGNED_CHAR = NO
GCC_ENABLE_ASM_KEYWORD = YES
GCC_ENABLE_TRIGRAPHS = NO
GCC_ENABLE_CPP_EXCEPTIONS = YES
GCC_ENABLE_CPP_RTTI = YES
GCC_ENABLE_OBJC_EXCEPTIONS = NO
GCC_NO_NIL_RECEIVERS = NO
GCC_ENABLE_PASCAL_STRINGS = YES
GCC_SHORT_ENUMS = NO
GCC_ONE_BYTE_BOOL = NO
GCC_ALTIVEC_EXTENSIONS = NO
GCC_CW_ASM_SYNTAX = YES
GCC_PREFIX_HEADER = $(PREFIX_HEADER)
GCC_PRECOMPILE_PREFIX_HEADER = $(PRECOMPILE_PREFIX_HEADER)
GCC_INCREASE_PRECOMPILED_HEADER_SHARING = NO
OTHER_CFLAGS =
OTHER_CPLUSPLUSFLAGS = $(OTHER_CFLAGS)
GCC_USE_GCC3_PFE_SUPPORT = $(USE_GCC3_PFE_SUPPORT)
GCC_PFE_FILE_C_DIALECTS = c objective-c c++ objective-c++
GCC_GENERATE_DEBUGGING_SYMBOLS = <Multiple values>
GCC_DEBUGGING_SYMBOLS = default
GCC_OPTIMIZATION_LEVEL = <Multiple values>
GCC_NO_COMMON_BLOCKS = NO
GCC_REUSE_STRINGS = YES
GCC_DYNAMIC_NO_PIC = <Multiple values>
GCC_ENABLE_FIX_AND_CONTINUE = <Multiple values>
GCC_FAST_OBJC_DISPATCH = NO
GCC_UNROLL_LOOPS = NO
GCC_FAST_MATH = NO
GCC_STRICT_ALIASING = NO
GCC_MODEL_TUNING = G5
GCC_MODEL_PPC64 = NO
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO
GCC_GENERATE_TEST_COVERAGE_FILES = NO
GCC_TREAT_WARNINGS_AS_ERRORS = NO
GCC_TREAT_NONCONFORMANT_CODE_ERRORS_AS_WARNINGS = NO
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO
GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO
GCC_WARN_MISSING_PARENTHESES = NO
GCC_WARN_CHECK_SWITCH_STATEMENTS = NO
GCC_WARN_UNUSED_FUNCTION = NO
GCC_WARN_UNUSED_LABEL = NO
GCC_WARN_UNUSED_PARAMETER = NO
GCC_WARN_UNUSED_VARIABLE = YES
GCC_WARN_UNUSED_VALUE = NO
GCC_WARN_UNINITIALIZED_AUTOS = NO
GCC_WARN_UNKNOWN_PRAGMAS = NO
GCC_WARN_INHIBIT_ALL_WARNINGS = NO
GCC_WARN_PEDANTIC = NO
GCC_WARN_SHADOW = NO
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO
GCC_WARN_SIGN_COMPARE = NO
WARNING_CFLAGS =
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES
GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES
GCC_PREPROCESSOR_DEFINITIONS =
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS =
Confidentiality Notice: E-mail may be intercepted between the sender and the receiver and is therefore neither secure nor confidential. Your continued use of e-mail communication confirms that you accept this risk. If this is an urgent matter, please contact me at the phone number provided. This e-mail, including any attachments, is for the sole use of the intended recipient(s) and may contain private, confidential, and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient or this information has been inappropriately forwarded to you, please contact the sender by reply e-mail and destroy all copies of the original
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden