Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AG/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ After making change to Sources, run `update.sh` to update the xcframework.

@_transparent in swiftinterface file is needed since all extension symbol is stripped on this release.

### Updating the template.swiftinterface and Headers
### Update AttributeGraph

See https://github.com/OpenSwiftUIProject/OpenAttributeGraph/blob/main/Scripts/gen_ag_template.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
// RBBase.h
// RenderBox

#ifndef RBBase_h
#define RBBase_h
#pragma once

#if DEBUG
#define RB_ASSERTION
Expand Down Expand Up @@ -44,11 +43,10 @@
#endif

#include <CoreFoundation/CoreFoundation.h>
#include <TargetConditionals.h>
#ifndef TARGET_OS_DARWIN
#define TARGET_OS_DARWIN TARGET_OS_MAC
#endif
#include <stdint.h>
#include <stdbool.h>
#include "RBSwiftSupport.h"
#include "RBTargetConditionals.h"

#define RB_ENUM CF_ENUM
#define RB_CLOSED_ENUM CF_CLOSED_ENUM
Expand All @@ -62,10 +60,9 @@
#define RB_EXPORT CF_EXPORT
#define RB_BRIDGED_TYPE CF_BRIDGED_TYPE

#if TARGET_OS_DARWIN && __OBJC__
#define RB_OBJC_FOUNDATION 1
#if RB_TARGET_OS_DARWIN && __RBJC__
#define RB_RBJC_FOUNDATION 1
#else
#define RB_OBJC_FOUNDATION 0
#endif /* TARGET_OS_DARWIN && __OBJC__ */
#define RB_RBJC_FOUNDATION 0
#endif /* TARGET_OS_DARWIN && __RBJC__ */

#endif /* RBBase_h */
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
// RBPath.h
// RenderBox

#ifndef RBPath_h
#define RBPath_h
#pragma once

#include "RBBase.h"
#include <RenderBox/RBBase.h>

RB_ASSUME_NONNULL_BEGIN

Expand All @@ -32,4 +31,3 @@ RB_EXTERN_C_END

RB_ASSUME_NONNULL_END

#endif /* RBPath_h */
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@
// RBPathStorage.h
// RenderBox

#ifndef RBPathStorage_h
#define RBPathStorage_h
#pragma once

#include "RBBase.h"
#include "RBPath.h"
#include <RenderBox/RBBase.h>
#include <RenderBox/RBPath.h>

#if RB_TARGET_OS_DARWIN
#include <CoreGraphics/CoreGraphics.h>
Expand Down Expand Up @@ -62,4 +61,3 @@ RB_EXTERN_C_END

RB_ASSUME_NONNULL_END

#endif /* RBPathStorage_h */
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
// RBSwiftSupport.h
// RenderBox

#ifndef RBSwiftSupport_h
#define RBSwiftSupport_h
#pragma once

#if __has_attribute(swift_name)
#define RB_SWIFT_NAME(_name) __attribute__((swift_name(#_name)))
Expand Down Expand Up @@ -42,4 +41,3 @@
#define RB_SWIFT_INDIRECT_RESULT
#endif

#endif /* RBSwiftSupport_h */
Original file line number Diff line number Diff line change
@@ -0,0 +1,275 @@
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//

/*
File: RBTargetConditionals.h

Contains: Autoconfiguration of TARGET_ conditionals for Mac OS X and iPhone

Note: OpenSwiftUITargetConditionals.h in 3.4 Universal Interfaces works
with all compilers. This header only recognizes compilers
known to run on Mac OS X.

*/

#pragma once
/****************************************************************************************************

TARGET_CPU_*
These conditionals specify which microprocessor instruction set is being
generated. At most one of these is true, the rest are false.

TARGET_CPU_PPC - Compiler is generating PowerPC instructions for 32-bit mode
TARGET_CPU_PPC64 - Compiler is generating PowerPC instructions for 64-bit mode
TARGET_CPU_68K - Compiler is generating 680x0 instructions
TARGET_CPU_X86 - Compiler is generating x86 instructions
TARGET_CPU_ARM - Compiler is generating ARM instructions
TARGET_CPU_MIPS - Compiler is generating MIPS instructions
TARGET_CPU_SPARC - Compiler is generating Sparc instructions
TARGET_CPU_ALPHA - Compiler is generating Dec Alpha instructions
TARGET_CPU_WASM32 - Compiler is generating WebAssembly instructions for 32-bit mode


TARGET_OS_*
These conditionals specify in which Operating System the generated code will
run. Indention is used to show which conditionals are evolutionary subclasses.

The MAC/WIN32/UNIX conditionals are mutually exclusive.
The IOS/TV/WATCH conditionals are mutually exclusive.


TARGET_OS_WIN32 - Generated code will run under 32-bit Windows
TARGET_OS_UNIX - Generated code will run under some Unix (not OSX)
TARGET_OS_CYGWIN - Generated code will run under 64-bit Cygwin
TARGET_OS_WASI - Generated code will run under WebAssembly System Interface
TARGET_OS_MAC - Generated code will run under Mac OS X variant
TARGET_OS_IPHONE - Generated code for firmware, devices, or simulator
TARGET_OS_IOS - Generated code will run under iOS
TARGET_OS_TV - Generated code will run under Apple TV OS
TARGET_OS_WATCH - Generated code will run under Apple Watch OS
TARGET_OS_SIMULATOR - Generated code will run under a simulator
TARGET_OS_EMBEDDED - Generated code for firmware

TARGET_IPHONE_SIMULATOR - DEPRECATED: Same as TARGET_OS_SIMULATOR
TARGET_OS_NANO - DEPRECATED: Same as TARGET_OS_WATCH

TARGET_RT_*
These conditionals specify in which runtime the generated code will
run. This is needed when the OS and CPU support more than one runtime
(e.g. Mac OS X supports CFM and mach-o).

TARGET_RT_LITTLE_ENDIAN - Generated code uses little endian format for integers
TARGET_RT_BIG_ENDIAN - Generated code uses big endian format for integers
TARGET_RT_64_BIT - Generated code uses 64-bit pointers
TARGET_RT_MAC_CFM - TARGET_OS_MAC is true and CFM68K or PowerPC CFM (TVectors) are used
TARGET_RT_MAC_MACHO - TARGET_OS_MAC is true and Mach-O/dlyd runtime is used


****************************************************************************************************/

#if __APPLE__
#define RB_TARGET_OS_DARWIN 1
#define RB_TARGET_OS_LINUX 0
#define RB_TARGET_OS_WINDOWS 0
#define RB_TARGET_OS_BSD 0
#define RB_TARGET_OS_ANDROID 0
#define RB_TARGET_OS_CYGWIN 0
#define RB_TARGET_OS_WASI 0
#elif __ANDROID__
#define RB_TARGET_OS_DARWIN 0
#define RB_TARGET_OS_LINUX 1
#define RB_TARGET_OS_WINDOWS 0
#define RB_TARGET_OS_BSD 0
#define RB_TARGET_OS_ANDROID 1
#define RB_TARGET_OS_CYGWIN 0
#define RB_TARGET_OS_WASI 0
#elif __linux__
#define RB_TARGET_OS_DARWIN 0
#define RB_TARGET_OS_LINUX 1
#define RB_TARGET_OS_WINDOWS 0
#define RB_TARGET_OS_BSD 0
#define RB_TARGET_OS_ANDROID 0
#define RB_TARGET_OS_CYGWIN 0
#define RB_TARGET_OS_WASI 0
#elif __CYGWIN__
#define RB_TARGET_OS_DARWIN 0
#define RB_TARGET_OS_LINUX 1
#define RB_TARGET_OS_WINDOWS 0
#define RB_TARGET_OS_BSD 0
#define RB_TARGET_OS_ANDROID 0
#define RB_TARGET_OS_CYGWIN 1
#define RB_TARGET_OS_WASI 0
#elif _WIN32 || _WIN64
#define RB_TARGET_OS_DARWIN 0
#define RB_TARGET_OS_LINUX 0
#define RB_TARGET_OS_WINDOWS 1
#define RB_TARGET_OS_BSD 0
#define RB_TARGET_OS_ANDROID 0
#define RB_TARGET_OS_CYGWIN 0
#define RB_TARGET_OS_WASI 0
#elif __unix__
#define RB_TARGET_OS_DARWIN 0
#define RB_TARGET_OS_LINUX 0
#define RB_TARGET_OS_WINDOWS 0
#define RB_TARGET_OS_BSD 1
#define RB_TARGET_OS_ANDROID 0
#define RB_TARGET_OS_CYGWIN 0
#define RB_TARGET_OS_WASI 0
#elif __wasi__
#define RB_TARGET_OS_DARWIN 0
#define RB_TARGET_OS_LINUX 0
#define RB_TARGET_OS_WINDOWS 0
#define RB_TARGET_OS_BSD 0
#define RB_TARGET_OS_ANDROID 0
#define RB_TARGET_OS_CYGWIN 0
#define RB_TARGET_OS_WASI 1
#else
#error unknown operating system
#endif

#define RB_TARGET_OS_WIN32 RB_TARGET_OS_WINDOWS
#define RB_TARGET_OS_MAC RB_TARGET_OS_DARWIN
#define RB_TARGET_OS_OSX RB_TARGET_OS_DARWIN

// iOS, watchOS, and tvOS are not supported
#define RB_TARGET_OS_IPHONE 0
#define RB_TARGET_OS_IOS 0
#define RB_TARGET_OS_WATCH 0
#define RB_TARGET_OS_TV 0

#if __x86_64__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 1
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 0
#elif __arm64__ || __aarch64__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 1
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 0
#elif __mips64__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 1
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 0
#elif __powerpc64__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 1
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 0
#elif __i386__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 1
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 0
#elif __arm__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 1
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 0
#elif __mips__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 1
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 0
#elif __powerpc__
#define RB_TARGET_CPU_PPC 1
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 0
#elif __s390x__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 1
#define RB_TARGET_CPU_WASM32 0
#elif __wasm32__
#define RB_TARGET_CPU_PPC 0
#define RB_TARGET_CPU_PPC64 0
#define RB_TARGET_CPU_X86 0
#define RB_TARGET_CPU_X86_64 0
#define RB_TARGET_CPU_ARM 0
#define RB_TARGET_CPU_ARM64 0
#define RB_TARGET_CPU_MIPS 0
#define RB_TARGET_CPU_MIPS64 0
#define RB_TARGET_CPU_S390X 0
#define RB_TARGET_CPU_WASM32 1
#else
#error unknown architecture
#endif

#if __LITTLE_ENDIAN__
#define RB_TARGET_RT_LITTLE_ENDIAN 1
#define RB_TARGET_RT_BIG_ENDIAN 0
#elif __BIG_ENDIAN__
#define RB_TARGET_RT_LITTLE_ENDIAN 0
#define RB_TARGET_RT_BIG_ENDIAN 1
#else
#error unknown endian
#endif

#if __LP64__ || __LLP64__ || __POINTER_WIDTH__-0 == 64
#define RB_TARGET_RT_64_BIT 1
#else
#define RB_TARGET_RT_64_BIT 0
#endif

Loading