/** MacOSX Package Types.xcspec Copyright (c) 1999-2015 Apple Inc. All rights reserved. Package type specifications in the Mac OS X platform. */ ( // Mach-O executable { Type = PackageType; Identifier = com.apple.package-type.mach-o-executable; Name = "Mach-O Executable"; Description = "Mach-O executable"; DefaultBuildSettings = { EXECUTABLE_PREFIX = ""; EXECUTABLE_SUFFIX = ""; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; }; ProductReference = { FileType = compiled.mach-o.executable; Name = "$(EXECUTABLE_NAME)"; IsLaunchable = YES; }; }, // Mach-O object file { Type = PackageType; Identifier = com.apple.package-type.mach-o-objfile; Name = "Mach-O Object File"; Description = "Mach-O Object File"; DefaultBuildSettings = { EXECUTABLE_PREFIX = ""; EXECUTABLE_SUFFIX = ""; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; }; ProductReference = { FileType = compiled.mach-o.objfile; Name = "$(EXECUTABLE_NAME)"; IsLaunchable = NO; }; }, // Mach-O dynamic library { Type = PackageType; Identifier = com.apple.package-type.mach-o-dylib; Name = "Mach-O Dynamic Library"; Description = "Mach-O dynamic library"; DefaultBuildSettings = { EXECUTABLE_PREFIX = ""; EXECUTABLE_SUFFIX = ""; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; }; ProductReference = { FileType = compiled.mach-o.dylib; Name = "$(EXECUTABLE_NAME)"; IsLaunchable = NO; }; }, // Static library ('ar' archive containing .o files) { Type = PackageType; Identifier = com.apple.package-type.static-library; Name = "Mach-O Static Library"; Description = "Mach-O static library"; DefaultBuildSettings = { EXECUTABLE_PREFIX = "lib"; EXECUTABLE_SUFFIX = ".a"; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; }; ProductReference = { FileType = archive.ar; Name = "$(EXECUTABLE_NAME)"; IsLaunchable = NO; }; }, // Mach-O bundle (not related to a CFBundle) { Type = PackageType; Identifier = com.apple.package-type.mach-o-bundle; Name = "Mach-O Loadable"; Description = "Mach-O loadable"; DefaultBuildSettings = { EXECUTABLE_PREFIX = ""; EXECUTABLE_SUFFIX = ".dylib"; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; }; ProductReference = { FileType = compiled.mach-o.bundle; Name = "$(EXECUTABLE_NAME)"; IsLaunchable = NO; }; }, // CFBundle wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper; Name = "Wrapper"; Description = "Wrapper"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "BNDL"; WRAPPER_PREFIX = ""; WRAPPER_SUFFIX = ".bundle"; WRAPPER_NAME = "$(WRAPPER_PREFIX)$(PRODUCT_NAME)$(WRAPPER_SUFFIX)"; CONTENTS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH_SHALLOW_BUNDLE_$(SHALLOW_BUNDLE))"; EXECUTABLE_PREFIX = ""; EXECUTABLE_SUFFIX = ""; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_FOLDER_PATH = "$(EXECUTABLE_FOLDER_PATH_SHALLOW_BUNDLE_$(SHALLOW_BUNDLE))"; EXECUTABLE_PATH = "$(EXECUTABLE_FOLDER_PATH)/$(EXECUTABLE_NAME)"; INFOPLIST_PATH = "$(CONTENTS_FOLDER_PATH)/Info.plist"; INFOSTRINGS_PATH = "$(LOCALIZED_RESOURCES_FOLDER_PATH)/InfoPlist.strings"; PKGINFO_PATH = "$(CONTENTS_FOLDER_PATH)/PkgInfo"; PBDEVELOPMENTPLIST_PATH = "$(CONTENTS_FOLDER_PATH)/pbdevelopment.plist"; VERSIONPLIST_PATH = "$(CONTENTS_FOLDER_PATH)/version.plist"; PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Headers"; PRIVATE_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/PrivateHeaders"; EXECUTABLES_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Executables"; // Not the same as EXECUTABLE_FOLDER_PATH FRAMEWORKS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Frameworks"; SHARED_FRAMEWORKS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/SharedFrameworks"; SHARED_SUPPORT_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/SharedSupport"; UNLOCALIZED_RESOURCES_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH_SHALLOW_BUNDLE_$(SHALLOW_BUNDLE))"; LOCALIZED_RESOURCES_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/$(DEVELOPMENT_LANGUAGE).lproj"; DOCUMENTATION_FOLDER_PATH = "$(LOCALIZED_RESOURCES_FOLDER_PATH)/Documentation"; MODULES_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Modules"; PLUGINS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/PlugIns"; SCRIPTS_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/Scripts"; JAVA_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/Java"; SYSTEM_EXTENSIONS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Library/SystemExtensions"; // Settings specific to deep bundles (macOS) CONTENTS_FOLDER_PATH_SHALLOW_BUNDLE_NO = "$(WRAPPER_NAME)/Contents"; EXECUTABLE_FOLDER_PATH_SHALLOW_BUNDLE_NO = "$(CONTENTS_FOLDER_PATH)/MacOS"; UNLOCALIZED_RESOURCES_FOLDER_PATH_SHALLOW_BUNDLE_NO = "$(CONTENTS_FOLDER_PATH)/Resources"; // Settings specific to shallow bundles (iOS, DriverKit on any OS) CONTENTS_FOLDER_PATH_SHALLOW_BUNDLE_YES = "$(WRAPPER_NAME)"; EXECUTABLE_FOLDER_PATH_SHALLOW_BUNDLE_YES = "$(CONTENTS_FOLDER_PATH)"; UNLOCALIZED_RESOURCES_FOLDER_PATH_SHALLOW_BUNDLE_YES = "$(CONTENTS_FOLDER_PATH)"; // DriverKit should always use shallow bundles SHALLOW_BUNDLE = "$(SHALLOW_BUNDLE_$(SWIFT_PLATFORM_TARGET_PREFIX))"; SHALLOW_BUNDLE_ = YES; SHALLOW_BUNDLE_macos = NO; SHALLOW_BUNDLE_ios = NO; // for macCatalyst SHALLOW_BUNDLE_driverkit = YES; }; ProductReference = { FileType = wrapper.cfbundle; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Shallow CFBundle wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper.shallow; BasedOn = com.apple.package-type.wrapper; Name = "Wrapper (Shallow)"; Description = "Shallow Wrapper"; DefaultBuildSettings = { SHALLOW_BUNDLE = YES; }; ProductReference = { FileType = wrapper.cfbundle; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Application wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper.application; BasedOn = com.apple.package-type.wrapper; Name = "Application Wrapper"; Description = "Application Wrapper"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "APPL"; GENERATE_PKGINFO_FILE = YES; }; ProductReference = { FileType = wrapper.application; Name = "$(WRAPPER_NAME)"; IsLaunchable = YES; }; }, // Shallow Application wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper.application.shallow; BasedOn = com.apple.package-type.wrapper.shallow; Name = "Application Wrapper (Shallow)"; Description = "Shallow Application Wrapper"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "APPL"; GENERATE_PKGINFO_FILE = YES; SHALLOW_BUNDLE = YES; }; ProductReference = { FileType = wrapper.application; Name = "$(WRAPPER_NAME)"; IsLaunchable = YES; }; }, // System extension wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper.system-extension; BasedOn = com.apple.package-type.wrapper; Name = "System Extension Wrapper"; Description = "System Extension Wrapper"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "SYSX"; }; ProductReference = { FileType = wrapper.system-extension; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Driver extension wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper.driver-extension; BasedOn = com.apple.package-type.wrapper.system-extension; Name = "Driver Extension Wrapper"; Description = "Driver Extension Wrapper"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "DEXT"; }; ProductReference = { FileType = wrapper.driver-extension; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Kernel extension wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper.kernel-extension; BasedOn = com.apple.package-type.wrapper; Name = "Kernel Extension Wrapper"; Description = "Kernel Extension Wrapper"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "KEXT"; PUBLIC_HEADERS_FOLDER_PATH = "$(KEXT_FRAMEWORK)/Contents/Headers/$(KEXT_FAMILY_NAME)"; PRIVATE_HEADERS_FOLDER_PATH = "$(KEXT_FRAMEWORK)/Contents/PrivateHeaders/$(KEXT_FAMILY_NAME)"; }; ProductReference = { FileType = wrapper.cfbundle; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Shallow Kernel extension wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper.kernel-extension.shallow; BasedOn = com.apple.package-type.wrapper.shallow; Name = "Kernel Extension Wrapper (Shallow)"; Description = "Shallow Kernel Extension Wrapper"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "KEXT"; PUBLIC_HEADERS_FOLDER_PATH = "$(KEXT_FRAMEWORK)/Contents/Headers/$(KEXT_FAMILY_NAME)"; PRIVATE_HEADERS_FOLDER_PATH = "$(KEXT_FRAMEWORK)/Contents/PrivateHeaders/$(KEXT_FAMILY_NAME)"; SHALLOW_BUNDLE = YES; }; ProductReference = { FileType = wrapper.cfbundle; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Framework wrapper { Type = PackageType; Identifier = com.apple.package-type.wrapper.framework; BasedOn = com.apple.package-type.wrapper; Name = "Framework Wrapper"; Description = "Framework wrapper"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "FMWK"; WRAPPER_SUFFIX = ".framework"; VERSIONS_FOLDER_PATH = "$(VERSIONS_FOLDER_PATH_SHALLOW_BUNDLE_$(SHALLOW_BUNDLE))"; CURRENT_VERSION = "Current"; INFOPLIST_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/Info.plist"; PKGINFO_PATH = "$(WRAPPER_NAME)/PkgInfo"; VERSIONPLIST_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/version.plist"; EXECUTABLES_FOLDER_PATH = "$(LOCALIZED_RESOURCES_FOLDER_PATH)"; // Not the same as EXECUTABLE_FOLDER_PATH SHARED_SUPPORT_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)"; CODESIGNING_FOLDER_PATH = "$(TARGET_BUILD_DIR)/$(CONTENTS_FOLDER_PATH)"; // Settings specific to deep bundles (macOS) VERSIONS_FOLDER_PATH_SHALLOW_BUNDLE_NO = "$(WRAPPER_NAME)/Versions"; CONTENTS_FOLDER_PATH_SHALLOW_BUNDLE_NO = "$(VERSIONS_FOLDER_PATH)/$(FRAMEWORK_VERSION)"; EXECUTABLE_FOLDER_PATH_SHALLOW_BUNDLE_NO = "$(CONTENTS_FOLDER_PATH)"; // Settings specific to shallow bundles (iOS, DriverKit on any OS) VERSIONS_FOLDER_PATH_SHALLOW_BUNDLE_YES = "$(WRAPPER_NAME)"; }; ProductReference = { FileType = wrapper.framework; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Static framework wrapper (like a framework, except that it contains a libX.a instead of a dylib) { Type = PackageType; Identifier = com.apple.package-type.wrapper.framework.static; Name = "Mach-O Static Framework"; Description = "Mach-O static framework"; BasedOn = com.apple.package-type.wrapper.framework; DefaultBuildSettings = { }; ProductReference = { FileType = wrapper.framework.static; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Shallow Framework Package { Type = PackageType; Identifier = com.apple.package-type.wrapper.framework.shallow; Name = "Shallow Framework Wrapper"; Description = "Shallow framework wrapper"; BasedOn = com.apple.package-type.wrapper.framework; DefaultBuildSettings = { SHALLOW_BUNDLE = YES; }; ProductReference = { FileType = wrapper.framework; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Unit Test Bundle wrapper { Type = PackageType; Identifier = com.apple.package-type.bundle.unit-test; BasedOn = com.apple.package-type.wrapper; Name = "Unit Test Bundle"; Description = "Unit Test Bundle"; DefaultBuildSettings = { WRAPPER_SUFFIX = "xctest"; }; ProductReference = { FileType = wrapper.cfbundle; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Legacy OCUnit Test Bundle wrapper { Type = PackageType; Identifier = com.apple.package-type.bundle.ocunit-test; BasedOn = com.apple.package-type.wrapper; Name = "OCUnit Test Bundle"; Description = "OCUnit Test Bundle"; DefaultBuildSettings = { WRAPPER_SUFFIX = "octest"; }; ProductReference = { FileType = wrapper.cfbundle; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // In-app Purchase Content wrapper { Type = PackageType; Identifier = com.apple.package-type.in-app-purchase-content; BasedOn = com.apple.package-type.wrapper; Name = "In-App Purchase Content"; Description = "In-App Purchase Content"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = ""; WRAPPER_SUFFIX = ""; EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; INFOPLIST_PATH = "$(WRAPPER_NAME)/ContentInfo.plist"; INFOSTRINGS_PATH = "$(LOCALIZED_RESOURCES_FOLDER_PATH)/ContentInfo.strings"; PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; PRIVATE_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; EXECUTABLES_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; FRAMEWORKS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; SHARED_FRAMEWORKS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; SHARED_SUPPORT_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; UNLOCALIZED_RESOURCES_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; LOCALIZED_RESOURCES_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/$(DEVELOPMENT_LANGUAGE).lproj"; DOCUMENTATION_FOLDER_PATH = "$(LOCALIZED_RESOURCES_FOLDER_PATH)"; MODULES_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; PLUGINS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)"; SCRIPTS_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)"; JAVA_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)"; }; ProductReference = { FileType = folder; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // XPC Service wrapper { Type = PackageType; Identifier = com.apple.package-type.xpc-service; BasedOn = com.apple.package-type.wrapper; Name = "XPC Service"; Description = "XPC Service"; DefaultBuildSettings = { PRODUCT_BUNDLE_PACKAGE_TYPE = "XPC!"; WRAPPER_SUFFIX = ".xpc"; }; ProductReference = { FileType = wrapper.xpc-service; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // PlugInKit PlugIn wrapper { Type = PackageType; Identifier = com.apple.package-type.pluginkit-plugin; BasedOn = com.apple.package-type.xpc-service; Name = "PlugInKit PlugIn"; Description = "PlugInKit PlugIn"; DefaultBuildSettings = { WRAPPER_SUFFIX = ".pluginkit"; }; ProductReference = { FileType = wrapper.app-extension; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // App Extension wrapper { Type = PackageType; Identifier = com.apple.package-type.app-extension; BasedOn = com.apple.package-type.pluginkit-plugin; Name = "App Extension"; Description = "App Extension"; DefaultBuildSettings = { WRAPPER_SUFFIX = ".appex"; }; ProductReference = { FileType = wrapper.app-extension; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Spotlight Importer wrapper { Type = PackageType; Identifier = com.apple.package-type.spotlight-importer; BasedOn = com.apple.package-type.wrapper; Name = "Spotlight Importer"; Description = "Spotlight Importer"; DefaultBuildSettings = { }; ProductReference = { FileType = wrapper.spotlight-importer; Name = "$(WRAPPER_NAME)"; IsLaunchable = NO; }; }, // Jar file { Type = PackageType; Identifier = com.apple.package-type.jarfile; Name = "Jar File"; Description = "Jar file"; DefaultBuildSettings = { EXECUTABLE_PREFIX = ""; EXECUTABLE_SUFFIX = ".jar"; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; JAVA_ARCHIVE_CLASSES = YES; JAVA_MAKE_ZIPFILE = NO; }; ProductReference = { FileType = archive.jar; Name = "$(EXECUTABLE_NAME)"; IsLaunchable = NO; }; }, // Zip file { Type = PackageType; Identifier = com.apple.package-type.zipfile; Name = "Zip File"; Description = "Zip file"; DefaultBuildSettings = { EXECUTABLE_PREFIX = ""; EXECUTABLE_SUFFIX = ".zip"; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; JAVA_ARCHIVE_CLASSES = YES; JAVA_MAKE_ZIPFILE = YES; }; ProductReference = { FileType = archive.zip; Name = "$(EXECUTABLE_NAME)"; IsLaunchable = NO; }; }, // Java class folder { Type = PackageType; Identifier = com.apple.package-type.javaclassfolder; Name = "Class Folder"; Description = "Class folder"; DefaultBuildSettings = { EXECUTABLE_PREFIX = ""; EXECUTABLE_SUFFIX = ""; EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_SUFFIX)"; EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; JAVA_ARCHIVE_CLASSES = NO; }; ProductReference = { FileType = wrapper.java-classfolder; Name = "$(EXECUTABLE_NAME)"; IsLaunchable = NO; }; }, )